GLSMultipleLinearRegression (Apache Commons Math 3.3 API)

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
  Version:
    $Id: GLSMultipleLinearRegression.java 1553598 2013-12-26 22:18:02Z psteitz $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GLSMultipleLinearRegression()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 Detail

    - #### GLSMultipleLinearRegression

          public GLSMultipleLinearRegression()

  - ### Method Detail

    - #### 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

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.