类 Covariance

java.lang.Object
org.hipparchus.stat.correlation.Covariance
直接已知子类:
StorelessCovariance

public class Covariance extends Object
计算数组对或矩阵列的协方差。

接受RealMatrixdouble[][]参数的构造函数生成协方差矩阵。假定输入矩阵的列代表变量值。

构造函数参数biasCorrected确定计算的协方差是否进行偏差校正。

无偏协方差由以下公式给出:

cov(X, Y) = Σ[(xi - E(X))(yi - E(Y))] / (n - 1)

其中E(X)X的均值,E(Y)Y值的均值。

非偏估计使用n代替n - 1

  • 构造器详细资料

    • Covariance

      public Covariance()
      创建一个没有数据的协方差。
    • Covariance

      public Covariance(double[][] data, boolean biasCorrected) throws MathIllegalArgumentException
      从表示协变量的矩形数组创建协方差矩阵。

      biasCorrected参数确定协方差估计是否进行偏差校正。

      输入数组必须是矩形的,至少有一列和两行。

      参数:
      data - 代表协变量的矩形数组
      biasCorrected - true表示协方差进行偏差校正
      抛出:
      MathIllegalArgumentException - 如果输入数据数组不是矩形的,至少有两行和一列。
      MathIllegalArgumentException - 如果输入数据数组不是矩形的,至少有一行和一列。
    • Covariance

      public Covariance(double[][] data) throws MathIllegalArgumentException
      从表示协变量的矩形数组创建协方差矩阵。

      输入数组必须是矩形的,至少有一列和两行。

      参数:
      data - 代表协变量的矩形数组
      抛出:
      MathIllegalArgumentException - 如果输入数据数组不是矩形的,至少有两行和一列。
      MathIllegalArgumentException - 如果输入数据数组不是矩形的,至少有一行和一列。
    • Covariance

      public Covariance(RealMatrix matrix, boolean biasCorrected) throws MathIllegalArgumentException
      从表示协变量的矩阵列创建协方差矩阵。

      biasCorrected参数确定协方差估计是否进行偏差校正。

      矩阵必须至少有一列和两行。

      参数:
      matrix - 代表协变量的矩阵
      biasCorrected - true表示协方差进行偏差校正
      抛出:
      MathIllegalArgumentException - 如果输入矩阵不具有至少两行和一列
    • Covariance

      public Covariance(RealMatrix matrix) throws MathIllegalArgumentException
      从表示协变量的矩阵列创建协方差矩阵。

      矩阵必须至少有一列和两行。

      参数:
      matrix - 代表协变量的矩阵
      抛出:
      MathIllegalArgumentException - 如果输入矩阵不具有至少两行和一列
  • 方法详细资料

    • getCovarianceMatrix

      public RealMatrix getCovarianceMatrix()
      返回协方差矩阵
      返回:
      协方差矩阵
    • getN

      public int getN()
      返回观测数量(协变量向量的长度)
      返回:
      观测数量
    • computeCovarianceMatrix

      protected RealMatrix computeCovarianceMatrix(RealMatrix matrix, boolean biasCorrected) throws MathIllegalArgumentException
      从表示协变量的矩阵创建协方差矩阵。
      参数:
      matrix - 输入矩阵(必须至少有一列和两行)
      biasCorrected - 确定协方差估计是否进行偏差校正
      返回:
      协方差矩阵
      抛出:
      MathIllegalArgumentException - 如果矩阵不包含足够的数据
    • computeCovarianceMatrix

      protected RealMatrix computeCovarianceMatrix(RealMatrix matrix) throws MathIllegalArgumentException
      从表示协变量的矩阵创建协方差矩阵。使用经过偏差校正的公式计算协方差。
      参数:
      matrix - 输入矩阵(必须至少有一列和两行)
      返回:
      协方差矩阵
      抛出:
      MathIllegalArgumentException - 如果矩阵不包含足够的数据
      另请参阅:
    • computeCovarianceMatrix

      protected RealMatrix computeCovarianceMatrix(double[][] data, boolean biasCorrected) throws MathIllegalArgumentException
      从表示协变量的矩形数组创建协方差矩阵。
      参数:
      data - 输入数组(必须至少有一列和两行)
      biasCorrected - 确定协方差估计是否进行偏差校正
      返回:
      协方差矩阵
      抛出:
      MathIllegalArgumentException - 如果数据数组不包含足够的数据
      MathIllegalArgumentException - 如果输入数据数组不是矩形的,至少有一行和一列。
    • computeCovarianceMatrix

      protected RealMatrix computeCovarianceMatrix(double[][] data) throws MathIllegalArgumentException
      从表示协变量的矩形数组创建协方差矩阵。使用经过偏差校正的公式计算协方差。
      参数:
      data - 输入数组(必须至少有一列和两行)
      返回:
      协方差矩阵
      抛出:
      MathIllegalArgumentException - 如果数据数组不包含足够的数据
      MathIllegalArgumentException - 如果输入数据数组不是矩形的,至少有一行和一列。
      另请参阅:
    • covariance

      public double covariance(double[] xArray, double[] yArray, boolean biasCorrected) throws MathIllegalArgumentException
      计算两个数组之间的协方差。

      数组长度必须匹配,且共同长度必须至少为2。

      参数:
      xArray - 第一个数据数组
      yArray - 第二个数据数组
      biasCorrected - 如果为true,则返回值将进行偏差校正
      返回:
      返回两个数组的协方差
      抛出:
      MathIllegalArgumentException - 如果数组长度不匹配或数据不足
    • covariance

      public double covariance(double[] xArray, double[] yArray) throws MathIllegalArgumentException
      计算两个数组之间的协方差,使用偏差校正公式。

      数组长度必须匹配,且共同长度必须至少为2。

      参数:
      xArray - 第一个数据数组
      yArray - 第二个数据数组
      返回:
      返回两个数组的协方差
      抛出:
      MathIllegalArgumentException - 如果数组长度不匹配或数据不足