아래 세 패키지를 불러옵니다.
import pandas as pd
import numpy as np
import scipy.stats as stats
1. 넘파이 배열이용
넘파이 배열을 이용하여 상관분석을 해봅시다. 같은 크기의 배열을 생성합니다.
>>> ar1=np.random.rand(5)
>>> ar2=np.random.rand(5)
>>> ar1
array([0.71586954, 0.95337158, 0.03220131, 0.78345032, 0.9929689 ])
>>> ar2
array([0.18955187, 0.61692872, 0.19200319, 0.57322939, 0.60968089])
stats.pearsonr 함수를 이용하여 상관분석을 수행합니다.
>>> stats.pearsonr(ar1,ar2)
(0.7655682080852066, 0.13136033417182563)
결과 값 중 좌측이 상관계수, 우측이 p값입니다.
2. 판다스 시리즈 이용
판다스 시리즈를 이용하여 상관분석을 해봅시다. 같은 크기의 시리즈를 생성합니다.
>>> sr1=pd.Series(np.random.rand(5),index=['R1','R2','R3','R4','R5'])
>>> sr2=pd.Series(np.random.rand(5),index=['R1','R2','R3','R4','R5'])
>>> sr1
R1 0.696388
R2 0.761978
R3 0.206008
R4 0.188142
R5 0.285820
dtype: float64
>>> sr2
R1 0.800849
R2 0.093480
R3 0.885076
R4 0.719036
R5 0.543726
dtype: float64
stats.pearsonr 함수를 이용하여 상관분석을 수행합니다.
>>> stats.pearsonr(sr1,sr2)
(-0.5682629443444126, 0.3175520363805867)
결과 값 중 좌측이 상관계수, 우측이 p값입니다.
'11. 상관분석 > 피어슨' 카테고리의 다른 글
[파이썬 통계] 상관계수 행렬 (데이터프레임) (0) | 2022.01.05 |
---|