|
JMSLTM Numerical Library 3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.imsl.stat.LinearRegression
Fits a multiple linear regression model with or without an intercept.
If the constructor argument hasIntercept is true, the multiple linear
regression model is
![]()
hasIntercept is false, LinearRegression computes estimates of the regression
coefficients by minimizing the sum of squares of the deviations of the
observed response
from the fitted response
![]()
for the observations. This minimum sum of squares (the error sum of squares) is in the ANOVA output and denoted by
![]()
In addition, the total sum of squares is output in the ANOVA table. For
the case, hasIntercept is true; the total sum of squares is
the sum of squares of the deviations of
from its
mean
![]()
--the so-called corrected total sum of squares; it is denoted by
![]()
For the case hasIntercept is false, the total sum of squares
is the sum of squares of
--the so-called
uncorrected total sum of squares; it is denoted by
![]()
See Draper and Smith (1981) for a good general treatment of the multiple linear regression model, its analysis, and many examples.
In order to compute a least-squares solution, LinearRegression
performs an orthogonal reduction of the matrix of regressors to upper
triangular form. Givens rotations are used to reduce the matrix. This method
has the advantage that the loss of accuracy resulting from forming the
crossproduct matrix used in the normal equations is avoided, while not
requiring the storage of the full matrix of regressors. The method is
described by Lawson and Hanson, pages 207-212.
| Nested Class Summary | |
class |
LinearRegression.CoefficientTTests
CoefficientTTests contains statistics related to the regression coefficients. |
| Constructor Summary | |
LinearRegression(int nVariables,
boolean hasIntercept)
Constructs a new linear regression object. |
|
| Method Summary | |
ANOVA |
getANOVA()
Get an analysis of variance table and related statistics. |
double[] |
getCoefficients()
Returns the regression coefficients. |
LinearRegression.CoefficientTTests |
getCoefficientTTests()
Returns statistics relating to the regression coefficients. |
double[][] |
getR()
Returns a copy of the R matrix. |
int |
getRank()
Returns the rank of the matrix. |
void |
update(double[][] x,
double[] y)
Updates the regression object with a new set of observations. |
void |
update(double[][] x,
double[] y,
double[] w)
Updates the regression object with a new set of observations and weights. |
void |
update(double[] x,
double y)
Updates the regression object with a new observation. |
void |
update(double[] x,
double y,
double w)
Updates the regression object with a new observation and weight. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public LinearRegression(int nVariables,
boolean hasIntercept)
nVariables - int number of variables in the
regressionhasIntercept - int boolean which indicates
whether or not an intercept is in this regression
model| Method Detail |
public void update(double[] x,
double y)
x - a double array containing the independent
(explanatory) variables. Its length must be equal to
the number of variables set in the constructor.y - a double representing the dependent (response)
variable
public void update(double[] x,
double y,
double w)
x - a double array containing the independent
(explanatory) variables. Its length must be equal to
the number of variables set in the constructor.y - a double representing the dependent (response)
variablew - a double representing the weight
public void update(double[][] x,
double[] y)
x - a double matrix containing the independent
(explanatory) variables. The number of rows in x must
equal the length of y and the number of columns
must be equal to the number of variables
set in the constructor.y - a double array containing the dependent (response)
variables.
public void update(double[][] x,
double[] y,
double[] w)
x - a double matrix containing the independent
(explanatory) variables. The number of rows in x must
equal the length of y and the number of columns
must be equal to the number of variables
set in the constructor.y - a double array containing the dependent (response)
variables.w - a double array representing the weightspublic double[] getCoefficients()
double array containing the regression
coefficients. If hasIntercept is false
its length is equal to the number
of variables. If hasIntercept is true
then its length is the number of variables
plus one and the 0-th entry is the value
of the intercept.
SingularMatrixException - is thrown when the regression
matrix is singular.public double[][] getR()
double matrix containing a copy of the R matrixpublic ANOVA getANOVA()
ANOVA table and related statisticspublic int getRank()
int rank of the matrixpublic LinearRegression.CoefficientTTests getCoefficientTTests()
|
JMSLTM Numerical Library 3.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||