|
||||||||||
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
public abstract class AbstractMultipleLinearRegression
Abstract base class for implementations of MultipleLinearRegression.
Field Summary | |
---|---|
protected RealMatrix |
X
X sample data. |
protected RealVector |
Y
Y sample data. |
Constructor Summary | |
---|---|
AbstractMultipleLinearRegression()
|
Method Summary | |
---|---|
protected abstract RealVector |
calculateBeta()
Calculates the beta of multiple linear regression in matrix notation. |
protected abstract RealMatrix |
calculateBetaVariance()
Calculates the beta variance of multiple linear regression in matrix notation. |
protected double |
calculateErrorVariance()
Calculates the variance of the error term. |
protected RealVector |
calculateResiduals()
Calculates the residuals of multiple linear regression in matrix notation. |
protected double |
calculateYVariance()
Calculates the variance of the y values. |
double |
estimateErrorVariance()
Estimates the variance of the error. |
double |
estimateRegressandVariance()
Returns the variance of the regressand, ie Var(y). |
double[] |
estimateRegressionParameters()
Estimates the regression parameters b. |
double[] |
estimateRegressionParametersStandardErrors()
Returns the standard errors of the regression parameters. |
double[][] |
estimateRegressionParametersVariance()
Estimates the variance of the regression parameters, ie Var(b). |
double |
estimateRegressionStandardError()
Estimates the standard error of the regression. |
double[] |
estimateResiduals()
Estimates the residuals, ie u = y - X*b. |
boolean |
isNoIntercept()
|
void |
newSampleData(double[] data,
int nobs,
int nvars)
Loads model x and y sample data from a flat input array, overriding any previous sample. |
protected void |
newXSampleData(double[][] x)
Loads new x sample data, overriding any previous data. |
protected void |
newYSampleData(double[] y)
Loads new y sample data, overriding any previous data. |
void |
setNoIntercept(boolean noIntercept)
|
protected void |
validateCovarianceData(double[][] x,
double[][] covariance)
Validates that the x data and covariance matrix have the same number of rows and that the covariance matrix is square. |
protected void |
validateSampleData(double[][] x,
double[] y)
Validates sample data. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected RealMatrix X
protected RealVector Y
Constructor Detail |
---|
public AbstractMultipleLinearRegression()
Method Detail |
---|
public boolean isNoIntercept()
public void setNoIntercept(boolean noIntercept)
noIntercept
- true means the model is to be estimated without an intercept termpublic void newSampleData(double[] data, int nobs, int nvars)
Loads model x and y sample data from a flat input array, overriding any previous sample.
Assumes that rows are concatenated with y values first in each row. For example, an input
data
array containing the sequence of values (1, 2, 3, 4, 5, 6, 7, 8, 9) with
nobs = 3
and nvars = 2
creates a regression dataset with two
independent variables, as below:
y x[0] x[1] -------------- 1 2 3 4 5 6 7 8 9
Note that there is no need to add an initial unitary column (column of 1's) when
specifying a model including an intercept term. If isNoIntercept()
is true
,
the X matrix will be created without an initial column of "1"s; otherwise this column will
be added.
Throws IllegalArgumentException if any of the following preconditions fail:
data
cannot be nulldata.length = nobs * (nvars + 1)
nobs > nvars
data
- input data arraynobs
- number of observations (rows)nvars
- number of independent variables (columns, not counting y)
IllegalArgumentException
- if the preconditions are not metprotected void newYSampleData(double[] y)
y
- the array representing the y sample
IllegalArgumentException
- if y is null or emptyprotected void newXSampleData(double[][] x)
Loads new x sample data, overriding any previous data.
The inputx
array should have one row for each sample
observation, with columns corresponding to independent variables.
For example, if
x = new double[][] {{1, 2}, {3, 4}, {5, 6}}
then setXSampleData(x)
results in a model with two independent
variables and 3 observations:
x[0] x[1] ---------- 1 2 3 4 5 6
Note that there is no need to add an initial unitary column (column of 1's) when specifying a model including an intercept term.
x
- the rectangular array representing the x sample
IllegalArgumentException
- if x is null, empty or not rectangularprotected void validateSampleData(double[][] x, double[] y)
x
- the [n,k] array representing the x datay
- the [n,1] array representing the y data
IllegalArgumentException
- if any of the checks failprotected void validateCovarianceData(double[][] x, double[][] covariance)
x
- the [n,k] array representing the x samplecovariance
- the [n,n] array representing the covariance matrix
IllegalArgumentException
- if the number of rows in x is not equal
to the number of rows in covariance or covariance is not square.public double[] estimateRegressionParameters()
estimateRegressionParameters
in interface MultipleLinearRegression
public double[] estimateResiduals()
estimateResiduals
in interface MultipleLinearRegression
public double[][] estimateRegressionParametersVariance()
estimateRegressionParametersVariance
in interface MultipleLinearRegression
public double[] estimateRegressionParametersStandardErrors()
estimateRegressionParametersStandardErrors
in interface MultipleLinearRegression
public double estimateRegressandVariance()
estimateRegressandVariance
in interface MultipleLinearRegression
public double estimateErrorVariance()
public double estimateRegressionStandardError()
protected abstract RealVector calculateBeta()
protected abstract RealMatrix calculateBetaVariance()
protected double calculateYVariance()
protected double calculateErrorVariance()
Calculates the variance of the error term.
Uses the formulavar(u) = u · u / (n - k)where n and k are the row and column dimensions of the design matrix X.
protected RealVector calculateResiduals()
u = y - X * b
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |