class Regression[MatT <: MatriD, VecT <: VectoD] extends Predictor with Error
The Regression
class supports multiple linear regression. In this case,
'x' is multi-dimensional [1, x_1, ... x_k]. Fit the parameter vector 'b' in
the regression equation
y = b dot x + e = b_0 + b_1 * x_1 + ... b_k * x_k + e
where 'e' represents the residuals (the part not explained by the model). Use Least-Squares (minimizing the residuals) to fit the parameter vector
b = fac.solve (.)
Four factorization techniques are provided:
'QR' // QR Factorization: slower, more stable (default) 'Cholesky' // Cholesky Factorization: faster, less stable (reasonable choice) 'SVD' // Singular Value Decomposition: slowest, most robust 'LU' // LU Factorization: better than Inverse 'Inverse' // Inverse/Gaussian Elimination, classical textbook technique
- See also
en.wikipedia.org/wiki/Degrees_of_freedom_(statistics)
see.stanford.edu/materials/lsoeldsee263/05-ls.pdf Note, not intended for use when the number of degrees of freedom 'df' is negative.
- Alphabetic
- By Inheritance
- Regression
- Error
- Predictor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
Regression(x: MatT, y: VecT, technique: RegTechnique = QR)
- x
the input/data m-by-n matrix (augment with a first column of ones to include intercept in model)
- y
the response n vector
- technique
the technique used to solve for b in x.t*x*b = x.t*y
Type Members
- type Fac_QR = Fac_QR_H[MatT]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
var
aic: Double
- Attributes
- protected
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
b: VectoD
- Attributes
- protected
- Definition Classes
- Predictor
-
def
backElim(): (Int, VectoD, VectorD)
Perform backward elimination to remove the least predictive variable from the model, returning the variable to eliminate, the new parameter vector and the new quality of fit.
-
var
bic: Double
- Attributes
- protected
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
coefficient: VectoD
Return the vector of coefficient/parameter values.
Return the vector of coefficient/parameter values.
- Definition Classes
- Predictor
-
val
df: Int
- Attributes
- protected
-
def
diagnose(yy: VectoD): Unit
Compute diagostics for the regression model.
Compute diagostics for the regression model.
- yy
the response vector
- Definition Classes
- Regression → Predictor
-
val
e: VectoD
- Attributes
- protected
- Definition Classes
- Predictor
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
var
fStat: Double
- Attributes
- protected
-
val
fac: Factorization
- Attributes
- protected
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fit: VectorD
Return the quality of fit.
Return the quality of fit.
- Definition Classes
- Regression → Predictor
-
def
fitLabels: Seq[String]
Return the labels for the fit.
Return the labels for the fit.
- Definition Classes
- Regression → Predictor
-
final
def
flaw(method: String, message: String): Unit
- Definition Classes
- Error
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
k: Int
- Attributes
- protected
-
val
m: Double
- Attributes
- protected
-
val
mae: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
var
p: VectoD
- Attributes
- protected
-
def
predict(z: MatT): VectoD
Predict the value of 'y = f(z)' by evaluating the formula 'y = b dot z', for each row of matrix 'z'.
Predict the value of 'y = f(z)' by evaluating the formula 'y = b dot z', for each row of matrix 'z'.
- z
the new matrix to predict
-
def
predict(z: VectoD): Double
Predict the value of 'y = f(z)' by evaluating the formula 'y = b dot z', e.g., '(b_0, b_1, b_2) dot (1, z_1, z_2)'.
Predict the value of 'y = f(z)' by evaluating the formula 'y = b dot z', e.g., '(b_0, b_1, b_2) dot (1, z_1, z_2)'.
- z
the new vector to predict
- Definition Classes
- Regression → Predictor
-
def
predict(z: VectoI): Double
Given a new discrete data vector z, predict the y-value of f(z).
Given a new discrete data vector z, predict the y-value of f(z).
- z
the vector to use for prediction
- Definition Classes
- Predictor
-
var
rBarSq: Double
- Attributes
- protected
-
val
rSq: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
val
r_df: Double
- Attributes
- protected
-
def
report(): Unit
Print results and diagnostics for each predictor 'x_j' and the overall quality of fit.
-
def
residual: VectoD
Return the vector of residuals/errors.
Return the vector of residuals/errors.
- Definition Classes
- Predictor
-
val
rmse: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
val
sse: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
val
ssr: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
val
sst: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
var
stdErr: VectoD
- Attributes
- protected
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
var
t: VectoD
- Attributes
- protected
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
train(): Unit
Train the predictor by fitting the parameter vector (b-vector) in the multiple regression equation for the response passed into the class 'y'.
Train the predictor by fitting the parameter vector (b-vector) in the multiple regression equation for the response passed into the class 'y'.
- Definition Classes
- Regression → Predictor
-
def
train(yy: VectoD): Unit
Train the predictor by fitting the parameter vector (b-vector) in the multiple regression equation
Train the predictor by fitting the parameter vector (b-vector) in the multiple regression equation
yy = b dot x + e = [b_0, ... b_k] dot [1, x_1 , ... x_k] + e
using the ordinary least squares 'OLS' method.
- yy
the response vector
- Definition Classes
- Regression → Predictor
-
def
vif: VectorD
Compute the Variance Inflation Factor 'VIF' for each variable to test for multi-collinearity by regressing 'xj' against the rest of the variables.
Compute the Variance Inflation Factor 'VIF' for each variable to test for multi-collinearity by regressing 'xj' against the rest of the variables. A VIF over 10 indicates that over 90% of the variance of 'xj' can be predicted from the other variables, so 'xj' is a candidate for removal from the model.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
val
x: MatT
- Attributes
- protected
-
val
y: VecT
- Attributes
- protected