Package org.hipparchus.stat.regression
Class GLSMultipleLinearRegression
java.lang.Object
org.hipparchus.stat.regression.AbstractMultipleLinearRegression
org.hipparchus.stat.regression.GLSMultipleLinearRegression
- All Implemented Interfaces:
MultipleLinearRegression
The GLS implementation of multiple linear regression.
GLS assumes a general covariance matrix Omega of the error
u ~ N(0, Omega)Estimated by GLS,
b=(X' Omega^-1 X)^-1X'Omega^-1 ywhose variance is
Var(b)=(X' Omega^-1 X)^-1
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected RealVector
Calculates beta by GLS.protected RealMatrix
Calculates the variance on the beta.protected double
Calculates the estimated variance of the error term using the formulaprotected RealMatrix
Get the inverse of the covariance.protected void
newCovarianceData
(double[][] omega) Add the covariance data.void
newSampleData
(double[] y, double[][] x, double[][] covariance) Replace sample data, overriding any previous sample.Methods inherited from class org.hipparchus.stat.regression.AbstractMultipleLinearRegression
calculateResiduals, calculateYVariance, estimateErrorVariance, estimateRegressandVariance, estimateRegressionParameters, estimateRegressionParametersStandardErrors, estimateRegressionParametersVariance, estimateRegressionStandardError, estimateResiduals, getX, getY, isNoIntercept, newSampleData, newXSampleData, newYSampleData, setNoIntercept, validateCovarianceData, validateSampleData
-
Constructor Details
-
GLSMultipleLinearRegression
public GLSMultipleLinearRegression()Empty constructor.This constructor is not strictly necessary, but it prevents spurious javadoc warnings with JDK 18 and later.
- Since:
- 3.0
-
-
Method Details
-
newSampleData
public void newSampleData(double[] y, double[][] x, double[][] covariance) Replace sample data, overriding any previous sample.- Parameters:
y
- y values of the samplex
- x values of the samplecovariance
- array representing the covariance matrix
-
newCovarianceData
protected void newCovarianceData(double[][] omega) Add the covariance data.- Parameters:
omega
- the [n,n] array representing the covariance
-
getOmegaInverse
Get the inverse of the covariance.The inverse of the covariance matrix is lazily evaluated and cached.
- Returns:
- inverse of the covariance
-
calculateBeta
Calculates beta by GLS.b=(X' Omega^-1 X)^-1X'Omega^-1 y
- Specified by:
calculateBeta
in classAbstractMultipleLinearRegression
- Returns:
- beta
-
calculateBetaVariance
Calculates the variance on the beta.Var(b)=(X' Omega^-1 X)^-1
- Specified by:
calculateBetaVariance
in classAbstractMultipleLinearRegression
- Returns:
- The beta variance matrix
-
calculateErrorVariance
protected double calculateErrorVariance()Calculates the estimated variance of the error term using the formulaVar(u) = Tr(u' Omega^-1 u)/(n-k)
where n and k are the row and column dimensions of the design matrix X.- Overrides:
calculateErrorVariance
in classAbstractMultipleLinearRegression
- Returns:
- error variance
-