类 GLSMultipleLinearRegression

java.lang.Object
org.hipparchus.stat.regression.AbstractMultipleLinearRegression
org.hipparchus.stat.regression.GLSMultipleLinearRegression
所有已实现的接口:
MultipleLinearRegression

public class GLSMultipleLinearRegression extends AbstractMultipleLinearRegression
多元线性回归的GLS实现。GLS假设误差的一般协方差矩阵Ω为
 u ~ N(0, Omega)
 
由GLS估计得到,
 b=(X' Omega^-1 X)^-1X'Omega^-1 y
 
其方差为
 Var(b)=(X' Omega^-1 X)^-1
 
  • 构造器详细资料

    • GLSMultipleLinearRegression

      public GLSMultipleLinearRegression()
      空构造函数。

      这个构造函数并非绝对必要,但它可以防止在JDK 18及更高版本中出现虚假的javadoc警告。

      从以下版本开始:
      3.0
  • 方法详细资料

    • newSampleData

      public void newSampleData(double[] y, double[][] x, double[][] covariance)
      替换样本数据,覆盖任何先前的样本。
      参数:
      y - 样本的y值
      x - 样本的x值
      covariance - 表示协方差矩阵的数组
    • newCovarianceData

      protected void newCovarianceData(double[][] omega)
      添加协方差数据。
      参数:
      omega - 表示协方差的[n,n]数组
    • getOmegaInverse

      protected RealMatrix getOmegaInverse()
      获取协方差的逆矩阵。

      协方差矩阵的逆矩阵是延迟计算并缓存的。

      返回:
      协方差的逆矩阵
    • calculateBeta

      protected RealVector calculateBeta()
      通过GLS计算beta。
        b=(X' Omega^-1 X)^-1X'Omega^-1 y
       
      指定者:
      calculateBeta 在类中 AbstractMultipleLinearRegression
      返回:
      beta
    • calculateBetaVariance

      protected RealMatrix calculateBetaVariance()
      计算beta的方差。
        Var(b)=(X' Omega^-1 X)^-1
       
      指定者:
      calculateBetaVariance 在类中 AbstractMultipleLinearRegression
      返回:
      beta的方差矩阵
    • calculateErrorVariance

      protected double calculateErrorVariance()
      使用公式计算误差项的估计方差
        Var(u) = Tr(u' Omega^-1 u)/(n-k)
       
      其中n和k分别是设计矩阵X的行和列维度。
      覆盖:
      calculateErrorVariance 在类中 AbstractMultipleLinearRegression
      返回:
      误差方差