类 KendallsCorrelation

java.lang.Object
org.hipparchus.stat.correlation.KendallsCorrelation

public class KendallsCorrelation extends Object
Kendall's Tau-b秩相关性的实现。

如果一对观测值 (x1, y1) 和 (x2, y2) 被认为是一致的,则当 x1 < x2 且 y1 < y2 或 x2 < x1 且 y2 < y1 时。如果 x1 < x2 且 y2 < y1 或 x2 < x1 且 y1 < y2,则该对是不一致的。如果 x1 = x2 或 y1 = y2,则该对既不一致也不一致。

Kendall's Tau-b 定义为:\[ \tau_b = \frac{n_c - n_d}{\sqrt{(n_0 - n_1) (n_0 - n_2)}} \]

其中:

  • n0 = n * (n - 1) / 2
  • nc = 一致对的数量
  • nd = 不一致对的数量
  • n1 = 所有 i 的 ti * (ti - 1) / 2 的总和
  • n2 = 所有 j 的 uj * (uj - 1) / 2 的总和
  • ti = x 中第 i 个组中的并列值的数量
  • uj = y 中第 j 个组中的并列值的数量

此实现使用了William R. Knight在1966年发表的论文"A Computer Method for Calculating Kendall's Tau with Ungrouped Data"中描述的O(n log n)算法。

另请参阅:
  • 构造器详细资料

    • KendallsCorrelation

      public KendallsCorrelation()
      创建一个不带数据的KendallsCorrelation实例。
    • KendallsCorrelation

      public KendallsCorrelation(double[][] data)
      从一个矩形数组创建一个KendallsCorrelation,其列代表要进行相关性分析的变量的值。
      参数:
      data - 代表变量的列的矩形数组
      抛出:
      IllegalArgumentException - 如果输入数据数组不是至少有两行两列的矩形数组。
    • KendallsCorrelation

      public KendallsCorrelation(RealMatrix matrix)
      从一个RealMatrix创建一个KendallsCorrelation,其列代表要进行相关性分析的变量。
      参数:
      matrix - 代表要进行相关性分析的变量的列的矩阵
  • 方法详细资料

    • getCorrelationMatrix

      public RealMatrix getCorrelationMatrix()
      返回相关性矩阵。
      返回:
      相关性矩阵
    • computeCorrelationMatrix

      public RealMatrix computeCorrelationMatrix(RealMatrix matrix)
      计算输入矩阵的列的Kendall's Tau秩相关性矩阵。
      参数:
      matrix - 代表要进行相关性分析的变量的列的矩阵
      返回:
      相关性矩阵
    • computeCorrelationMatrix

      public RealMatrix computeCorrelationMatrix(double[][] matrix)
      计算输入矩形数组的列的Kendall's Tau秩相关性矩阵。数组的列代表要进行相关性分析的变量的值。
      参数:
      matrix - 代表要进行相关性分析的变量的列的矩阵
      返回:
      相关性矩阵
    • correlation

      public double correlation(double[] xArray, double[] yArray) throws MathIllegalArgumentException
      计算两个数组之间的Kendall's Tau秩相关性系数。
      参数:
      xArray - 第一个数据数组
      yArray - 第二个数据数组
      返回:
      返回两个数组的Kendall's Tau秩相关性系数
      抛出:
      MathIllegalArgumentException - 如果数组长度不匹配