티스토리 뷰

반응형


상관관계 분석 

  • 상관분석(Correlation Analysis)은 확률론과 통계학에서 두 변수간에 어떤 선형적 관계를 갖고 있는 지를 분석하는 방법입니다. 두변수는 서로 독립적인 관계로부터 서로 상관된 관계일 수 있으며 이때 두 변수간의 관계의 강도를 상관관계(Correlation, Correlation coefficient)라 합니다. 상관분석에서는 상관관계의 정도를 나타내는 단위로 모상관계수 ρ를 사용합니다.

  • 상관관계의 정도를 파악하는 상관계수(Correlation coefficient)는 두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하는 것은 아닙니다. 두 변수간에 원인과 결과의 인과관계가 있는지에 대한 것은 회귀분석을 통해 인과관계의 방향, 정도와 수학적 모델을 확인해 볼 수 있습니다.

- 위키백과 中



피어슨 상관 계수 

  • 상관관계 분석에서는 기본적으로 피어슨 상관 계수(Pearson correlation coefficient)는 두 변수간의 관련성을 구하기 위해 보편적으로 이용됩니다. 정의는 다음과 같습니다.

r = x 와 y 가 함께 변하는 정도 / x 와 y 가 각각 변하는 정도


피어슨 상관계수를 해석하는 방법 

  • r 값은 x 와 y 가 완전히 동일하면 +1, 전혀 다르면 0, 반대방향으로 완전히 동일하면 -1 의 값을 갖습니다. 일반적으로 다음과 같이 해석합니다.




Python 에서의 상관분석 

  • Python 에서는 pandas 에서 제공하는 함수들을 통해 직접 구현하지 않고도 손쉽게 상관분석을 할 수 있습니다.


  • 다음과 같은 데이터가 있다고 가정해봅시다. a, b, c, d 라는 변수가 있는 상황에서 우리는 각각이 어떤 관계를 갖는지 상관분석을 하고 싶습니다.

import pandas as pd

lst = [[1,2,3,4,5,6,7],
        [10,15,20,25,50,55,60],
        [0,0,0,0,0,0,0],
        [-1,-20,-30,-45,-50,-55,-70]]

df = pd.DataFrame(lst).T
corr = df.corr(method = 'pearson')
print(corr)


  • list 를 pandas DataFrame 으로 변환한 뒤 corr 메소드를 실행시켜주기만 하면 됩니다. 기본적으로 '피어슨 상관계수'를 사용합니다. 실행시킨 뒤엔 다음과 같은 결과를 얻을 수 있습니다.


  • 1과 가까울수록 양의 상관관계이며 -1과 가까울수록 음의 상관관계입니다. 데이터 처럼 a,b 는 양의 상관관계이고 a,b 와 d 는 음의 상관관계를 갖는 것을 알 수 있습니다.






부족한 블로그에 방문해 주셔서 감사합니다.

잘못된 부분이나 질문이 있으시면 

댓글로 말씀해주세요.


금방 확인하고 피드백 드리겠습니다.


좋은 하루 되세요. ^^



반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함