Class AbstractMultipleLinearRegression

java.lang.Object
org.apache.commons.math.stat.regression.AbstractMultipleLinearRegression
All Implemented Interfaces:
MultipleLinearRegression
Direct Known Subclasses:
GLSMultipleLinearRegression, OLSMultipleLinearRegression

public abstract class AbstractMultipleLinearRegression extends Object implements MultipleLinearRegression
Abstract base class for implementations of MultipleLinearRegression.
Since:
2.0
  • Constructor Details

    • AbstractMultipleLinearRegression

      public AbstractMultipleLinearRegression()
  • Method Details

    • isNoIntercept

      public boolean isNoIntercept()
      Returns:
      true if the model has no intercept term; false otherwise
      Since:
      2.2
    • setNoIntercept

      public void setNoIntercept(boolean noIntercept)
      Parameters:
      noIntercept - true means the model is to be estimated without an intercept term
      Since:
      2.2
    • newSampleData

      public void newSampleData(double[] data, int nobs, int nvars)

      Loads model x and y sample data from a flat input array, overriding any previous sample.

      Assumes that rows are concatenated with y values first in each row. For example, an input data array containing the sequence of values (1, 2, 3, 4, 5, 6, 7, 8, 9) with nobs = 3 and nvars = 2 creates a regression dataset with two independent variables, as below:

         y   x[0]  x[1]
         --------------
         1     2     3
         4     5     6
         7     8     9
       

      Note that there is no need to add an initial unitary column (column of 1's) when specifying a model including an intercept term. If isNoIntercept() is true, the X matrix will be created without an initial column of "1"s; otherwise this column will be added.

      Throws IllegalArgumentException if any of the following preconditions fail:

      • data cannot be null
      • data.length = nobs * (nvars + 1)
      • nobs > nvars

      Parameters:
      data - input data array
      nobs - number of observations (rows)
      nvars - number of independent variables (columns, not counting y)
      Throws:
      IllegalArgumentException - if the preconditions are not met
    • estimateRegressionParameters

      public double[] estimateRegressionParameters()
      Estimates the regression parameters b.
      Specified by:
      estimateRegressionParameters in interface MultipleLinearRegression
      Returns:
      The [k,1] array representing b
    • estimateResiduals

      public double[] estimateResiduals()
      Estimates the residuals, ie u = y - X*b.
      Specified by:
      estimateResiduals in interface MultipleLinearRegression
      Returns:
      The [n,1] array representing the residuals
    • estimateRegressionParametersVariance

      public double[][] estimateRegressionParametersVariance()
      Estimates the variance of the regression parameters, ie Var(b).
      Specified by:
      estimateRegressionParametersVariance in interface MultipleLinearRegression
      Returns:
      The [k,k] array representing the variance of b
    • estimateRegressionParametersStandardErrors

      public double[] estimateRegressionParametersStandardErrors()
      Returns the standard errors of the regression parameters.
      Specified by:
      estimateRegressionParametersStandardErrors in interface MultipleLinearRegression
      Returns:
      standard errors of estimated regression parameters
    • estimateRegressandVariance

      public double estimateRegressandVariance()
      Returns the variance of the regressand, ie Var(y).
      Specified by:
      estimateRegressandVariance in interface MultipleLinearRegression
      Returns:
      The double representing the variance of y
    • estimateErrorVariance

      public double estimateErrorVariance()
      Estimates the variance of the error.
      Returns:
      estimate of the error variance
      Since:
      2.2
    • estimateRegressionStandardError

      public double estimateRegressionStandardError()
      Estimates the standard error of the regression.
      Returns:
      regression standard error
      Since:
      2.2