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. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val b: VectoD
    Attributes
    protected
    Definition Classes
    Predictor
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def coefficient: VectoD

    Return the vector of coefficient/parameter values.

    Return the vector of coefficient/parameter values.

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

    Compute diagostics for the regression model.

    Compute diagostics for the regression model.

    yy

    the response vector

    Definition Classes
    LassoRegressionPredictor
  9. val e: VectoD
    Attributes
    protected
    Definition Classes
    Predictor
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. 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

  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def fit: VectorD

    Return the quality of fit.

    Return the quality of fit.

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

    Return the labels for the fit.

    Return the labels for the fit.

    Definition Classes
    LassoRegressionPredictor
  16. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. val mae: Double
    Attributes
    protected
    Definition Classes
    Predictor
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  24. 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

  25. 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
  26. 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
  27. val rSq: Double
    Attributes
    protected
    Definition Classes
    Predictor
  28. def report(): Unit

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

  29. def residual: VectoD

    Return the vector of residuals/errors.

    Return the vector of residuals/errors.

    Definition Classes
    Predictor
  30. val rmse: Double
    Attributes
    protected
    Definition Classes
    Predictor
  31. val sse: Double
    Attributes
    protected
    Definition Classes
    Predictor
  32. val ssr: Double
    Attributes
    protected
    Definition Classes
    Predictor
  33. val sst: Double
    Attributes
    protected
    Definition Classes
    Predictor
  34. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  35. def toString(): String
    Definition Classes
    AnyRef → Any
  36. 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
  37. 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

  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Error

Inherited from Predictor

Inherited from AnyRef

Inherited from Any

Ungrouped