当我运行一些示例时,rho 的 p 值和排名的 Pearson 相关性的 t 检验总是匹配的,除了最后几位数字
那么你一直在运行错误的例子!
a = c(1,2,3,4,5,6,7,8,9)
b = c(1,2,3,4,5,6,7,8,90)
cor.test(a,b,method='pearson')
Pearson's product-moment correlation
data: a and b
t = 2.0528, df = 7, p-value = 0.0792
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.08621009 0.90762506
sample estimates:
cor
0.6130088
cor.test(a,b,method='spearman')
Spearman's rank correlation rho
data: a and b
S = 0, p-value = 5.511e-06
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
1
向量a
和b
具有良好但远非完美的线性(皮尔逊)相关性。但是,它们具有完美的等级相关性。见 - 斯皮尔曼的ρ,在这种情况下,最后一个数字b
是 8.1、9、90 还是 9000(试试看!)无关紧要,只有大于 8才重要。这就是关联排名的不同之处。
相反,虽然a
和b
具有完美的秩相关,但它们的 Pearson 相关系数小于 1。这表明 Pearson 相关不反映秩。
Pearson 相关反映了一个线性函数,秩相关只是一个单调函数。在正常数据的情况下,两者将非常相似,我怀疑这就是为什么您的数据在 Spearman 和 Pearson 之间没有显示出很大差异的原因。
对于一个实际示例,请考虑以下内容;你想看看更高的人是否更重。是的,这是一个愚蠢的问题......但假设这是你关心的。现在,质量与体重并没有线性关系,因为高个子也比矮个子宽;所以体重不是身高的线性函数。比你高 10% 的人(平均而言)重 10% 以上。这就是为什么身体/质量指数在分母中使用立方体。
因此,您会假设线性相关性无法准确反映身高/体重关系。相反,在这种情况下,等级相关性对令人讨厌的物理和生物学定律不敏感;它并不能反映人们是否随着身高的增加而线性增长,它只是反映较高的人(在一个尺度上排名较高)是否更重(在另一个尺度上排名较高)。
一个更典型的例子可能是类似李克特的问卷排名,例如人们将某事评为“完美/好/体面/平庸/差/糟糕”。“完美”与“体面”之间的距离就像“体面”与“差”在量表上的差距一样,但我们真的可以说两者之间的距离是一样的吗?线性相关不一定合适。排名相关更自然。
为了更直接地解决您的问题:不, Pearson 和 Spearman 相关性的p值不能以不同的方式计算。两者在概念上和数值上都有很大不同,但如果检验统计量相等,则p值将相等。
关于 Pearson 相关性假设的正态性问题,请参阅此。
更一般地说,其他人在参数与非参数相关性(另见此处)以及这对分布假设意味着什么的主题方面比我能详细说明的要好得多。