데이터 분석/통계(Statistics)

[Python] 상관 분석(산점도, 상관계수) with Python

Jerry Jun 2020. 9. 23. 21:41
728x90

이전 게시물에 이어서 이번에는 상관 분석을 파이썬을 통해 알아보자.


귀무가설 : 꽃잎의 길이와 꽃받침의 길이 간에는 관련성(직선의 관계)이 없다.

대립가설 : 꽃잎의 길이와 꽃받침의 길이 간에는 관련성(직선의 관계)이 있다.



1. Pearson


stats.pearsonr(x = iris.petal_length, y = iris.sepal_length)

---------------------------------------------------------------

(0.8717537758865832, 1.0386674194497525e-47)


Person 방법은 stats.pearsonr() 을 사용한다.


0.872 : 표본의 상관계수(r)

0.000 : 유의확률


유의확률이 0.000 이므로 유의수준 0.05에서 꽃잎의 길이(petal_length)와 꽃받침의 길이(sepal_length) 간에 통계적으로 양의 상관관계가 있는 것으로 판단할 수 있다. 따라서 꽃잎의 길이가 증가하면 꽃받침의 길이도 증가하는 경향을 보인다고 생각할 수 있다.




2. Spearman


stats.spearmanr(a = iris.petal_length, b = iris.sepal_length)

-----------------------------------------------------------------

SpearmanrResult(correlation=0.8818981264349859, pvalue=3.443087278047102e-50)


0.882 = rs

0.000 = 유의확률



Spearman 의 경우에는 0.882 가 나오며 Pearson 방법보다 상관계수가 더 많이 나오면서 양의 상관관계가 강하게 나온 것을 확인할 수 있다.




3. Kendall


stats.kendalltau(x = iris.petal_length, y = iris.sepal_length)

-----------------------------------------------------------------

KendalltauResult(correlation=0.7185159275387325, pvalue=1.1691259442824597e-36)



0.719 : tau

0.000 : 유의확률


Kendall 의 방법 또한 양의 상관관계를 보였지만 다른 2가지의 방법보다는 상관계수가 덜 나온 것을 볼 수 있다.





그렇다면 데이터셋이 있을 때 처음부터 단계를 밟아보자.


[1단계] 정규성 검정

귀무가설 : 정규분포를 만족한다.

대립가설 : 정규분포를 만족하지 않는다.


pl_normality = stats.shapiro(iris.petal_length)

sl_normality = stats.shapiro(iris.sepal_length)

print("Petal Length : ", pl_normality)

print("Sepal Length : ", sl_normality)

--------------------------------------------------

Petal Length :  ShapiroResult(statistic=0.8762689232826233, pvalue=7.41295913542217e-10)
Sepal Length :  ShapiroResult(statistic=0.9760899543762207, pvalue=0.010180278681218624)


데이터가 많지 않으므로 anderson 보다는 shapiro 를 써서 정규성을 확인한다.

두 데이터 모두 유의확률이 0.05보다 작으므로 정규성 가정이 깨졌다.



[2단계] Spearman or Kendall 을 이용한 상관분석


stats.kendalltau(iris.petal_length, iris.sepal_length)

---------------------------------------------------------

KendalltauResult(correlation=0.7185159275387325, pvalue=1.1691259442824597e-36)


유의확률 0.000 이므로 유의확률 0.05보다 적어 꽃잎의 길이와 꽃받침의 길이 간에는 통계적으로 유의한 강한 양의 상관관계가 있는 것을 알 수 있다. 




상관분석흐름도




300x250