더북(TheBook)

상관 계수 검정

cor.test( )를 사용해 상관 계수 검정Correlation Test을 수행하여 상관 계수의 통계적 유의성을 판단할 수 있다. 이때 귀무가설은 ‘H0: 상관 계수가 0이다’이며, 대립가설은 ‘H1: 상관 계수가 0이 아니다’이다.

<Note> 통계적 유의성

통계적으로 유의하다는 말은 관찰된 현상이 전적으로 우연에 의해 벌어졌을 가능성이 낮다는 의미다. 상관 계수의 통계적 유의성을 보려면 귀무가설을 ‘상관 계수가 0이다’로, 대립가설을 ‘상관 계수가 0이 아니다’로 놓은 뒤 p-value를 구한다. 만약 p-value가 0.05보다 작다면 귀무가설이 참이라고 가정했을 때 데이터로부터 구한 상관 계수를 볼 확률이 낮다는 의미며, 그런 상관 계수는 귀무가설 하에서는 우연히 발생하기 어렵다. 따라서 통계적으로 유의미한 상관 계수다. 위키피디아의 통계적 유의성에 대한 페이지[18]를 참고하기 바란다.

표 7-19 상관 계수에 대한 가설 검정

cor.test : 상관 계수에 대한 가설 검정을 수행한다.

cor.test(
  x,  # 숫자 벡터
  y,  # 숫자 벡터
  alternative=c("two.sided", "less", "greater"),  # 대립가설. 기본값은 양측 검정(two.sided)
  method=c("pearson", "kendall", "spearman")      # 상관 계수의 종류. 기본값은 피어슨
)

c(1, 2, 3, 4, 5)와 c(1, 0, 3, 4, 5) 간의 피어슨 상관 계수, 스피어만 상관 계수, 켄달의 상관 계수에 대해 상관 계수 검정을 수행해보자.

> cor.test(c(1, 2, 3, 4, 5), c(1, 0, 3, 4, 5), method="pearson")

   Pearson's product-moment correlation

data: c(1, 2, 3, 4, 5) and c(1, 0, 3, 4, 5)
t = 3.9279, df = 3, p-value = 0.02937
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.1697938 0.9944622
sample estimates:
      cor
0.9149914

> cor.test(c(1, 2, 3, 4, 5), c(1, 0, 3, 4, 5), method="spearman")

   Spearman's rank correlation rho

data: c(1, 2, 3, 4, 5) and c(1, 0, 3, 4, 5)
S = 2, p-value = 0.08333
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
0.9

> cor.test(c(1, 2, 3, 4, 5), c(1, 0, 3, 4, 5), method="kendall")

   Kendall's rank correlation tau

data: c(1, 2, 3, 4, 5) and c(1, 0, 3, 4, 5)
T = 9, p-value = 0.08333
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
0.8

코드 수행 결과 피어슨 상관 계수에서만 p-value가 0.05보다 작아 상관관계가 유의한 것으로 나타났다. 이처럼 세 가지 상관 계수의 값은 서로 다른 값이 될 수 있다. 이런 경우 더 작은 숫자를 사용하는 것이 바람직하다. 위의 경우라면 켄달의 상관 계수 0.8이 가장 작은 값이므로 이 값을 사용한다. 또는 세 가지 값이 계산하는 것이 무엇인지 알고 데이터의 성격에 비추어 올바른 상관 계수를 찾아 사용해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.