org.codehaus.jet.regression.estimators
Class GLSMultipleLinearRegressionEstimator

java.lang.Object
  extended by org.codehaus.jet.regression.estimators.AbstractMultipleLinearRegressionEstimator
      extended by org.codehaus.jet.regression.estimators.GLSMultipleLinearRegressionEstimator
All Implemented Interfaces:
MultipleLinearRegressionEstimator

public class GLSMultipleLinearRegressionEstimator
extends AbstractMultipleLinearRegressionEstimator

The GLS implementation of the 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
 

Author:
Mauro Talevi

Field Summary
 
Fields inherited from class org.codehaus.jet.regression.estimators.AbstractMultipleLinearRegressionEstimator
X, Y
 
Constructor Summary
GLSMultipleLinearRegressionEstimator()
           
 
Method Summary
protected  void addCovarianceData(double[][] omega)
          Add the covariance data
 void addData(double[] y, double[][] x, double[][] covariance)
          Adds sample and covariance data
protected  org.apache.commons.math.linear.RealMatrix calculateBeta()
          Calculates beta by GLS:
protected  org.apache.commons.math.linear.RealMatrix calculateBetaVariance()
          Calculates the variance on the beta by GLS:
protected  double calculateYVariance()
          Calculates the variance on the y by GLS:
 
Methods inherited from class org.codehaus.jet.regression.estimators.AbstractMultipleLinearRegressionEstimator
addXSampleData, addYSampleData, calculateResiduals, estimateRegressandVariance, estimateRegressionParameters, estimateRegressionParametersVariance, estimateResiduals
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GLSMultipleLinearRegressionEstimator

public GLSMultipleLinearRegressionEstimator()
Method Detail

addData

public void addData(double[] y,
                    double[][] x,
                    double[][] covariance)
Description copied from interface: MultipleLinearRegressionEstimator
Adds sample and covariance data

Parameters:
y - the [n,1] array representing the y sample
x - the [n,k] array representing x sample
covariance - the [n,n] array representing the covariance matrix or null if not appropriate for the specific implementation

addCovarianceData

protected void addCovarianceData(double[][] omega)
Add the covariance data

Parameters:
omega - the [n,n] array representing the covariance

calculateBeta

protected org.apache.commons.math.linear.RealMatrix calculateBeta()
Calculates beta by GLS:
  b=(X' Omega^-1 X)^-1X'Omega^-1 y
 

Specified by:
calculateBeta in class AbstractMultipleLinearRegressionEstimator

calculateBetaVariance

protected org.apache.commons.math.linear.RealMatrix calculateBetaVariance()
Calculates the variance on the beta by GLS:
  Var(b)=(X' Omega^-1 X)^-1
 

Specified by:
calculateBetaVariance in class AbstractMultipleLinearRegressionEstimator
Returns:
The beta variance matrix

calculateYVariance

protected double calculateYVariance()
Calculates the variance on the y by GLS:
  Var(y)=Tr(u' Omega^-1 u)/(n-k)
 

Specified by:
calculateYVariance in class AbstractMultipleLinearRegressionEstimator
Returns:
The Y variance


Copyright © 2006-2007. All Rights Reserved.