Package org.apache.commons.math3.stat.regression

# Class GLSMultipleLinearRegression

java.lang.Object
org.apache.commons.math3.stat.regression.AbstractMultipleLinearRegression
org.apache.commons.math3.stat.regression.GLSMultipleLinearRegression

All Implemented Interfaces:
  `MultipleLinearRegression`

public class GLSMultipleLinearRegression extends AbstractMultipleLinearRegression
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 y

whose variance is

     Var(b)=(X' Omega^-1 X)^-1

Since:
  2.0

## Constructor Summary

Constructors
Constructor
Description
`GLSMultipleLinearRegression()`

## Method Summary

Modifier and Type
Method
Description
`protected RealVector`
`calculateBeta()`
Calculates beta by GLS.
`protected RealMatrix`
`calculateBetaVariance()`
Calculates the variance on the beta.
`protected double`
`calculateErrorVariance()`
Calculates the estimated variance of the error term using the formula
`protected RealMatrix`
`getOmegaInverse()`
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.apache.commons.math3.stat.regression.AbstractMultipleLinearRegression

`calculateResiduals, calculateYVariance, estimateErrorVariance, estimateRegressandVariance, estimateRegressionParameters, estimateRegressionParametersStandardErrors, estimateRegressionParametersVariance, estimateRegressionStandardError, estimateResiduals, getX, getY, isNoIntercept, newSampleData, newXSampleData, newYSampleData, setNoIntercept, validateCovarianceData, validateSampleData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### GLSMultipleLinearRegression

public GLSMultipleLinearRegression()

## 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 sample
  `x` - x values of the sample
  `covariance` - 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

protected RealMatrix getOmegaInverse()
Get the inverse of the covariance.

The inverse of the covariance matrix is lazily evaluated and cached.

Returns:
  inverse of the covariance

### calculateBeta

protected RealVector calculateBeta()
Calculates beta by GLS.

      b=(X' Omega^-1 X)^-1X'Omega^-1 y

Specified by:
  `calculateBeta` in class `AbstractMultipleLinearRegression`
Returns:
  beta

### calculateBetaVariance

protected RealMatrix calculateBetaVariance()
Calculates the variance on the beta.

      Var(b)=(X' Omega^-1 X)^-1

Specified by:
  `calculateBetaVariance` in class `AbstractMultipleLinearRegression`
Returns:
  The beta variance matrix

### calculateErrorVariance

protected double calculateErrorVariance()
Calculates the estimated variance of the error term using the formula

      Var(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 class `AbstractMultipleLinearRegression`
Returns:
  error variance
Since:
  2.2