【问题标题】:How to choose between Pearson and Spearman correlation?如何在 Pearson 和 Spearman 相关之间进行选择?
【发布时间】:2022-01-24 17:18:30
【问题描述】:

我如何知道何时在 Spearman 的 $\rho$ 和 Pearson 的 $r$ 之间进行选择?我的变量包括满意度,并且使用分数的总和来解释分数。然而,这些分数也可以被排名。

【问题讨论】:

标签: correlation pearson-r spearman-rho


【解决方案1】:

如果您想探索您的数据,最好同时计算两者,因为 Spearman (S) 和 Pearson (P) 相关性之间的关系会提供一些信息。简而言之,S 是根据等级计算的,因此描述了单调关系,而 P 是根据真实值计算的,并且描述了线性关系。

例如,如果你设置:

x=(1:100);  
y=exp(x);                         % then,
corr(x,y,'type','Spearman');      % will equal 1, and 
corr(x,y,'type','Pearson');       % will be about equal to 0.25

这是因为 $y$ 随 $x$ 单调增加,所以 Spearman 相关是完美的,但不是线性的,所以 Pearson 相关是不完美的。

corr(x,log(y),'type','Pearson');  % will equal 1

两者都做很有趣,因为如果你有 S > P,这意味着你有一个单调但不是线性的相关性。由于在统计数据中具有线性是很好的(更容易),您可以尝试对 $y$(例如日志)应用转换。

我希望这有助于使相关类型之间的差异更容易理解。

【讨论】:

  • 我猜这是你已经说过的,但我只是想确认 S

  • @JonathanThiele 完全有可能拥有 S

    stats.stackexchange.com/questions/27127/…

  • @atomicules 感谢您提供的信息。我刚刚检查了 Anscombe 的四重奏中的相关性,您的链接很有帮助。
  • 如何在一个 corrgram 演示文稿中包含 Pearson 和 Spearson 相关性? - - 我在想stackoverflow.com/a/40523080/54964 的案例 - - 我有一个多因素问题,所以我认为 Spearson 可以包含在内,我不能只选择 Pearson。
  • 这是我通常采用的方法,因为它具有回避一个测试与另一个测试的艰苦理由的额外好处,特别是在测试许多变量之间的相关性时。无需检查每个变量以查看是否满足 Pearson 或 Spearman 相关性的假设,只需对所有变量都运行。在许多实际应用中,它们会给出相似的关联显着性度量,因此您只需要深入挖掘其结果差异很大的相对少数实例,而这些都是值得进一步了解的有趣案例。
【解决方案2】:

最短且大部分正确的答案是:

Pearson 基准 线性 关系,Spearman 基准 单调 关系(几个无穷大更一般的情况,但为了一些功率权衡)。

因此,如果您假设/认为关系是线性的(或者,作为一种特殊情况,它们是同一事物的两个度量,因此关系是 $y=1\cdot x+0$)并且情况并不太奇怪(有关详细信息,请查看其他答案),请选择 Pearson。否则使用斯皮尔曼。

【讨论】:

    【解决方案3】:

    这在统计中经常发生:有多种方法可以应用于您的情况,而您不知道该选择哪一种。您应该根据所考虑方法的优缺点以及问题的具体情况做出决定,但即便如此,该决定通常也是主观的,没有商定的“正确”答案。通常,尝试尽可能多的方法是一个好主意,并且您的耐心会允许,看看哪些方法最终会给您带来最好的结果。

    Pearson 相关和 Spearman 相关之间的区别在于,Pearson 最适合从 interval 量表进行的测量,而 Spearman 更适合从 ordinal 天平。区间尺度的示例包括“华氏温度”和“以英寸为单位的长度”,其中各个单位(1 华氏度,1 英寸)是有意义的。诸如“满意度分数”之类的东西往往属于序数类型,因为虽然“5 个幸福”显然比“3 个幸福”更幸福,但不清楚您是否可以对“1 个幸福单位”做出有意义的解释。但是,当您累加许多序数类型的测量值(这就是您的情况)时,您最终得到的测量值实际上既不是序数也不是间隔,并且难以解释。 p>

    我建议您将满意度分数转换为 分位数 分数,然后使用这些分数的总和,因为这将为您提供更易于解释的数据。但即使在这种情况下,也不清楚是 Pearson 还是 Spearman 更合适。

    【讨论】:

    • 例如……沟通障碍如何?高度忧虑与非常高度忧虑没有明确的区别,对吧?但是我已经看到该变量已使用 Pearson's r 与其他变量相关联。这完全没问题吗?谢谢!
    【解决方案4】:

    我今天遇到了一个有趣的角落案例。

    如果我们只查看非常少量的样本,Spearman 和 Pearson 之间的差异可能会非常大。

    在以下情况下,这两种方法报告了完全相反的相关性。

    一些快速的经验法则来决定 Spearman 与 Pearson:

    • Pearson 的假设是恒定的方差和线性(或相当接近的东西),如果不满足这些假设,可能值得尝试 Spearman。
    • 上面的例子是一个极端情况,只有在有少数 (100 个数据点,并且数据呈线性或接近线性,则 Pearson 将与 Spearman 非常相似。
    • 如果您认为线性回归是分析数据的合适方法,那么 Pearson 的输出将匹配线性回归斜率的符号和大小(如果变量已标准化)。
    • 如果您的数据包含一些线性回归无法识别的非线性成分,则首先尝试通过应用转换(可能是 log e)将数据整理成线性形式。如果这不起作用,那么 Spearman 可能是合适的。
    • 我总是先尝试 Pearson 的,如果不行,我会尝试 Spearman。
    • 您能否添加更多经验法则或更正我刚刚推断出的那些?我已将此问题设为社区 Wiki,因此您可以这样做。

    附言这是重现上图的 R 代码:

    # Script that shows that in some corner cases, the reported correlation for spearman can be
    # exactly opposite to that for pearson. In this case, spearman is +0.4 and pearson is -0.4.
    y = c(+2.5,-0.5, -0.8, -1)
    x = c(+0.2,-3,   -2.5,+0.6)
    
    plot(y ~ x,xlim=c(-6,+6),ylim=c(-1,+2.5))
    title("Correlation: corner case for Spearman vs. Pearson\nNote that they are exactly opposite each other (-0.4 vs. +0.4)")
    abline(v=0)
    abline(h=0)
    lm1=lm(y ~ x)
    abline(lm1,col="red")
    
    spearman = cor(y,x,method="spearman")
    pearson = cor(y,x,method="pearson")
    legend("topleft",
        c("Red line: regression.",
        sprintf("Spearman: %.5f",spearman),
        sprintf("Pearson:   +%.5f",pearson)
    ))
    

    【讨论】:

      【解决方案5】:

      虽然同意查尔斯的回答,但我建议(在严格的实际水平上)您计算两个系数并查看差异。在许多情况下,它们会完全相同,因此您无需担心。

      但是,如果它们不同,那么您需要查看您是否满足 Pearson 的假设(恒定方差和线性),如果不满足这些假设,您可能最好使用 Spearman。

      【讨论】:

      • 作为一名机器学习者,我在统计正确性方面当然不是圣人,但在执行测试后检查假设对我来说似乎是异端。
      • @steffen 我认为这很好。回归的一个假设是残差是正态分布的。在运行回归之前你会如何检查?
      • @Glen:在这种情况下我不能。但是当我比较不同模型的质量时,我通常更喜欢在执行测试之前检查假设(例如近似正态分布),以减少放松假设以支持某些测试结果的趋势。称之为预防心理把戏。我想这只是我;)。
      • @steffen:你对异端的看法是正确的,但是如果这两个程序给出相同的结果,那么使用哪个是一个口味问题,但如果他们不那么检查假设和他们失败的地方可以经常对数据提供有用的洞察力。就个人而言,我尽可能使用 spearman,但这在我的领域并不常见。
      猜你喜欢
      • 2013-03-30
      • 2012-07-14
      • 2014-08-16
      • 2017-06-29
      • 1970-01-01
      • 2011-09-07
      • 2014-11-17
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多