stats::cor() 使用哪个 Kendall 的 tau 蛋白?
Which Kendall's tau does stats::cor() use?
stats:cor()
提供 "kendall"
作为计算相关系数的方法。
Kendall 的 Tau 实际上排在 three variants a(排名平局没有调整),b (针对排名关系进行了调整)和 *c**(适用于矩形而不是方形表格)。
stats:cor()
用的是哪一个?
(奖励:是否有允许所有这三种选择的软件包?Kendall 似乎没有提供这些选择。)
cor(x, y, method="kendall") 计算 Kendall 的 tau-b(针对平局进行调整)。
大多数可用的软件包(例如 cor()、Kendall())都会计算 Kendall 的 tau-b。 Kendall 的 tau-a 和 tau-b 之间的区别本质上是分母。具体来说,对于Kendall's tau-a,分母D=n*(n-1)/2,是固定的,而对于Kendall's tau-b,分母D=sqrt(No. pairs of Var1 excluding tied pairs)*sqrt (不包括并列对的 Var2 对数)。 tua-b 的值通常大于 tau-a。我觉得Kendall的tau-c很少用
我没有看到 Kendall 的 tau-a 的任何包,但在 R 中实现起来并不难。
有点晚了,但这里有一个比较:
> set.seed(1)
> n <- 20
> x1 <- sample(1:4, n, replace = T)
> x2 <- sample(1:4, n, replace = T)
>
> abc <- c(DescTools::KendallTauA(x1,x2),
+ DescTools::KendallTauB(x1,x2),
+ DescTools::StuartTauC(x1,x2))
> names(abc) <- c('tau-a','tau-b','tau-c')
> abc
tau-a tau-b tau-c
-0.08947368 -0.11486749 -0.11333333
>
> cor(x1,x2, method = 'kendall')
[1] -0.1148675
> pcaPP::cor.fk(x1,x2)
[1] -0.1148675
所以看起来 stats:cor
函数和 method='kendall'
计算了 tau-b 系数。
stats:cor()
提供 "kendall"
作为计算相关系数的方法。
Kendall 的 Tau 实际上排在 three variants a(排名平局没有调整),b (针对排名关系进行了调整)和 *c**(适用于矩形而不是方形表格)。
stats:cor()
用的是哪一个?
(奖励:是否有允许所有这三种选择的软件包?Kendall 似乎没有提供这些选择。)
cor(x, y, method="kendall") 计算 Kendall 的 tau-b(针对平局进行调整)。
大多数可用的软件包(例如 cor()、Kendall())都会计算 Kendall 的 tau-b。 Kendall 的 tau-a 和 tau-b 之间的区别本质上是分母。具体来说,对于Kendall's tau-a,分母D=n*(n-1)/2,是固定的,而对于Kendall's tau-b,分母D=sqrt(No. pairs of Var1 excluding tied pairs)*sqrt (不包括并列对的 Var2 对数)。 tua-b 的值通常大于 tau-a。我觉得Kendall的tau-c很少用
我没有看到 Kendall 的 tau-a 的任何包,但在 R 中实现起来并不难。
有点晚了,但这里有一个比较:
> set.seed(1)
> n <- 20
> x1 <- sample(1:4, n, replace = T)
> x2 <- sample(1:4, n, replace = T)
>
> abc <- c(DescTools::KendallTauA(x1,x2),
+ DescTools::KendallTauB(x1,x2),
+ DescTools::StuartTauC(x1,x2))
> names(abc) <- c('tau-a','tau-b','tau-c')
> abc
tau-a tau-b tau-c
-0.08947368 -0.11486749 -0.11333333
>
> cor(x1,x2, method = 'kendall')
[1] -0.1148675
> pcaPP::cor.fk(x1,x2)
[1] -0.1148675
所以看起来 stats:cor
函数和 method='kendall'
计算了 tau-b 系数。