이전 게시물에 이어서 이번에는 상관 분석을 파이썬을 통해 알아보자.
귀무가설 : 꽃잎의 길이와 꽃받침의 길이 간에는 관련성(직선의 관계)이 없다.
대립가설 : 꽃잎의 길이와 꽃받침의 길이 간에는 관련성(직선의 관계)이 있다.
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보다 적어 꽃잎의 길이와 꽃받침의 길이 간에는 통계적으로 유의한 강한 양의 상관관계가 있는 것을 알 수 있다.
'데이터 분석 > 통계(Statistics)' 카테고리의 다른 글
[Python] 상관 분석(산점도, 상관계수) - Pearson, Spearman, Kendall (0) | 2020.09.19 |
---|---|
[Python] 분산 분석(ANOVA) : feat.크루스칼-왈리스 순위합 검정- (2) (0) | 2020.09.10 |
[Python] 분산 분석(ANOVA) : feat.(SST,SSE,SSB) - (1) (0) | 2020.09.09 |
[Python] 카이제곱 검정(교차분석) (1) | 2020.09.03 |
[Python] 대응 2표본 검정(Paired test) - (2) (0) | 2020.08.29 |