ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 08-18 t-검정 4 : 대응 표본 (파이썬)
    데이터 분석/파이썬으로 배우는 데이터 분석을 위한 통계학 2022. 5. 20. 13:26

     이왕 t-검정에 대해 다루는거 대응 표본 t-검정 (paired samples t-test)까지 가 볼까?

     

     대응 표본 t-검정은 같은 집단을 두 번 측정하는데, 첫 번째는 처치를 하지 않은 다음 측정하는 것이고, 두 번째는 처치를 한 다음에 측정하는거야. 어떻게 보면 우리가 배우는 가설 검정에 제일 적합한 검정이 되겠지?

     

     단일 표본 t-검정에서는 알려진 모집단으로부터 표본을 추출해서 처치한 다음 알려진 모집단의 평균과 표본의 평균이 같은지 분석했잖아? 일반적으로 사람들이 7개의 단어를 회상할 수 있으니(M=7) 20명을 추출해서 파이소스티그민을 투약한 다음 관측한 평균(m)을 모집단과 비교해보자! 이거였지.

     

     대응 표본 t-검정은 과정 하나가 추가되어서 모집단으로부터 표본을 추출하는데, 표본을 추출하자마자 아무런 처치를 하지 않고 관측을 하는거야. 그 다음에 동일한 표본에 어떤 처치를 한 다음 처치 결과를 측정해서 비교해 보자는거지. 그럼 단일 표본 t-검정을 하면 되지 굳이 대응 표본 t-검정을 할 필요가 있는가? 라고 생각할 수도 있는데, 단일 표본 t-검정은 모집단의 정보를 알고 있다는 전제로 사용해먹기 좋지만, 모집단의 정보가 없다면 대응 표본 t-검정이 더 유용하겠지?

     혹은 모집단에서 표본집단을 추출하지 않는다고 해도, 모집단 자체의 처치 효과를 비교하기 위해서도 좋아. 200명의 모집단에 처치 효과를 바로 보자는거지.

     

    -

     

     연구 목적은 이전의 실험들과 비슷하게 잡아볼게. 어떤 과학자는 평생의 연구 끝에 머리가 좋아지는 '따봉약'을 개발했어. 따봉약이 효과가 있는지 알아보기 위해 200명의 피험자들에게 따봉약을 투약할거야. 귀무 가설(H0)은 '따봉약이 효과가 없을 것이다.'가 되겠고, 대립 가설(H1)은 '따봉약이 효과가 있을 것이다.'가 되겠지?

     따봉약을 투약하기 전에 200명을 대상으로 IQ(지능 지수) 검사를 할거야. 그리고 따봉약을 투약한 다음 같은 대상들에게 IQ 검사를 해서 따봉약을 먹기 전과 후를 비교해 보는거지. 만약 따봉약을 먹고 난 다음 IQ에 변화가 생겼다면 따봉약이 효과가 있는 것이겠지?

     

     먼저 독립적이고 무선적으로 선발된 200명의 피험자 집단을 먼저 만들어 볼거야. 이 집단의 이름은 sample_before 라고 할게. 대신 평균이 106이고 표준 편차는 24로 정해줄거야. 한국인의 평균 IQ가 약 106정도라고 하네. 표준 편차 24는 대중 매체에서 IQ를 나타내는데 가장 선호하는 표준 편차라서..

     

     

     그리고 같은 집단에게 따봉약을 투약할거야. 우리는 과학자가 개발한 따봉약이 어느정도 효과가 있다는 가정 하에 코드를 작성해 볼텐데, 여러분이 직접 과학자의 연구의 성공 정도를 정할 수 있도록 값을 입력 받을거야. 아래의 코드 처럼 말야.

     

     

     위의 코드를 보면, difference에 IQ를 무작위로 상승 시킬 값의 최대 범위를 입력하게 되어있어. 그리고 sample_after에는 기존 집단의 항목들에 0부터 diffrenece까지의 값 중에 무작위 정수를 더해서 항목을 추가하게 되어있지! 어떤 사람에게는 효과가 좋을 수도 있지만, 또 어떤 사람에게는 효과가 없을 수도 있으니까.

     

     예를 들어 5를 입력하면 기존 집단(sample_before)의 항목에 0부터 5까지의 숫자 중에서 무작위로 정해진 하나의 값이 기존 항목에 더해져서 새로운 집단(sample_after)에 추가되는거야.

     

     평균을 비교해 보면 여러분이 입력한 값에 따라 어느정도 상승한 것을 볼 수 있어. 만약 0을 입력했다면 아무런 변화가 없겠지만 말야.

     

     다음으로는 sample_before 집단과 처치가 끝난 sample_after 집단을 비교할건데, scipy 라이브러리의 ttest_rel()이라는 함수를 사용할거야.

     

    ttest_rel(처치전집단, 처치후집단)

     

     처치 전 집단에 sample_before를, 처치 후 집단에 sample_after를 넣어서 결과를 볼까?

     

     

     마찬가지로 t값은 statistic에, p값, 즉 확률은 pvalue로 출력되는 것을 볼 수 있어. 만약 10을 입력했다면 평균 IQ가 5정도 상승했을 것이고, 그에 따른 p값이 출력될거야. 여러가지 수치를 넣어 봐도 대부분의 상황에서 p값은 0.05보다 매우 작은 것을 알 수 있어. 귀무 가설이 기각되는거야!

     

     

     귀무 가설의 기각 판단 여부 까지 코드로 짜주면 완성이 되겠지? 짜잔! 따봉약은 효과가 엄청났다..

Designed by Tistory.