기초통계

[실습] 집단분석 : Depression.xlsx 데이터

2022. 8. 25. 10:42

집단분석


[1단계] 데이터 불러오기

# 데이터셋 불러오기
import pandas as pd

dp = pd.read_excel('c:\\data\\depression.xlsx')
dp.head()
dp.head() dp.info()  
y : 치료효과



 

[2단계] 집단의 등분산성 비교하기

levene  검정

· 귀무가설 : 분산이 같다.

import pingouin as pg

pg.homoscedasticity(dv='y', group='TRT', data=dp)

> 결과 : pval가 0.000416 으로 0.05 보다 작다.

            분산이 같다는 귀무가설을 기각하고, 등분산성을 만족하지 않는 것으로 보고 진행한다.

 

집단 분석에서 등분산성을 만족하지 않을 때 > welch_anova


 

[3단계] 분산분석

· 귀무가설 : 모든 집단의 평균이 같다.

pg.welch_anova(dv='y', between='TRT', data=dp)

> 결과 : p-unc*가 0.006106 로 0.05보다 작다.

             모든 집단의 평균이 같다는 귀무가설을 기각, 전체 중 하나 이상의 집단은 평균이 다를 수 있다.

 

            np2 = 0.171857

            >  치료효과(y)의 분산의 17%를 치료 방법이 설명한다.

                어떤 사람은 치료 효과가 좋고 어떤 사람은 나쁘고 이런 경우가 있는데

                그 차이 중에 17% 정도는 치료 방법에 따른 것 ( 점수의 17% 가 아니다)

 

* 참고 : pingouin 0.5.2 documentation

dp.groupby('TRT')['y'].std()

> 집단 간 분산이 같지 않음.

 


 

[4단계]  사후검정

3단계 집단간 분석에서 모든 집단의 평균이 같다는 귀무가설이 기각되고 일부 집단 간 통계적으로 유의미한 차이가 있을 수 있다는 것에 대한 확인이 필요해졌다.

pg.pairwise_gameshowell(dv='y', between='TRT',data=dp)

> 결과 :

0번 (A와 B) 1번 (A와 C) 2번 (B와 C)
  • 귀무가설 : A와 B의 평균이 같다.
  • 귀무가설 : A와 C의 평균이 같다.
  • 귀무가설 : B와 C의 평균이 같다.
  • 결과 : p < 0.05
  • 해석 : A와 B의 평균은 유의미한 차이가 있다(다르다)


  • 결과 : p > 0.05
  • 해석 : 귀무가설 기각하지 못함. 그러나 A와 C의 평균은 유의한 차이가 없다, ('다르다'고 할 만큼 평균 간 차이가 없고 평균이 같을 수도 있다.)
  • 결과 : p > 0.05
  • 해석 : 귀무가설 기각하지 못함. 그러나 B와 C의 평균은 유의한 차이가 없다.('다르다'고 할 만큼 평균 간 차이가 없고 평균이 같을 수도 있다.)

 사후검정은 두 집단 간의 ttest를 여러번 하는 것.

그래서 여러번 하는 도중에 틀릴 수가 있다 이 부분을 보정하는 것.

 

· 집단분석을 사용할 수 있는 곳

- 평균을 비교할 때

- 서비스 제품을 만드는데 고객만족도의 평균을 비교하고 싶을 때

 

  두 집단 간 한번 비교 여러 집단 간 비교
등분산 O pg.ttest pg.pairwise_tukey
등분산 X pg.ttest pg.pairwise_gameshowel