💙독립표본검정을 공부했습니다.
두 그룹의 차이를 통계적으로 검증합니다.
💙독립표본검정
다음은 빅데이터 분석기사 실기 시험 점수이다. A그룹과 B그룹의 평균 점수가 차이가 있는지 유의수준 0.05하에서 가설 검정하시오. (데이터는 정규분포를 따르고 분산이 동일하다고 가정한다.)
- 귀무가설(H0): 그룹별 시험 평균 점수는 차이가 없다. (μ1 = μ2)
- 대립가설(H1): 그룹별 시험 평균 점수는 차이가 있다. (μ1 ≠ μ2)
💙데이터는 아래와 같습니다.
# 데이터
A = [85, 90, 92, 88, 86, 89, 83, 87,
84, 50, 60, 39, 28, 48, 38, 28]
B = [82, 82, 88, 85, 84, 74, 79, 69,
78, 76, 85, 84, 79, 89]
여기서 A,B를 보시면 데이터의 개수가 다릅니다.
우리가 대응표본검정(ttes_rel())에서는 사전-사후 이기때문에 데이터의 개수(shape)가 같아야했지만 독립표본검정(ttes_ind())는 달라도 된다는 점을 기억해야합니다.
# 독립표본검정
from scipy import stats
stats.ttest_ind(A,B)
(처리집단, 대조집단) 을 넣게 되는데 처리집단을 약을 투여했거나 새로운 프로그램을 적용한것
대조집단은 아무것도 적용하지 않은 것을 이야기합니다.
처리를 한 집단이 있다고 하면 먼저! 넣습니다.
💙 결과
TtestResult(statistic=-2.051813915505951, pvalue=0.04964542271174967, df=28.0)
귀무가설 기각, 대립가설 채택할 수 있습니다.
# 두 집단의 분산이 다르다(equal_var=False)
from scipy import stats
stats.ttest_ind(A,B,equal_var=False)
파이썬의 기본은 분산이 같다이지만 만약에 분산이 다르다! 하면 equal_var=False를 입력해야합니다.
💙 결과
TtestResult(statistic=-2.1837307810153024, pvalue=0.04352730399590312, df=16.729279968729678)
pvalue값이 0.04니까 마찬가지로 대립가설 채택입니다.
💙 이번엔 단측검정을 해보려고 합니다
아래는 예시입니다.
|
# 독립표본검정(less)
from scipy import stats
stats.ttest_ind(A,B, equal_var=True, alternative='less')
분산은 같다고 가정하고, 단측검정에서는 alternative를 설정해주면됩니다.
기준은 A (앞에있는것) 입니다.
A가 B보다 낮아야하니까 less
|
# 독립표본검정(greater)
stats.ttest_ind(A,B, equal_var=True, alternative='greater')
A가 B보다 높아야하니까 greater을 입력해줍니다.
💙 심화학습!
심화에서는 위에 문제로 되어있는 아래의 문장 중 하이라이트 되어있는 부분을 확인해볼것입니다.
독립표본검정다음은 빅데이터 분석기사 실기 시험 점수이다.
A그룹과 B그룹의 평균 점수가 차이가 있는지 유의수준 0.05하에서 가설 검정하시오. (데이터는 정규분포를 따르고 분산이 동일하다고 가정한다.)
|
💙 일단 먼저 정규성 검정을 하는데 샤피로검정으로 진행합니다.
두 그룹을 각각! 검정해야합니다.
# Shapiro-Wilk(샤피로-윌크) 정규성 검정
from scipy import stats
print(stats.shapiro(A))
stats.shapiro(B)
ShapiroResult(statistic=0.8128696504554708, pvalue=0.00405770158688692)
ShapiroResult(statistic=0.9610027583368682, pvalue=0.739578582064332)
💙 샤피로는 귀무가설이 되기를 바라야 하고(귀무가설이 정규성이라는 말이니까) 그 값이 B니까
B는 정규분포를 만족한다! 라고 볼 수 있습니다.
A는 정규분포를 만족하지 않다.
💙 샤피로검정에서 정규분포를 만족한다면 비모수검정으로 넘어가야하고
대표적인 것은 만휘트니U입니다.
💙 Mann-Whitney U 검정 (비모수 검정)
- 귀무가설(H0): 그룹별 시험 중앙값 점수는 차이가 없다. (μ1 = μ2)
- 대립가설(H1): B그룹 시험 중앙값 점수가 더 높다. (μ1 < μ2)
(추가) 비모수 검정: 평균 -> 중앙값으로 변경 (중앙값도 평균값이라 동일하다고 하겠습니다.)
# Mann-Whitney U(만-휘트니 유) 검정
stats.mannwhitneyu(A,B,alternative='less')
a그룹이 더 작아야하니까 less를 넣습니다.
MannwhitneyuResult(statistic=106.0, pvalue=0.40944636368515097)
0.05보다 크기때문에! 귀무가설을 기각할 수 없고, 귀무가설을 채택하게 됩니다.
만약에 샤피로 윌크에서 A,B가 둘다 정규성 검정을 만족한다면
💙 Levene(레빈)등분산검정을 해야합니다.
# Levene(레빈) 등분산 검정 (귀무가설: 분산이 동일하다)
stats.levene(A, B)
LeveneResult(statistic=8.013957643762076, pvalue=0.008497116974003)
귀무가설 기각하고 대립가설 채택합니다.
분산이 다르기때문에 이 이후에는 독립표본검정을 하게 됩니다.
💙 독립표본검정
- 귀무가설(H0): 그룹별 시험 평균 점수는 차이가 없다. (μ1 = μ2)
- 대립가설(H1): B그룹 시험 평균 점수가 더 높다. (μ1 < μ2)
# 독립표본검정 (분산이같지않음을 설정해줘야됨.)
stats.ttest_ind(A,B,equal_var=False,alternative='less')
# 귀무가설채택
💙결과
TtestResult(statistic=-2.1837307810153024, pvalue=0.02176365199795156, df=16.729279968729678)
대립가설 채택입니다.
'자격증 > [빅분기] 빅데이터분석기사' 카테고리의 다른 글
[작업형3] 범주형 데이터 분석 - 적합도검정 (1) | 2024.11.09 |
---|---|
[작업형3] 범주형 데이터 분석 - 카이제곱검정 (0) | 2024.11.08 |
[작업형3] 대응표본검정 + 심화 (9) | 2024.11.06 |
[작업형3] 단일표본검정 심화 (0) | 2024.11.05 |
[작업형3] 단일표본검정 (1) | 2024.11.04 |