|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math.stat.regression.AbstractMultipleLinearRegression
org.apache.commons.math.stat.regression.OLSMultipleLinearRegression
public class OLSMultipleLinearRegression
Implements ordinary least squares (OLS) to estimate the parameters of a multiple linear regression model.
OLS assumes the covariance matrix of the error to be diagonal and with equal variance.
u ~ N(0, σ2I)
The regression coefficients, b, satisfy the normal equations:
XT X b = XT y
To solve the normal equations, this implementation uses QR decomposition
of the X matrix. (See QRDecompositionImpl for details on the
decomposition algorithm.)
XTX b = XT y
(QR)T (QR) b = (QR)Ty
RT (QTQ) R b = RT QT y
RT R b = RT QT y
(RT)-1 RT R b = (RT)-1 RT QT y
R b = QT y
| Field Summary |
|---|
| Fields inherited from class org.apache.commons.math.stat.regression.AbstractMultipleLinearRegression |
|---|
X, Y |
| Constructor Summary | |
|---|---|
OLSMultipleLinearRegression()
|
|
| Method Summary | |
|---|---|
protected RealVector |
calculateBeta()
Calculates regression coefficients using OLS. |
protected RealMatrix |
calculateBetaVariance()
Calculates the variance on the beta by OLS. |
RealMatrix |
calculateHat()
Compute the "hat" matrix. |
protected double |
calculateYVariance()
Calculates the variance on the Y by OLS. |
void |
newSampleData(double[] y,
double[][] x)
Loads model x and y sample data, overriding any previous sample. |
void |
newSampleData(double[] data,
int nobs,
int nvars)
Loads model x and y sample data from a flat array of data, overriding any previous sample. |
protected void |
newXSampleData(double[][] x)
Loads new x sample data, overriding any previous sample |
| Methods inherited from class org.apache.commons.math.stat.regression.AbstractMultipleLinearRegression |
|---|
calculateResiduals, estimateRegressandVariance, estimateRegressionParameters, estimateRegressionParametersStandardErrors, estimateRegressionParametersVariance, estimateResiduals, newYSampleData, validateCovarianceData, validateSampleData |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public OLSMultipleLinearRegression()
| Method Detail |
|---|
public void newSampleData(double[] y,
double[][] x)
y - the [n,1] array representing the y samplex - the [n,k] array representing the x sample
IllegalArgumentException - if the x and y array data are not
compatible for the regression
public void newSampleData(double[] data,
int nobs,
int nvars)
newSampleData in class AbstractMultipleLinearRegressiondata - input data arraynobs - number of observations (rows)nvars - number of independent variables (columns, not counting y)public RealMatrix calculateHat()
Compute the "hat" matrix.
The hat matrix is defined in terms of the design matrix X by X(XTX)-1XT
The implementation here uses the QR decomposition to compute the hat matrix as Q IpQT where Ip is the p-dimensional identity matrix augmented by 0's. This computational formula is from "The Hat Matrix in Regression and ANOVA", David C. Hoaglin and Roy E. Welsch, The American Statistician, Vol. 32, No. 1 (Feb., 1978), pp. 17-22.
protected void newXSampleData(double[][] x)
newXSampleData in class AbstractMultipleLinearRegressionx - the [n,k] array representing the x sampleprotected RealVector calculateBeta()
calculateBeta in class AbstractMultipleLinearRegressionprotected RealMatrix calculateBetaVariance()
Calculates the variance on the beta by OLS.
Var(b) = (XTX)-1
Uses QR decomposition to reduce (XTX)-1 to (RTR)-1, with only the top p rows of R included, where p = the length of the beta vector.
calculateBetaVariance in class AbstractMultipleLinearRegressionprotected double calculateYVariance()
Calculates the variance on the Y by OLS.
Var(y) = Tr(uTu)/(n - k)
calculateYVariance in class AbstractMultipleLinearRegression
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||