Pearson과 Spearman 상관 관계 중에서 선택하는 방법은 무엇입니까?


119

Spearman 's 와 Pearson 's 중에서 언제 선택해야하는지 어떻게 알 수 있습니까? 내 변수에는 만족도가 포함되며 점수는 점수의 합을 사용하여 해석되었습니다. 그러나 이러한 점수는 순위를 매길 수도 있습니다.ρr


2
또한 비 일반 데이터에 대한 스피어 대 피어슨에이 질문을 참조 stats.stackexchange.com/questions/3730/...
제로미 Anglim

1
정상적인 데이터의 경우 피어슨을 생성하십시오. 비정규 데이터의 경우 스피어 맨을 생성하십시오.

답변:


137

데이터를 탐색하려면 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

이것은 가 와 단조 증가 하기 때문에 Spearman 상관 관계는 완벽하지만 선형 적이 지 않기 때문에 Pearson 상관 관계가 불완전하기 때문입니다. yx

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

S> P가있는 경우 단조이지만 선형이 아닌 상관 관계가 있음을 의미하므로 두 가지를 모두 수행하는 것이 흥미 롭습니다. 통계에 선형성을 갖는 것이 좋기 때문에 (쉬운) (예 : 로그) 에 변환을 적용 할 수 있습니다 .y

이것이 상관 관계 유형의 차이점을 이해하기 쉽게 만드는 데 도움이되기를 바랍니다.


2
나는 이것이 당신이 이미 말한 것에서 주어진 것이라고 추측하지만 S <P가 발생할 수 없다는 것을 확인하고 싶습니다.
Jonathan Thiele

9
@JonathanThiele 그것은 S <P. 예를 들어 Anscombe 's Quartets의 II와 IV 세트는이 동작을 보여줍니다. 또한이 질문을 참조하십시오 : stats.stackexchange.com/questions/27127/…
atomicules

1
@atomicules 정보 주셔서 감사합니다. 방금 Anscombe 's Quartet의 상관 관계를 확인했으며 링크가 도움이되었습니다.
Jonathan Thiele

Corrgram 프레젠테이션에 Pearson과 Spearson 상관 관계를 어떻게 포함시킬 수 있습니까? -여기에 사례가 있다고 생각합니다. stackoverflow.com/a/40523080/54964-- 다단계 문제가 있으므로 Spearson을 포함하는 것이 유효하고 Pearson 만 사용할 수 없다고 생각합니다.
Léo Léopold Hertz 준영

이 방법은 특히 여러 변수 간의 상관 관계를 테스트 할 때 한 테스트와 다른 테스트의 번거로운 타당성을 입증 할 수있는 이점이 있으므로 일반적으로 사용하는 접근 방식입니다. Pearson 또는 Spearman 상관의 가정이 충족되는지 여부를 확인하기 위해 각 변수를 검사하는 대신 모든 것을 모두 실행하십시오. 많은 실제 응용 프로그램에서 유사한 연관성 측정 방법을 제공하므로 결과가 크게 다른 비교적 적은 수의 인스턴스 만 더 깊이 파고 들면 더 자세한 정보를 얻을 수 있습니다.
핵 왕

50

가장 짧고 대부분 정답은 다음과 같습니다.

Pearson은 선형 관계를 벤치마킹하고 Spearman은 단조로운 관계를 벤치마킹합니다 (더 일반적인 경우는 거의 없지만 일부 전력 절충의 경우).

따라서 관계가 선형 (또는 특별한 경우 두 가지 측정 기준이므로 관계는 )이고 상황이 너무 위태 롭지 않다고 가정 / 생각하면 (자세한 내용은 다른 답변을 확인하십시오) Pearson과 함께하십시오. 그렇지 않으면 Spearman을 사용하십시오.y=1x+0


35

이것은 통계에서 자주 발생합니다. 상황에 적용 할 수있는 다양한 방법이 있으며 어떤 방법을 선택할지 모릅니다. 고려중인 방법의 장단점과 문제의 세부 사항을 결정해야하지만, 결정은 일반적으로 합의 된 "올바른"답변없이 주관적입니다. 일반적으로 합리적으로 보이는 것처럼 많은 방법을 시도하고 인내심으로 어떤 결과가 가장 좋은 결과를 낼 수 있는지 알아 보는 것이 좋습니다.

Pearson 상관 관계와 Spearman 상관 관계의 차이점은 Pearson이 구간 스케일 에서 측정 한 측정에 가장 적합 하고 Spearman이 서수 스케일 에서 측정 한 측정에 더 적합하다는 것 입니다. 간격 눈금의 예에는 "화씨 온도"및 "인치 길이"가 포함되며, 여기서 개별 단위 (1 ° F, 1 인치)는 의미가 있습니다. "만족도"와 같은 것은 "5 행복"이 "3 행복"보다 더 행복하다는 것이 명백하기 때문에 "1 행복의 행복"에 대한 의미있는 해석을 줄 수 있는지는 확실하지 않기 때문에 순서 형 경향이 있습니다. 하지만 합치면 귀하의 경우에있는 서수 유형의 많은 측정은 실제로 서 수도 간격도 아니고 해석하기 어려운 측정으로 끝납니다.

만족도 점수를 Quantile 점수 로 변환 한 다음 그 점수의 합으로 작업하는 것이 좋습니다 . 해석에 좀 더 적합한 데이터가 제공됩니다. 그러나이 경우에도 Pearson 또는 Spearman이 더 적합한 지 명확하지 않습니다.


2
예를 들어 ... 의사 소통에 대한 불안은 어떻습니까? 높은 불안감은 매우 높은 불안감과 명확한 차이가 없습니다. 그러나 Pearson의 r을 사용하여 변수가 다른 변수와 상관 관계가 있음을 알았습니다. 완전히 괜찮습니까? 감사합니다!

28

나는 오늘 흥미로운 코너 사건에 부딪쳤다.

아주 적은 수의 샘플을보고 있다면 Spearman과 Pearson의 차이가 극적으로 나타날 수 있습니다.

아래의 경우 두 방법은 정확히 반대의 상관 관계를 보고합니다 .

여기에 이미지 설명을 입력하십시오

Spearman과 Pearson을 결정하는 몇 가지 간단한 규칙 :

  • Pearsons의 가정은 일정한 분산과 선형성 (또는 합리적으로 가까운 것)이며,이를 충족시키지 못하면 Spearmans를 시도해 볼 가치가 있습니다.
  • 위의 예는 소수 (<5)의 데이터 포인트가있는 경우에만 나타나는 경우입니다. 100 개가 넘는 데이터 포인트가 있고 데이터가 선형이거나 그에 가까운 경우 Pearson은 Spearman과 매우 유사합니다.
  • 선형 회귀가 데이터를 분석하는 데 적합한 방법이라고 생각되면 Pearsons의 출력은 선형 회귀 기울기의 부호 및 크기와 일치합니다 (변수가 표준화 된 경우).
  • 데이터에 선형 회귀가 발생하지 않는 비선형 구성 요소가있는 경우 먼저 변환 (아마도 log e)을 적용하여 데이터를 선형 형태로 정리하십시오. 그래도 작동하지 않으면 Spearman이 적합 할 수 있습니다.
  • 나는 항상 Pearson을 먼저 시도하고, 그래도 작동하지 않으면 Spearman을 시도합니다.
  • 더 이상 경험 법칙을 추가하거나 방금 추론 한 규칙을 수정할 수 있습니까? 이 질문을 커뮤니티 위키로 만들었습니다.

ps 다음은 위의 그래프를 재현하는 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)
))

7

찰스 답변에 동의하면서, 나는 당신이 두 계수를 계산하고 그 차이를 살펴볼 것을 제안합니다. 많은 경우에, 그것들은 정확히 같을 것이므로 걱정할 필요가 없습니다.

그러나 서로 다르면 Pearsons (일정한 분산 및 선형성)의 가정을 충족했는지 여부를 살펴보고이를 충족하지 않으면 Spearmans를 사용하는 것이 좋습니다.


3
기계 학습자로서 나는 통계 정확성에 대해 확실히 성자는 아니지만 테스트를 수행 한 후 가정을 확인하는 것은 나에게 이단처럼 보입니다.
steffen

7
@ steffen 괜찮습니다. 회귀의 한 가정은 잔차가 정규 분포를 따르는 것입니다. 회귀 분석을 실행하기 전에 어떻게 확인 하시겠습니까?
Glen

1
@ 글렌 :이 경우에는 할 수 없습니다. 그러나 다른 모델의 품질을 비교할 때 일반적으로 특정 테스트 결과에 유리하게 가정을 완화하는 경향을 줄이기 위해 테스트를 수행하기 전에 가정 (예 : 대략 정규 분포)을 확인하는 것이 좋습니다. 그것을 정신 트릭 예방이라고 부릅니다. 나는 그것이 단지 나라고 생각한다;).
steffen

1
@ steffen : 당신은 이단에 대해 정확하지만 두 절차가 동일한 결과를 제공하면 사용할 맛의 문제이지만, 가정을 확인하지 않고 실패하는 경우 종종 데이터에 유용한 통찰력을 줄 수 있습니다. 개인적으로, 나는 가능하면 스피어 맨을 사용하지만 이것은 내 분야에서 일반적인 관행이 아닙니다.
richiemorrisroe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.