본문 바로가기
11. 상관분석/피어슨

[파이썬 통계] 피어슨 상관분석

by 만다린망고 2022. 1. 5.

아래 세 패키지를 불러옵니다. 

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값입니다.