跳到主要内容

Kendall 相关

一、直观理解:随机抽两个人,他们的高低顺序一致吗​

Kendall’s τ\tau 从“成对比较”出发。从样本中任取两个个体 i,ji,j:

  • 若 xi−xjx_i-x_j 与 yi−yjy_i-y_j 同号,称为一致对(concordant);
  • 若异号,称为不一致对(discordant);
  • 若 xx 或 yy 上相等,则是结。

τ\tau 本质上是:

τ≈一致对数−不一致对数总对数\tau \approx \frac{\text{一致对数}-\text{不一致对数}}{\text{总对数}}

它直接对应一个概率差:P(一致)−P(不一致)P(\text{一致})-P(\text{不一致})。因此解释往往比“秩的 Pearson”更直白:τ=0.4\tau=0.4 意味着随机一对观测中,顺序一致比不一致多出可观比例。

二、适用场景与优缺点​

类型说明
适用场景小样本等级相关;结值较多的有序数据;需要概率型解释;做稳健单调相关并与 Spearman 互证。
核心优点解释清晰;对异常值稳健;小样本精确检验理论完整;结值处理有标准版本(τ\tau-b 等)。
局限与缺点计算量 O(n2)O(n^2)(大 nn 需高效实现);数值通常比 Spearman 的 $

经验上同一数据常有 ∣rs∣≥∣τ∣|r_s|\ge|\tau|,两者一般同号、同趋势,但不要把 0.3 的阈值在两种系数间原样搬用。

三、核心原理​

无结时:

τ=C−D(n2)\tau=\frac{C-D}{\binom{n}{2}}

其中 CC、DD 为一致与不一致对数。

有结时常用 Kendall’s τ\tau-b:

τb=C−D(C+D+Tx)(C+D+Ty)\tau_b=\frac{C-D}{\sqrt{(C+D+T_x)(C+D+T_y)}}

TxT_x、TyT_y 与各变量结有关(软件自动处理)。MATLAB corr(...,"Type","Kendall") 给出的是考虑结的版本。

大样本下 τ\tau 近似正态,可构造检验与置信区间;小样本可用排列检验。

与 Spearman 的关系:二者都是秩相关族,但对差异的权重不同——Spearman 对大秩差更敏感,Kendall 对所有对等权。

四、关键决策​

1. 三选一策略​

  • 探索连续线性:Pearson;
  • 一般单调/有序:Spearman(更常用);
  • 强调成对一致概率、小样本或教学解释:Kendall。

论文中可主报一个,附录报另一个作稳健性。

2. 大样本计算​

nn 上万时注意算法效率;预排序可把 Kendall 相关算到 O(nlog⁡n)O(n\log n)。建模赛若 nn 不大,直接 corr 即可。

3. 偏 Kendall 相关​

控制第三个变量时,可用偏秩相关,但解释与实现更复杂,需谨慎。

五、MATLAB 示例​

rng(7);
x = randn(50,1);
y = 0.6*x + sqrt(1-0.6^2)*randn(50,1);

[rk, pk] = corr(x, y, "Type", "Kendall");
[rs, ps] = corr(x, y, "Type", "Spearman");
[rp, pp] = corr(x, y, "Type", "Pearson");
fprintf("Pearson=%.3f, Spearman=%.3f, Kendall=%.3f\n", rp, rs, rk);

% 有序评分 + 结值
X = [1 1 2 2 2 3 3 4 4 5 5 5]';
Y = [1 2 1 2 3 2 4 3 5 4 5 5]';
[tb, ptb] = corr(X(:), Y(:), "Type", "Kendall");
fprintf("有结数据 tau=%.3f, p=%.4g\n", tb, ptb);

% 手算无结小例子验证思想
a = [1 2 3 4];
b = [1 3 2 4];
% 对数: (1,2),(1,3),(1,4),(2,3),(2,4),(3,4)
% 符号比较...
C = 0; D = 0; n = numel(a);
for i = 1:n-1
for j = i+1:n
s = sign(a(j)-a(i)) * sign(b(j)-b(i));
if s > 0, C = C+1; elseif s < 0, D = D+1; end
end
end
tau_hand = (C - D) / nchoosek(n, 2);
fprintf("手算 tau=%.3f (C=%d,D=%d)\n", tau_hand, C, D);

figure;
scatter(x, y, 25, "filled"); grid on;
title(sprintf("Kendall \\tau = %.2f", rk));

六、如何解释结果​

  1. 定义一致对/不一致对,帮助读者建立直觉;
  2. 报告 τ\tau(或 τb\tau_b)、p、nn;
  3. 可补充:“随机抽取两个样本点,其顺序一致的倾向…”;
  4. 与 Spearman 对照;
  5. 结合散点或等级表看实际模式。

示例:“两名评委打分的 Kendall τb=0.62\tau_b=0.62(p<0.001),表明任意两件作品的相对高低顺序在两评委间较为一致,但并非完全相同。”

七、常见误区​

1. 用 Spearman 的经验阈值直接套 Kendall​

τ=0.4\tau=0.4 往往对应更高的 rsr_s,强度叙事要调整。

2. 忽略结值版本差异​

报告时应说明是软件默认的 τ\tau-b 还是无结公式。

3. 非单调关系上过度解读 τ≈0\tau\approx 0​

与其它相关一样,0 只表示缺乏单调一致,不是“无任何结构”。

4. 把相关当一致性的全部​

评分者一致性有时还用 ICC、加权 Kappa 等,需按设计选择。

八、小结​

Kendall 相关的核心是:

用一致对与不一致对的相对多少,度量两个变量排序的一致性。

它解释直观、对异常值稳健,特别适合等级数据与小样本。与 Pearson、Spearman 形成互补:线性用 Pearson,一般单调用 Spearman,成对概率解释用 Kendall。

若论文篇幅有限,可主文报告 Spearman,附录给出 Kendall τb\tau_b 作稳健性;两者同号且都显著时,单调关联结论通常更站得住。

以上写法既控制篇幅,又保留可复核的稳健性证据。

在报告中建议增加一张“诊断—处理—结论”对照表:先写残差图或一致对统计量给出的证据,再写采用了稳健标准误、变换、加权或改用何种相关,最后写推断是否改变。这样评阅人可以在一分钟内看完你的稳健性逻辑。