ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 08-15 t-검정 1 : 기본 (파이썬)
    데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 5. 11. 14:37

     이번에는 두 번째 목표를 가볼까?

     

    ② 표준 편차(S)를 알 수 없는 모집단으로부터 표본을 추출해서 t값을 관측 후 활용

     

     표준 편차를 알 수 없는 모집단은 만들수가 없으니.. 일단 우리가 만들어 놓은 평균이 7(M=7)이고 표준 편차가 2(S=2)인 모집단을 만들어 놓고 시작할게. 대신 표준 편차 2는 모른다고 가정하는거야. 알아도 모른척 하는거지~

     

     그런 다음 모집단으로부터 표본의 크기가 20(n=20)인 표본을 무선적으로 추출할거야. 이 표본을 가지고 가설 검정을 할건데 귀무 가설과 대립 가설을 정해놓고 시작하면 좋겠지?

     

    통계적 가설

     

    귀무 가설 H0 : 표본의 평균(m)은 모집단으로부터 나온것이다. 즉, 약물이 효과가 없다.

    대립 가설 H1 : 표본의 평균(m)은 모집단으로부터 나온것이 아니다. 즉, 약물이 효과가 있다.

     

     대신 표본은 무선적이고 독립적으로 표집되며, 약물을 투여하지 않은 모집단은 평균이 7인 정규 분포를 따른다고 가정할게.

     

    유의도 수준과 임계값 그리고 결정 규칙

     

     유의도 수준은 95%에 해당되지 않으면 우연으로 보지 않을 것이고(P95), 그에 대한 임계값는 자유도가 20-1=19일때 -2.093과 2.093이야. 즉, 결정 규칙은 -2.093<t<2.093 이라면 귀무 가설 H0을 기각하지 않는 것이고, 그렇지 않다면 귀무 가설 H0을 기각하는 것이 되겠지.

     

    -

    파이썬을 활용한 계산

     

     자, 이제 파이썬을 활용해서 계산해 볼건데, 모집단이 없으니 모집단을 만들어볼까? 전에 다뤘던 random 모듈의 normalvariate() 함수를 사용하면 되겠지? 1만개의 사례수를 가지고 있는 모집단을 만들어 볼게. 단, 평균은 7(M=7)이고 표준 편차는 2(S=2)인데 표준 편차를 모른다고 가정할거야.

     

     

     위 코드를 실행해 보면 population 이라는 이름으로 모집단을 생성했고, 모집단의 평균 M을 출력 할 수 있어. 7과 가까운 값이 출력되겠지?

     

     이제 여기서 무선적이고 독립적으로 추출한 표본의 크기가 20(n=20)인 표본 집단의 평균이 8.4(m=8.4), 표준 편차가 2.3(s=2.3)이라고 가정해 볼게. 이 8.4를 가지고 t값을 먼저 구해볼까? t값은

     

    t = (m-M) / SE = (m-M) / (s/√n)

     

     로 구할 수 있었어!

     

     

     위 코드를 출력해 보면 t값이 2.72 근처로 출력되는 것을 볼 수 있어. 마지막으로 이 t값과 임계 수준을 따져 봐서 귀무 가설을 기각해야 되는지 판단해야겠지? 조건문을 활용하면 될거야.

     

     

     t값이 2.72 근처로 나오는데, 2.72는 양방 검정에서 P95를 넘어가는 값이니 당연히 귀무 가설이 기각될 수 밖에 없어! 간단하지?

     

    -

     

    scipy 라이브러리 활용

     

     그런데 매번 자유도와 유의도 수준을 t 분포 표를 보면서 찾아야 할까? 넘 귀찮잖아? 그래서 우리는 scipy 라이브러리의 stats 모듈을 활용할거야. t.ppf() 함수를 사용하면 우리가 원하는 t 결정 값을 찾을 수 있어!

     

    t.ppf(유의수준, 자유도)

     

     예를 들어 양방 검정일 때 P95 유의 수준에서 표본의 크기가 20이라면 아래와 같은 코드로 t 결정 값을 바로 알 수 있지!

     

     

     넘 편하게 2.093이 출력된 것을 볼 수 있지? 이제 이 t 결정 값을 사용해서 코드를 바꿔볼게! 대신 표본 집단의 크기와 평균 그리고 표준 편차를 입력받아 보도록 코드를 바꿔볼게.

     

     

     여러분들도 코드를 실행한 다음 여러가지 값을 넣어서 귀무 가설이 기각되는지, 기각되지 않는지 살펴보면 좋겠네!

Designed by Tistory.