상관분석 :: 통계 - mindscale
Skip to content

상관분석

상관 관계

상관(correlation)이란 "서로 관련을 가짐 또는 그런 관계"라는 뜻입니다. 통계적으로는 두 개의 양이 어느 정도 규칙적으로 동시에 변화되어 가는 성질을 말합니다.

양의 상관관계

예를 들어 스마트폰 중독에 빠질 수록, 비만이 심해진다고 해봅시다. 중독이 증가하면, 비만이 높아지는 상관 관계가 있는 것입니다. 물론 어느 정도 규칙적이라고 했으므로 반드시 그렇다고 할 수는 없습니다. 다만 대체적인 경향이 있다는 것이죠. 그리고 이때는 중독이 증가할 때, 비만도 증가하므로 양(+)의 상관관계(positive correlation)라고 합니다. 양의 상관관계가 있는 두 변수의 관계를 산점도(scatterplot)으로 시각화하면, 점들이 우상향하는 형태로 배치됩니다.

상관계수

상관계수(correlation coefficient)는 상관관계의 강도를 수치로 나타낸 것입니다. 상관계수에는 여러 종류가 있지만, 흔히 많이 쓰는 피어슨(Pearson)의 상관계수를 기준으로 이야기해봅시다. 피어슨의 상관계수는 +1에서 -1까지 있습니다. 피어슨 상관계수가 +1이라는 것은 산점도에서 점들이 일직선 상에 있다는 의미입니다. 즉, 이 경우는 두 변수 간의 관계가 완벽한 규칙성을 나타내게 됩니다. 상관계수가 낮아지면 규칙성은 점점 약해집니다. 상관계수가 0이면, 규칙성을 찾아볼 수 없는 상태가 됩니다.

기울기와 상관계수

이때 직선은 기울기가 가파를 수도 있고, 완만할 수도 있습니다. 기울기가 얼마나 가파른가는 단위에 따라 달라질 수 있습니다. 스마트폰 중독에 빠지면 몸무게가 10 Kg 증가한다고도 할 수 있고, 10000 g 증가한다고도 할 수 있습니다. 기울기는 이런 수치 변화를 나타냅니다. 그런데 규칙적인 정도는 똑같습니다. 기울기는 단위에 따라 달라지지만, 상관계수는 단위에 영향을 받지 않습니다. 왜냐하면 상관계수는 규칙적인 정도를 나타내기 때문입니다.

음의 상관관계

이번에는 커피를 많이 마시면, 사망률이 감소한다고 해봅시다. 이때는 커피 섭취량이 증가하면, 사망이 감소하는 관계입니다. 이런 경우는 음(-)의 상관관계(negative correlation)라고 합니다.

상관관계가 -일 경우에, 산점도는 우하향하는 형태를 나타내게 됩니다. 이때도 상관계수가 -1이면 두 변수 간의 관계는 일직선 상에, 완벽한 규칙성을 띄게 됩니다. 즉, 상관계수의 부호 +, -는 방향성을 나타내고, 크기는 규칙성을 의미합니다.

상관계수가 -일 때도, 0에 가까워질 수록 점점 규칙성이 약해집니다.

상관 계수 구하기

car.xlsx에서 가격 price과 주행거리 mileage의 피어슨 상관계수를 구해봅시다.

df = pd.read_excel('car.xlsx')
pg.corr(df.price, df.mileage)
n r CI95% p-val BF10 power
pearson 274 -0.67616 [-0.74 -0.61] 5.80939e-38 5.069e+34 1

상관계수는 -0.67616, 95% 신뢰구간은 -0.74~-0.61이며 p-value는 5.80939e-38입니다.

df = readxl::read_excel('car.xlsx')
cor.test(df$price, df$mileage)

상관 분석에서 귀무가설은 "모집단의 상관계수가 0이다"입니다. 따라서 p < 유의수준이면, 이 귀무가설을 기각하고 상관계수가 0이 아니라고 주장할 수 있습니다.

Question

두 변수의 상관계수가 0.4이고 p-value가 0.03으로 나왔습니다. 두 변수의 상관계수는 모집단에서 어떤 관계에 있다고 추론할 수 있습니까? (유의수준 5%)

  • (+) 관계
  • 관계가 없다
  • (-) 관계
  • 결론 내릴 수 없다

Question

두 변수의 상관계수가 -0.1이고 p-value가 0.7로 나왔습니다. 두 변수의 상관계수는 모집단에서 어떤 관계에 있다고 추론할 수 있습니까? (유의수준 5%)

  • (+) 관계
  • 관계가 없다
  • (-) 관계
  • 결론 내릴 수 없다

Question

주가와 금 가격 데이터를 다운받아 아래 질문에 답해보세요.

위의 데이터에서 주가(SPX)와 금 가격(GLD)의 피어슨 상관계수와 그 95% 신뢰구간을 구하세요.

두 변수의 상관계수는 모집단에서 어떤 관계에 있다고 추론할 수 있습니까? (유의수준 5%)

  • (+) 관계
  • (-) 관계
  • 결론 내릴 수 없다

Question

IQ 검사 데이터를 다운받아 아래 질문에 답해보세요.

위의 데이터에서 독해(Comprehension)와 단어(Word)의 피어슨 상관계수와 그 95% 신뢰구간을 구하세요.

두 변수의 상관계수는 모집단에서 어떤 관계에 있다고 추론할 수 있습니까? (유의수준 5%)

  • (+) 관계
  • (-) 관계
  • 결론 내릴 수 없다

Question

skincancer.xlsx를 다운받아 열어보세요.

Mort 변수는 천만명 당 피부암 사망자 수 입니다. Lat는 위도(latitude)를 나타냅니다. 둘의 상관관계를 분석해보세요.

Long은 경도(longitude)를 나타냅니다. MortLong의 상관관계를 분석해보세요.

Question

다음 각각에 대해 예/아니오로 답해보세요

  • 상관분석은 두 변수의 관계를 -1~1 사이의 값으로 나타낸다
  • 상관계수는 두 변수의 관계를 나타내는 추세선의 기울기이다
  • 상관분석에서는 모평균 = 0이라는 귀무가설을 검정한다
  • 피어슨 상관계수는 선형적인 관계를 나타낸다
  • 상관계수가 +이면 한 변수가 증가할 때 다른 변수도 증가하는 관계이다

상관행렬

어떤 데이터에서 여러 변수들의 상관계수를 구해서 표로 나타낸 것을 상관 행렬(correlation matrix)이라고 합니다. 상관계수는 범주형 변수에서도 구할 수는 있는데, 제한이 있습니다. 보통은 연속 변수들만 골라서 상관 행렬을 만듭니다.

df.corr()
cor(Filter(is.numeric, df))