-
08-14 t-분포의 활용 : SE로 Sm을 추정 (파이썬)데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 5. 11. 12:08
자, 이제는 우리가 배운 내용들을 파이썬으로 구현해 볼거야. 우리의 목표는 두 개야.
① 평균의 표집 분포에서 모집단의 표준 편차(Sm)를 알 수 없을 때, Sm은 평균의 표집 분포에서 표준 편차, 즉 표준 오차(sm, SE) = 표본의 표준 편차(s)를 표본 크기의 제곱근(√n)으로 나눠서 추정할 수 있었어. 진짜 추정되는지 파이썬으로 계산해 보자구!
② 표준 편차를 알 수 없는 모집단으로부터 표본을 추출해서 t값을 관측한 다음에 t-분포를 활용해 보자구!
-
① Sm을 SE = s/√n 로 추정하는 방법.
평균의 표집 분포에서 모집단의 Sm을 알 수 없을 때, SE = s/√n 로 추정될 수 있잖아? 다만, SE가 S와 가까워 지려면 표본의 크기(n)이 커야 했지. 무한대로 커져야만 SE가 Sm이 될 수 있을건데.. 정말일까?
먼저 우리에겐 모집단이 없으니 모집단을 만들어 볼까? 집단을 만들 땐 random 모듈의 normalvariate() 함수로 만들 수 있었어. 기억나지? 아래의 포스트에서 만들어 봤었는데..
https://kimhaksung.tistory.com/entry/pytong08-2
기억나지 않아도 normalvariate() 함수의 소괄호 안에 만들고자 하는 모집단의 평균(M, mu)과 표준 편차(S, sigma)를 넣어주기만 하면 되니까 간단해!
normalvariate(mu, sigma)
그리고 리스트 컴프리헨션을 사용해서 population 이라는 이름의 리스트에 평균이 7이고 표준 편차가 2인 1만개의 항목을 생성해 볼까? 이왕이면 statistics 모듈로 모집단의 평균과 표준 편차도 같이 출력해 보자구!
위 코드를 실행해 보면 모집단의 평균 M은 7에 가까운 값이, 모집단의 표준 편차 S는 2에 가까운 값이 출력되는 것을 볼 수 있어. 당연하지 뭘.
그리고 여기서 표본을 추출할 건데, 표본의 크기는 20으로 할거야. 단순 무선 추출을 위해서는 random 모듈의 sample() 함수를 사용하면 돼.
sample(추출할집단, 표본크기)
sample() 함수를 사용해서 모집단으로부터 20개를 추출하려면 아래와 같이 코드를 작성할 수 있을거야. sample 이라는 이름의 리스트에 표본 추출을 해서 표본 집단으로 만들어 볼게. 그러면서 표본 집단의 표준 편차(s)도 같이 볼까? 단, 모집단의 표준 편차는 pstdev() 함수로 구할 수 있고, 표본 집단의 표준 편차는 stdev() 함수로 구할 수 있다는 점 명심해야돼!
코드를 실행해 보면 20개의 표본과 함께 표본 집단의 표준 편차가 2에 가깝게 출력되는 것을 볼 수 있어. 이제 s를 구했으니 s를 표본 크기의 제곱근으로 나눠볼까?
코드를 실행해 보면 평균의 표집 분포에서 표준 편차, 즉, 표준 오차(sm, SE)가 0.4를 왔다갔다 하는걸 볼 수 있어. 표본의 크기를 늘려보면 어떨까? 2000개 정도로 늘려볼게.
표본의 표준 편차 s도 모집단의 표준 편차와 더욱 더 비슷해 졌을 뿐만 아니라 표준 오차 SE도 0.45 근처를 안정적으로 왔다갔다 하고 있네! 이렇게 구한 값은 이론적 표준 오차라고 할 수 있지? 그럼 우리는 컴퓨터의 힘을 빌려 초경험적 표준 오차를 구해 볼거야. 표집 분포에 대해 공부할 때 다뤘던 포스트의 내용을 응용해서 말야.
https://kimhaksung.tistory.com/entry/pytong07-3
우리는 모집단으로부터 표본의 크기가 20인 표본들을 매우 많이 추출한 다음의 평균들을 구해 볼거야. 그리고 이 평균들의 표집 분포에서 평균들의 표준 편차도 구해 보자는 것이지. 그 값이 0.45 근처를 왔다갔다 하는지 알아보기 위해서 말야! 표본의 크기와 표본의 개수를 직접 입력할 수 있도록 코드를 작성해 볼까?
나는 표본의 크기를 20으로, 표본의 개수를 2000개로 입력해 봤어. 그랬더니 평균들의 평균은 7과 가까운 모집단의 평균 매우 비슷했고, 평균들의 표준 편차 또한 0.45와 매우 비슷한 값이 출력되는 것을 볼 수 있어. 그러니 우리는 표본 집단의 표준 편차(s)만으로 표준 오차(SE)를 구할 수 있고, 표준 오차를 통해 평균의 표집 분포에서 모집단의 표준 편차(Sm)를 추정 할 수 있다는 뜻이지!
다음으로는 t-분포를 활용해 볼까?
'데이터 분석 > 파이썬으로 배우는 데이터 분석을 위한 통계학' 카테고리의 다른 글
08-16 t-검정 2 : 단일 표본 (파이썬) (0) 2022.05.11 08-15 t-검정 1 : 기본 (파이썬) (0) 2022.05.11 08-13 t-분포의 활용 : t-검정 (0) 2022.05.10 08-12 t-분포의 활용 : t-분포표 (0) 2022.05.09 08-11 자유도 : df (0) 2022.05.04