티스토리 뷰
상관관계 분석
상관분석(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 pdlst = [[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).Tcorr = df.corr(method = 'pearson')print(corr)
list 를 pandas DataFrame 으로 변환한 뒤 corr 메소드를 실행시켜주기만 하면 됩니다. 기본적으로 '피어슨 상관계수'를 사용합니다. 실행시킨 뒤엔 다음과 같은 결과를 얻을 수 있습니다.
1과 가까울수록 양의 상관관계이며 -1과 가까울수록 음의 상관관계입니다. 데이터 처럼 a,b 는 양의 상관관계이고 a,b 와 d 는 음의 상관관계를 갖는 것을 알 수 있습니다.
부족한 블로그에 방문해 주셔서 감사합니다.
잘못된 부분이나 질문이 있으시면
댓글로 말씀해주세요.
금방 확인하고 피드백 드리겠습니다.
좋은 하루 되세요. ^^
'머신러닝 > Python' 카테고리의 다른 글
[Python] sys.stdin 사용방법 (0) | 2018.05.18 |
---|---|
[Tensorflow] RuntimeError: Graph is finalized and cannot be modified 해결 (0) | 2018.02.07 |
- Total
- Today
- Yesterday
- 백준
- 파이썬
- 영월캠핑
- 가평여행
- 가족여행
- 커플여행
- 강원도캠핑
- 여름휴가
- 캠핑초보
- 카카오
- Koreancuisine
- 여름휴가추천
- 글램핑
- Oracle
- 가평캠핑
- sql
- bukhansannationalpark
- 강원도여행
- 서울근교캠핑
- 가족캠핑
- 캠핑장추천
- 머신러닝
- 알고리즘
- 여름캠핑
- python
- 계곡캠핑
- SeoulTravel
- 자연힐링
- 영월여행
- 반려견캠핑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |