데이터 출처 : www.kaggle.com/mustafaali96/weight-height
weight-height.csv
weights and heights.
www.kaggle.com
github 주소 : github.com/sangHa0411/DataScience/blob/main/Statistics_Part2.ipynb
sangHa0411/DataScience
Contribute to sangHa0411/DataScience development by creating an account on GitHub.
github.com
이번 포스팅을 통해서는 기초 통계학에서 배우는 가설 검정에 대해서 Python의 Scipy 라이브러리를 이용해서 구현해보고 가설검정의 과정과 원리에 대해서 이해해보도록 하겠습니다.
먼저 위에 있는 Kaggle에서의 데이터를 Pandas를 이용해서 불러옵니다.
저는 먼저 1변량에 대해서 가설 검정을 하기 위해서 남성의 키에 대한 데이터만를 대상으로 진행해보도록 하겠습니다.
전체적인 과정은 위 github 주소에 가시면 확인하실 수 있습니다.
간단하게 요약하자면 위 데이터에서의 남성의 키 데이터를 모집단이라 한다면 여기서 사이즈가 500인 샘플을 추출해서 가설검정을 진행을 준비하는 것입니다.
진행하기 앞서서 먼저 통계적 가설검정의 이론에 대해서 간단하게 정리해보겠습니다.
통계적 가설검정은 표본을 사용해서 모집단에 관한 통계적인 판단을 내리는 방법입니다.
먼저 가설을 세워서 그 가설이 기각이 되는지 판단함으로써 데이터에 대한 판단을 하는 것입니다.
기각 대상이 되는 첫 번째 가설을 귀무가설이라 하고 귀무가설과 대립되는 가설을 대립가설이라 합니다.
저희는 간단하게 1변량의 데이터를 다루므로 귀무가설을 모집단의 평균에 대해서 가설을 세우고 이를 검정해보겠습니다.
귀무가설 : 남성의 키의 평균이 69(inch) 이다.
대립가설 : 남성의 키의 평균이 69(inch) 이 아니다.
이렇게 모집단의 평균에 대한 가설을 세워볼 수 있습니다.
참고로 69(inch)는 제 임의대로 정한 값입니다.
이제 이러한 가설을 표본을 이용해서 검정을 해보겠습니다.
귀무가설을 기각하는 기준이 되는 값을 p값이라 합니다. p값이 작을수록 귀무가설과 표본이 모순된다고 생각할 수 있습니다.
p값이 유의수준보다 작으면 귀무가설을 기각하는데 유의수준은 주로 5% , 즉 0.05를 기준으로 진행해보도록 하겠습니다.
저번 포스팅 electronicprogrammers.com/51
Statistics - Scipy 을 이용해서 표본 통계량 활용해 모수 추정하기
데이터 출처 : www.kaggle.com/mustafaali96/weight-height weight-height.csv weights and heights. www.kaggle.com github 주소 : github.com/sangHa0411/DataScience/blob/main/Statistics_Part1.ipynb sangH..
electronicprogrammers.com
에서 다루었다 싶이 모집단의 평균을 추정하기 위해서는 t분포를 이용해야 합니다.
t값의 정의는 아래와 같습니다.
모평균 u는 저희가 앞서서 69라고 생각을 하였고 나머지는 표본에서 값을 구할 수 있습니다. n은 표본의 크기를 의미합니다.
아래는 scipy를 이용해서 표본의 평균 및 분산 , 표준오차를 구하는 과정입니다.
이제 최종적으로 저희는 t값을 구할 수 있습니다.
주의할 것은 위 공식에서 구한 값의 절댓값이 최종적인 t값이 되는 것입니다.
이제 이 t값이 자유도가 (500) 인 t분포에서 어디 쯤의 위치인지 그리고 그 값을 이용해서 확률을 구하면 됩니다.
먼저 -10 ~ 10 까지의 t분포에서의 값을 구해놓습니다.
저희가 자유도가 500인 t 분포를 위에서 언급한 sp.stats.t.pdf 함수를 이용해서 그린 것이 파란색 실선의 함수입니다.
그리고 붉은색 점선은 t = 0.396에서의 값입니다.
이제 붉은색 점선 왼쪽의 넓이를 구함으로써 자유도가 500인 t 분포에서 t값이 0.396 보다 낮을 확률을 구할 수 있게 되는 것입니다.
이를 편하게 구하기 위해서 t 분포의 cdf 를 이용해보겠습니다.
sp.stats.t.cdf를 이용해서 자유도가 500인 경우 t = 0.396 보다 낮을 확률을 구해보겠습니다. 이를 alpha라고 하겠습니다.
아래 알기 쉽게 그래프로 그려보았는데 t가 0.396보다 낮을 확률은 0.654가 되었습니다. 이 값이 alpha가 되는 것입니다.
p 값의 정의는 위에서 구한 alpha 를 이용해서
(1 - alpha) * 2 가 됩니다.
그 이유를 정리하자면 다음과 같습니다.
여기서 저희가 구한 alpha를 1에서 뺀 값을 양쪽으로 두어서 저희가 설정한 값(69 inch)가 너무 크지 않은지 혹은 너무 작은게 아닌지 검사하는 것입니다. 이를 양측검정이라 합니다.
이렇게 구한 2 (1 - alpha) = p 값이라 하며 이 값이 0.05 보다 낮게 된다면 귀무가설이 기각되고 대립가설을 선택하게 됩니다.
그 이유는 0.05 저희가 정한 유의수준보다 낮게 된다면 저의가 정한 (69 inch) 라는 수치가 충분히 크다라는 의미를 가지게 되어서 유의미한 차이를 가진다는 의미로 해석할 수 있게 되기 때문입니다.
위에서 확인 할 수 있다 싶이 저희가 정한 값이 크면 클 수록 검은색 영역이 더 커지게 되고 따라서 alpha 값이 커지게 됩니다.
그렇게 되면 1 - alpha 값이 작아지게 되고 이는 저희가 정한 값을 이용해서 구한 t값이 t분포에서 멀리 위치한다는 것을 의미하므로 이는 유의미한 차이를 가질 수 있게 된다. 라고 해석할 수 있게 됩니다.
최종적으로 구한 p 값입니다.
구한 p값이 유의수준 0.05보다 크므로 저희는 귀무가설을 기각하지 않게 됩니다.
따라서 모평균의 평균 값을 69 inch 라고 할 수 있게 됩니다.
참고자료 : www.yes24.com/Product/Goods/85743006
파이썬으로 배우는 통계학 교과서
이론이나 수식을 몰라도 파이썬 함수로 이해하는 통계학 데이터 분석에 관심이 높아지면서 통계학이 주목받고 있다. 이 책은 데이터 분석 관점에서 통계학을 설명한다. 어려운 통계학 개념을
www.yes24.com
'Statistics' 카테고리의 다른 글
Statistics - Scipy 을 이용해서 표본 통계량 활용해 모수 추정하기 (0) | 2020.10.26 |
---|---|
Statistics - Scipy를 이용한 통계량 구하기 (0) | 2020.10.26 |