class LassoRegression[MatT <: MatriD, VecT <: VectoD] extends Predictor with Error
The LassoRegression
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 = x_pinv * y [ alternative: b = solve (y) ]
where 'x_pinv' is the pseudo-inverse. Three techniques are provided:
'QR' // QR Factorization: slower, more stable (default) 'Cholesky' // Cholesky Factorization: faster, less stable (reasonable choice) 'Inverse' // Inverse/Gaussian Elimination, classical textbook technique (outdated)
- See also
see.stanford.edu/materials/lsoeldsee263/05-ls.pdf
- Alphabetic
- By Inheritance
- LassoRegression
- Error
- Predictor
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
LassoRegression(x: MatT, y: VecT, λ0: Double = 0.01, technique: RegTechnique = QR)
- x
the input/design m-by-n matrix augmented with a first column of ones
- y
the response vector
- λ0
the initial vale for the regularization weight
- technique
the technique used to solve for b in x.t*x*b = x.t*y
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
val
b: VectoD
- Attributes
- protected
- Definition Classes
- Predictor
-
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
-
def
diagnose(yy: VectoD): Unit
Compute diagostics for the regression model.
Compute diagostics for the regression model.
- yy
the response vector
- Definition Classes
- LassoRegression → 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
-
def
f(yy: VectoD)(b: VectorD): Double
Compute the sum of squares error + λ * sum of the magnitude of coefficients.
Compute the sum of squares error + λ * sum of the magnitude of coefficients. This is the objective function to be minimized.
- yy
the response vector
- b
the vector of coefficients/parameters
-
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
- LassoRegression → Predictor
-
def
fitLabels: Seq[String]
Return the labels for the fit.
Return the labels for the fit.
- Definition Classes
- LassoRegression → 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
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
-
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
- LassoRegression → 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
-
val
rSq: Double
- Attributes
- protected
- Definition Classes
- Predictor
-
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
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
- LassoRegression → 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
y = b dot x + e = [b_0, ... b_k] dot [1, x_1 , ... x_k] + e
regularized by the sum of magnitudes of the coefficients.
- yy
the response vector
- Definition Classes
- LassoRegression → Predictor
- See also
scalation.minima.LassoAdmm
pdfs.semanticscholar.org/969f/077a3a56105a926a3b0c67077a57f3da3ddf.pdf
-
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( ... )