# Class LMProblem

java.lang.Object
dev.nm.stat.regression.linear.LMProblem
Direct Known Subclasses:
ConstrainedLASSOProblem, GLMProblem, LARSProblem, LogisticProblem, UnconstrainedLASSOProblem

public class LMProblem extends Object
This is a linear regression or a linear model (LM) problem. Linear regression models the relationship between a scalar variable y and one or more variables denoted as X. In linear regression, models of the unknown parameters are estimated from the data using linear functions. Most commonly, linear regression refers to a model in which the conditional mean of y given the value of y is an affine function of y.
• ## Constructor Details

• ### LMProblem

public LMProblem(Vector y, Matrix X, boolean intercept, Vector weights)
Constructs a linear regression problem.
Parameters:
y - the dependent variables
X - the factors
intercept - true if to additionally add an intercept term to the linear regression
weights - the weights assigned to each observation
• ### LMProblem

public LMProblem(Vector y, Matrix X, Vector weights)
Constructs a linear regression problem, assuming a constant term (the intercept).
Parameters:
y - the dependent variables
X - the factors
weights - the weights assigned to each observation
• ### LMProblem

public LMProblem(Vector y, Matrix X, boolean intercept)
Constructs a linear regression problem, assuming equal weights to all observations.
Parameters:
y - the dependent variables
X - the factors
intercept - true if to additionally add an intercept term to the linear regression
• ### LMProblem

public LMProblem(Vector y, Matrix X)
Constructs a linear regression problem, assuming
• a constant term (the intercept)
• equal weights assigned to all observations
Parameters:
y - the dependent variables
X - the factors
• ### LMProblem

public LMProblem(LMProblem that)
Copy constructor.
Parameters:
that - another LMProblem
• ## Method Details

• ### nObs

public int nObs()
Gets the number of observations.
Returns:
the number of observations
• ### nFactors

public int nFactors()
Gets the number of factors, including the intercept if any.
Returns:
the number of factors, including the intercept if any
• ### y

public ImmutableVector y()
Gets the response vector, the regressands, the dependent variables.
Returns:
the response vector
• ### wy

public ImmutableVector wy()
Gets the weighted response vector.
Returns:
the weighted response vector
• ### A

public ImmutableMatrix A()
Gets the regressor matrix.
Returns:
the regressor matrix
• ### wA

public ImmutableMatrix wA()
Gets the weighted regressor matrix.
Returns:
the weighted regressor matrix
• ### intercept

public boolean intercept()
Checks if an intercept term is added to the linear regression.
Returns:
true if an intercept term is added
• ### weights

public ImmutableVector weights()
Gets the weights assigned to each observation.
Returns:
the weights assigned to each observation
• ### nExogenousFactors

public int nExogenousFactors()
Gets the number of factors, excluding the intercept.
Returns:
the number of factors, excluding the intercept
• ### X

public ImmutableMatrix X()
Gets the factor matrix.

Note: the automatically appended intercept is not included.

Returns:
the factor matrix.
• ### invOfwAtwA

public ImmutableMatrix invOfwAtwA()
(wA' * wA)-1
Returns:
(wA' * wA)-1
• ### checkInputs

protected void checkInputs()
Checks whether this LMProblem instance is valid.
Throws:
IllegalArgumentException - if this problem is invalid