[python/파이썬] 대표본에서 두 모비율 차이 검정 예제
통계초등학교에서 소풍에 대한
선생님과 학생이 지지도를 조사하였습니다.
선생님은 10명을 조사하였으며,
학생은 100명을 조사하였으며 결과는 다음과 같습니다.
선생님의 지지율은 60%(15/25)이며,
학생의 지지율은 70%(70/100)입니다.
이 경우, 선생님의 지지율이 학생의 지지율보다 낮다고 할 수 있을까요?
모비율 관련해서 표본이 대표본이라면,
정규분포로 근사하여 계산합니다.
표본이 소표본이라면,
이항분포로 계산합니다.
대표본인지 소표본인지 여부는 다음을 기준으로 판단합니다.
계산결과가 대표본이 아니라면,
소표본에 해당됩니다.
참고로 해당 식은
이항분포의 기댓값과 분산에서 유래된 식입니다.
이항분포와 관련해서는
아래 글을 참조 부탁드립니다.
[python/파이썬] 이항분포
변수는 랜덤하게 발생하거나, 일정한 확률을 가지고 발생합니다. 일정한 확률을 바탕으로 발생하는 변수를 확률변수(Random Variable)라고 합니다. 확률변수들이 모여 확률분포를 이루게 됩니다. 데
gilber.tistory.com
예제에서 제시된 선생님 표본의 크기가 30이며,
찬성의 모비율이 0.6(60%)이므로
30 × 0.6 의 결과가 5 초과이고,
30 × 0.6 × (1 - 0.4)의 결과도 5 초과이므로,
통계적으로는 대표본에 해당됩니다.
학생의 경우도 대표본에 해당됩니다.
대표본이면 정규분포로 근사할 수 있습니다.
다시 예제로 돌아가서,
표본의 결과 선생님의 찬성비율은 60%이고,
학생의 찬성비율 70%보다 많으므로,
실제 선생님의 찬성비율이 더 낮다고 말할 수 있을까요?
모수에 대해서 펼치는 주장을 가설이라고 합니다.
모수에 대해서 새로운 주장을 한다면,
기존의 주장과는 대립되므로 대립가설이라고 합니다.
만약 대립가설이 타당하지 않다면,
기존의 주장으로 돌아가게 되므로, 기존의 주장을 귀무(歸無)가설이라고 합니다.
돌아갈 귀(歸)와 없을 무(無)의 귀무이며,
돌아가서 보니 변한 건 없다는 의미입니다.
<가설검정 1단계> 귀무가설과 대립가설 설정
귀무가설은 다음과 같습니다.
소풍에 대한 통계초등학교 선생님과 학생의 찬성비율은 같다.
대립가설은 다음과 같습니다.
소풍에 대한 통계초등학교 선생님의 찬성비율은
학생의 찬성비율보다 낮다.
이제는 새로운 주장인 대립가설이 맞는지 확인할 통계 수단을 찾아야 합니다.
만약 대립가설이
'통계초등학교 선생님과 학생의 찬성비율이 다르다'라면,
이는 선생님의 비율이 더 높은 경우와
선생님의 비율이 더 낮은 경우를 모두 포괄하므로
양측검정이 됩니다.
사례의 경우는 선생님의 찬성비율이 더 낮은 경우만을 검정하므로,
단측검정이 됩니다.
<가설검정 2단계> 검정통계량 설정
예제는 대표본이므로,
Z검정통계량을 사용하기로 합니다.
이를 가설을 검정할 때 사용하는 통계량이므로,
검정통계량이라고 합니다.
대표본에 사용되는 Z분포(표준정규분포)는,
아래 글을 참조 부탁드립니다.
[python/파이썬] 정규분포
변수는 랜덤 하게 발생하거나, 일정한 확률을 가지고 발생합니다. 일정한 확률을 바탕으로 발생하는 변수를 확률변수(Random Variable)라고 합니다. 확률변수들이 모여 확률분포를 이루게 됩니다.
gilber.tistory.com
우리는 가설이 타당한지 여부를 결정해 줄 검정통계량으로
Z분포를 정했습니다.
Z분포는 그래프의 면적이 확률을 나타내는 확률분포이며,
그래프의 개형은 다음과 같습니다.
Z분포는 평균이 0인 좌우대칭이며,
표준편차가 1인 정규분포로서,
기준인 0을 중심으로 +1, -1 사이에 많은 자료값들이 분포가 되어있습니다
그래프 아래의 면적이 곧 확률이므로,
기준에서 멀어질수록 확률은 줄어들게 됩니다.
일반적으로는 발생할 확률이 5%도 채 되지 않는다면,
통계적으로는 발생할 확률이 없다고 판단합니다.
만약 선생님과 학생의 찬성비율이
같다와 같지 않다만 비교한다면,
양 극단의 2.5%만 비교합니다.
지금은 선생님이 비율이
학생의 비율보다 낮다라는 주장에 대해 검정하므로,
왼쪽 극단의 5%만 비교합니다.
만약 표본에서 선생님의 찬성비율이 학생보다 높게 나왔다면,
애초에 선생님의 찬성비율이 더 낮다는 주장을 하기 어렵습니다.
표본에서는 선생님의 찬성비율이 더 낮게 나왔으므로,
실제 모비율에서도 선생님의 찬성비율이 더 낮을 것으로 예상이 되지만,
과연 통계적으로도 낮다고 할 수 있을지가 문제가 됩니다.
통계적으로는 95%의 확률로
선생님과 학생의 찬성비율이 같을 것으로 예상(귀무가설)하며,
검정통계량이 나머지 5%에 속하는 경우에 한해서,
학생의 찬성비율이 더 높다고 할 수 있습니다.
왼쪽 극단의 5%에 해당하는 Z통계량 값은 다음과 같습니다.
참고로, 선생님의 찬성비율이 높은 경우는
자료의 순서를 변경하거나,
아니면 오른쪽 극단의 5%에 해당하는 Z통계량으로 비교합니다.
Z분포는 0을 기준으로 좌우대칭이므로,
왼쪽 극단의 5%는 오른쪽 극단과 같은 값이나
부호를 달리합니다.
오른쪽 극단의 5%에 해당하는 Z통계량 값은 다음과 같습니다.
<가설검정 3단계> 유의수준 설정
우리는 발생할 확률이 5%도 채 되지 않는다면,
가설을 받아들이지 않기로 하였습니다.
이때 기준이 되는 확률이 바로 유의수준입니다.
유의수준은 보통 %로 표시하지 않고,
소수점으로 표현하므로
5% 대신 0.05로 표기합니다.
만약 선생님과 학생의 비율이 같다고 가정한
Z검정통계량이 5% 이내의 구간에 포함된다면,
기존가설(귀무가설)을 받아들이지 않기로 하겠습니다.
우리는 현재 선생님과 학생의 찬성비율을 비교하는 중이며,
비율이 같다고 가정한 기존 가설의 발생확률이
5%도 되지 않는다면,
기존가설을 받아들이지 않는 것이 타당하기 때문입니다.
그러나 우리가 기준으로 삼은 검정통계량이
-1.6448536269514722 보다 작은 경우로서,
발생할 확률이 95%가 넘는 구간에 속한다면,
기존 귀무가설을 받아들이도록 하겠습니다.
<가설검정 4단계> 검정통계량 계산
이를 수식에 대입하면 다음과 같으며,
이번 예제의 검정통계량 값은 약 -0.894427입니다.
data['supportive'][0]은 data의 supportive 열 기준으로 첫번째 값을 읽어오라는 뜻입니다.
data.sum(axis=1)[0]은 data의 행기준(axis=1)으로 모든 값을 더하고 첫번째 값을 읽어오라는 뜻입니다.
참고로 파이썬에서는 Z 검정통계량을 별도로 계산해주는 메서드는 없으므로,
직접 수식에 대입하여 값을 얻어야 합니다.
<가설검정 5단계> 통계적 판단
우리는 기준으로 삼은 검정통계량이
-1.6448536269514722 보다 작은 경우에만
기존 귀무가설을 받아들이지 않기로 하였습니다.
검정통계량이 약 -0.894427이고
- 1.6448536269514722보다 크므로,
선생님과 학생의 찬성비율이 같다는
기존 귀무가설을 기각할 수 없습니다.
이를 통계적인 표현으로는
귀무가설을 채택한다고 표현합니다.
가설의 기각여부는 귀무가설을 중심으로 표현하지만,
결론은 대립가설을 기준으로 표현합니다.
따라서 이번 예제의 결론은 다음과 같습니다.
유의수준 5%에서 검정결과,
통계초등학교 소풍에 대한 선생님의 찬성비율은
학생의 찬성비율보다 낮다는
대립가설을 기각합니다.
즉, 표본에서 선생님의 찬성비율이
학생의 찬성비율보다 낮게 나왔으나,
통계적으로는 선생님의 찬성비율이 더 낮다고 할 수 없습니다.