类 KendallsCorrelation
java.lang.Object
org.hipparchus.stat.correlation.KendallsCorrelation
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实例。KendallsCorrelation
(double[][] data) 从一个矩形数组创建一个KendallsCorrelation,其列代表要进行相关性分析的变量的值。KendallsCorrelation
(RealMatrix matrix) 从一个RealMatrix创建一个KendallsCorrelation,其列代表要进行相关性分析的变量。 -
方法概要
修饰符和类型方法说明computeCorrelationMatrix
(double[][] matrix) 计算输入矩形数组的列的Kendall's Tau秩相关性矩阵。computeCorrelationMatrix
(RealMatrix matrix) 计算输入矩阵的列的Kendall's Tau秩相关性矩阵。double
correlation
(double[] xArray, double[] yArray) 计算两个数组之间的Kendall's Tau秩相关性系数。返回相关性矩阵。
-
构造器详细资料
-
KendallsCorrelation
public KendallsCorrelation()创建一个不带数据的KendallsCorrelation实例。 -
KendallsCorrelation
public KendallsCorrelation(double[][] data) 从一个矩形数组创建一个KendallsCorrelation,其列代表要进行相关性分析的变量的值。- 参数:
-
data
- 代表变量的列的矩形数组 - 抛出:
-
IllegalArgumentException
- 如果输入数据数组不是至少有两行两列的矩形数组。
-
KendallsCorrelation
从一个RealMatrix创建一个KendallsCorrelation,其列代表要进行相关性分析的变量。- 参数:
-
matrix
- 代表要进行相关性分析的变量的列的矩阵
-
-
方法详细资料
-
getCorrelationMatrix
返回相关性矩阵。- 返回:
- 相关性矩阵
-
computeCorrelationMatrix
计算输入矩阵的列的Kendall's Tau秩相关性矩阵。- 参数:
-
matrix
- 代表要进行相关性分析的变量的列的矩阵 - 返回:
- 相关性矩阵
-
computeCorrelationMatrix
计算输入矩形数组的列的Kendall's Tau秩相关性矩阵。数组的列代表要进行相关性分析的变量的值。- 参数:
-
matrix
- 代表要进行相关性分析的变量的列的矩阵 - 返回:
- 相关性矩阵
-
correlation
计算两个数组之间的Kendall's Tau秩相关性系数。- 参数:
-
xArray
- 第一个数据数组 -
yArray
- 第二个数据数组 - 返回:
- 返回两个数组的Kendall's Tau秩相关性系数
- 抛出:
-
MathIllegalArgumentException
- 如果数组长度不匹配
-