Math-02.相关性检验-04.Kendall相关

Kendall 秩相关系数(Kendall’s tau,$\tau$)基于一致对(concordant pairs)与分歧对(discordant pairs)的比例,适用于有序变量、小样本及多并列秩(tied ranks)情形。

段末注释一致对指 $(x_i-x_j)(y_i-y_j)>0$ 的样本对;分歧对符号相反。

系列01 总论 | 对比:03 Spearman


1. 定义与直观(D1)

图 1 Kendall 直观

比较所有 $\binom{n}{2}$ 对 $(i,j)$:$X$ 与 $Y$ 的排序是否一致。$\tau=1$ 完全同序,$\tau=-1$ 完全反序。


2. 数据前提(D2)

条件 说明
有序/连续 可比较大小
单调 与 Spearman 类似
小 $n$ 比 Spearman 推断更稳
并列秩 Tau-bscipy 默认)

3. 公式与显著性(D3–D4)

图 2 Tau-b 与一致/分歧对

$$
\tau_b = \frac{C - D}{\sqrt{(C+D+T_x)(C+D+T_y)}}
$$

$C$:一致对数;$D$:分歧对数;$T_x,T_y$:$X$/$Y$ 上并列对数。

Tau-a(无并列):$\tau_a = (C-D)/\binom{n}{2}$。

$H_0: \tau=0$:scipy.stats.kendalltau 提供渐近 p 值。


4. 适用场景(D5–D7)

图 3 适用场景

场景 说明
肥胖等级 vs 指标 有序类别
小样本 $(n<30)$ 秩检验稳健
重复值多 Tau-b
与 Spearman 对照 结论应相近

5. 局限与误用(D8)

图 4 局限

问题 说明
大 $n$ 计算慢 $O(n^2)$ 对
非单调 与 Spearman 同样失效
$|\tau| < |\rho_s|$ 常见 尺度不同,勿直接比大小
仅报 τ 不报 n 小样本需谨慎

6. 示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import numpy as np
from scipy import stats

# 有序 + 并列
x1 = [12, 2, 1, 12, 2, 3, 4]
x2 = [1, 4, 7, 1, 0, 5, 3]

tau, p = stats.kendalltau(x1, x2)
rho, p_s = stats.spearmanr(x1, x2)
print(f"Kendall tau={tau:.3f}, p={p:.4f}")
print(f"Spearman rho={rho:.3f}, p={p_s:.4f}")

# 小样本
rng = np.random.default_rng(1)
a, b = rng.integers(1, 6, 12), rng.integers(1, 6, 12)
print(f"n=12: tau={stats.kendalltau(a,b)[0]:.3f}")

7. 小结

  • Kendall $\tau$:一致对比例;Tau-b 处理并列。
  • 有序数据、小样本优选;与 Spearman 常同时报告。

系列导航03 Spearman | 05 偏相关


参考文献

  1. scipy.stats.kendalltau
-------------本文结束感谢您的阅读-------------