Packages

c

scalation.analytics

LassoRegression

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

Linear Supertypes
Error, Predictor, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LassoRegression
  2. Error
  3. Predictor
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. 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

  1. def coefficient: VectoD

    Return the vector of coefficient/parameter values.

    Return the vector of coefficient/parameter values.

    Definition Classes
    Predictor
  2. def diagnose(yy: VectoD): Unit

    Compute diagostics for the regression model.

    Compute diagostics for the regression model.

    yy

    the response vector

    Definition Classes
    LassoRegressionPredictor
  3. 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

  4. def fit: VectorD

    Return the quality of fit.

    Return the quality of fit.

    Definition Classes
    LassoRegressionPredictor
  5. def fitLabels: Seq[String]

    Return the labels for the fit.

    Return the labels for the fit.

    Definition Classes
    LassoRegressionPredictor
  6. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  7. 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

  8. 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
    LassoRegressionPredictor
  9. 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
  10. def report(): Unit

    Print results and diagnostics for each predictor 'x_j' and the overall quality of fit.

  11. def residual: VectoD

    Return the vector of residuals/errors.

    Return the vector of residuals/errors.

    Definition Classes
    Predictor
  12. 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
    LassoRegressionPredictor
  13. 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
    LassoRegressionPredictor
    See also

    scalation.minima.LassoAdmm

    pdfs.semanticscholar.org/969f/077a3a56105a926a3b0c67077a57f3da3ddf.pdf