본문 바로가기
데이터분석-통계/통계학의 본질 이론

평균치 검정 : t검정 [One, Two(Student's & Welch's), Paired Samples t-test]

by TayLee 2024. 11. 3.
반응형

글의 목차

  1. 평균치 검정의 당위성 (왜 필요한가? feat 불확실성/변동성)
  2. 평균치 검정에 대한 정의 및 이해 
  3. 평균치 검정에 대한 가정 (정규성, 등분산성:Two Samples t-test)
  4. 평균치 검정의 종류 및 실제 계산 예시

 

혹시, Python으로 SciPy Library로 직접 구현하는 파트를 원하시면, 오른쪽 링크에 연결해 놓았습니다. 링크

 

평균치(t) 검정 t test 구현 [One, Two, Paired Samples t-test : Python feat. SciPy & Statsmodels]

글의 목차Python생태계의 통계 LibrarySciPy, Statsmodels의 차이점SciPy에서의 평균치 검정(t-test) 사용법 (feat 이론편의 예시 그대로 구현)One sample t-testTwo samples t-test (Student's & Welch's t-test)Paired samples t-test

taehyuklee.tistory.com

 

 

서론 (의문으로 부터 시작된 개론)

 어떤 두 집단간의 평균을 비교했을때 과연 수치가 다르다고해서 과연 다른걸까? 단순 변동성(불확실성)때문에 표본의 평균이 다를수 있는거 아닌가? 

 

 여기서, 단순 변동성(불확실성)때문에 표본의 평균이 다를수 있는거 아닌가? 이 말이 무슨 말일까를 이해해야 평균치 검정 더 나아가서 가설검정에 대해 이해할 수 있을 거라 생각한다.

 

위의 내용을 쉽게 설명해보도록

그림1. 독립된 두 집단 (평균과 분산은 같다)
그림1. 독립된 두 집단 (평균과 분산은 같다)

 

 1번 약과 2번 약의 효과를 비교하기 위해 동일한 체질의 사람들로 구성된 집단에 각각 약물을 투여했다고 가정해보자. 실제로는 두 약물의 평균 효과와 분산이 동일하다고 알려져 있다. 그러나 우리는 표본을 추출하여 약물을 투여한 후 그 결과를 관찰한다. 그 결과, 1번 약을 투여한 그룹의 평균은 그림에서 ① 위치에, 2번 약을 투여한 그룹의 평균은 ② 위치에 나타났다고 해보자.

 이 경우, 두 약물의 표본 평균이 다르다고 해서 두 약물의 효과가 다르다고 결론지을 수 있을까? 그렇지 않다. 이 상황은 사실 두 약물의 효과가 동일하지만, 변동성에 의해 두 집단의 표본 평균이 다르게 나타난 케이스라고 할 수 있다.

 

그림2. 유의수준 5% : 3번 약물 예시 추가
그림2. 유의수준 5% : 3번 약물 예시 추가

 

 따라서, 특정 평균이 단순한 변동성에 의해 나타난 일반적인 분포(95%) 내의 결과인지, 아니면 변동성을 넘어선 극단적인 확률(5%)에 해당하는 결과인지를 판단하는 과정이 평균 검정의 핵심이다. 이를 위해 검정통계량을 계산하고, 그 값에 따른 p-value를 구하는 과정은 가설검정에서 이미 다룬 바 있다.

 그림2에 X3의 알려진 분포를 추가로 그려 보았다. 위의 그림에서 직관적으로 이해해보자면, X1과 X2의 표본 평균은 같다고 불 수 있고 X3의 표본 평균은 다르다고 할 수 있다.

 또한, 위와 같이 세 집단의 분포를 모두 펼쳐 놓고 두 집단의 평균이 유의미하게 같은지 다른지를 판단하는 것은 어렵기 때문에, 검정 통계량을 이용해 평균을 비교하는 방법이 바로 '평균치 검정'이라고 할 수 있다.

참고 수식 합치기
참고 그림

  • 대략 두 집단을 하나의 검정 통계량(확률 변수)로 만드는 느낌을 위의 참고 그림처럼 나타내 보았다. (직관적이 느낌을 받길 바랍니다)

그리고 여담이지만, (그림2 기준으로) 3번 분포에서 표본을 추출했을때 혹시 1, 2번 분포의 95%구간 안에 들어오면 어떻게 하지? 반대로 1번 집단과 2번 집단이 실제로는 같은데, 우연히 하나의 표본이 5%구간 안에서 발견하면 어떻게 하지?라는 의문을 갖는다면, 축하합니다. 당신은 1종, 2종오류에 대해 이해할 준비가 되어 있는 것이다. 히지만, 이 부분은 이번 포스팅 주제가 아니므로 일단은 넘어간다.

 

 이전에 One-Sample t-test(평균 검정)를 예시로 들어 가설검정에 대해 설명한 바 있으니, 해당 내용을 먼저 참고하시기를 권장드립니다.

 

가설검정 이해: 검정통계량, 귀무가설, 대립가설, p-value, 유의수준 (significance level), 임계값 (critica

글의 목표1. 가설검정이 무엇인지 직관적으로 이해할 수 있다2. 검정통계량이 왜 도입됐는지 그리고 무엇인지를 이해할 수 있다.3. 귀무가설, 대립가설에 대한 정확한 정의를 알 수 있다.4. p-value,

taehyuklee.tistory.com

 

 

 

본론 (평균치 검정에 대해서)

1. 평균치 검정이란?

평균치 검정은 두 개의 집단의 평균이 통계적으로 유의미하게 같은지 또는 다른지를 판단하는 통계적 기법이다.

 

2. 평균치 검정의 가정

 가설 검정에서의 가정은 그 가정 위에 이론이 성립되었다는 의미이다. 따라서 이러한 가정을 충족하느냐의 여부에 따라 사용하는 기법이 달라져야 한다.

 

2.1 정규성 가정

  • t-검정은 모집단이 정규 분포를 따른다는 가정하에 수행된다. 이는 특히 표본 크기가 작을 때 중요한 가정이다.
    • 만약 표본 크기가 충분히 크다면(일반적으로 n > 30), 중심극한정리에 의해 표본 평균이 정규 분포에 가까워지기 때문에, 모집단이 정규성을 완벽히 따르지 않더라도 t-검정을 사용할 수 있다. 

중심극한 정리 포스팅을 참고하시길 바랍니다.

 

중심극한 정리 (Central Limit Theorem) : 정의 및 실험 & 용도

글의 목차중심 극한 정리란 무엇인가?중심 극한 정리에 대한 실험 (Python으로 실행)중심 극한 정리의 의미 (사용 용도) 중심 극한 정리란?  중심극한정리는 표본의 크기가 충분히 클 경우, 모집

taehyuklee.tistory.com

 

참고 그림 t분포와 Z분포
참고 그림: 샘플링 크기 (df)가 커질수록 t분포는 Z분포에 가까워 진다 (df=30일때 거의 Z분포와 비슷하다)

의문: 중심극한정리(CLT)에 의하면 샘플의 수가 많아질수록 표본 평균은 정규분포를 따르게 되는데, 왜 정규분포(Z분포)를 사용하지 않고 t분포를 사용하는거죠?

대답: t분포에서 자유도가 커질수록 어차피 Z분포에 가까워지기도 하며, 실제로 Z분포를 쓰기 위해서는 모집단의 표준편차를 알아야하는데 우리는 그 값을 알지 못한다.

 

정규성을 따르지 않을때

  • 만약 데이터의 수가 확연히 적거나 애매한데, 정규분포를 따르지 않는다고 할때, 비모수 검정을 사용한다.
  • 비모수 검정: 두 집단 간의 차이를 검정하는 데 있어 정규성 가정이 필요 없는 방법이다. 예를 들어, Mann-Whitney U 검정(독립 표본의 경우)이나 Wilcoxon 부호 순위 검정(대응 표본의 경우) 등이 있다.

 참고로, Mann-Whitney U검정이나 Wilcoxon 부호 순위 검정와 같은 비모수 검정은 저 또한 사용만 해봤지, 현재 시점으로는 앞으로 공부할 거리입니다.

 

 

2.2 등분산성 가정

  •  해당 가정은 아래 평균치 검정의 종류 중 독립 표본 t-검정 (Two Sample t-test)에만 해당된다. 그 이유는 독립 표본 t-검정이 서로 독립적인 두 집단 간의 평균 차이를 비교하기 때문에, 두 집단의 독립성이 검정의 기본 가정으로 요구되기 때문이다. 

저의 이해를 바탕으로 한 생각

 One Sample t-test의 경우에는 특정 기준값과의 차이를 검정하므로 등분산을 체크할 수 없으며, Paired Sample t-test는 같은 집단의 두 측정값을 비교하는 것이기 때문에 등분산성 체크가 필요하지 않다.

의문: 만약, 두 독립집단의 분산이 다른 것을 확인했음에도 불구하고 Two Sample t-test를 진행하면 어떻길래? 
대답: 예를 들어, 신약의 효능을 기존 약물과 비교하기 위해 두 집단으로 독립 표본 t-검정을 수행했다고 가정해 보자. 그리고 신약을 복용한 실험군의 데이터에서 분산이 상당히 크다는 결과가 나왔다고 해보자. 그럼에도 불구하고 t-검정을 통해 두 집단의 평균 차이가 유의미하다는 결론이 도출되었다면, 이는 여러 문제를 발생시킬 수 있다.
 신약이 평균적으로 혈압 감소 효과를 나타낼 수 있지만, 분산이 크다는 것은 개별 환자들 간의 효과 차이가 크다는 것을 의미한다. 즉, 일부 환자에게는 신약이 전혀 효과가 없거나, 심지어 혈압이 상승하는 경우도 발생할 수 있다. 이러한 상황은 신약의 신뢰성을 크게 저하시킬 수 있으며, 환자 개개인에 대한 효과 예측의 정확성을 떨어뜨리게 된다. 결국 치료의 일관성과 신뢰성이 결여될 수 있어 환자 치료에 있어 심각한 영향을 미칠 수 있게 된다. (위의 예시로 직관적으로 이해가 되셨으면 좋겠습니다)

 

3. 평균치 검정의 종류 

 3.1 일표본 t-검정 (One Sample t-test)

  • 목적: 한 표본의 평균이 특정 기준값(알려진 모집단의 평균)과 유의미하게 다른지 확인하기 위함.
  • 예시: 새로운 약물이 기준 혈압과 비교했을 때 효과가 있는지 확인하는 경우

[Table1. 환자 번호 & 약물 투여 후 측정된 혈압]

 
환자 리스트 투약 후 혈압 (mm Hg)
환자1 118
환자2 121
환자3 119
환자4 117
환자5 120
  • 검정: 이 집단의 평균 혈압이 기준 혈압(120mm Hg)과 유의미하게 다른지 검정한다.

검정 통계량 및 자유도

수식1
수식1. One Sample t-test 검정 통계량

 

 평균 검정에 대한 검정 통계량의 의미는 직관적으로 설명 가능하다. 표본의 평균이 내가 원하는 특정 평균과의 차이가 0에서 멀어질수록 두 평균은 달라지는 것이고 0이 될수록 가까워지는 의미를 갖고 있다. 표준편차로 나눈 것은 표준화하는 의미가 있다. 그리고 해당 검정 통계량은 t분포를 따른다고 알려져 있다. (앞선 가설검정 글을 참고해시길 바란다)

 

위의 예시를 기준으로 t검정통계량을 구해보게 된다면, 다음과 같다. 

One sample t-test t-value 계산 결과
One sample t-test t-value 계산 결과

 

 그리고 가설 검정을 해 보면 (Python으로 그려보면 다음과 같다)

fig3. One sample t-test
그림3. One sample t-test 가설 검정 (t분포)

 

 평균치 검정의 검정 통계량은 t분포를 따르므로, 자유도가 4인 t분포에서 p-value를 계산했다. 크고 작냐의 대소관계를 판단하는게 아니라 같냐 다르냐의 차이를 판단하는 것이기에 양측 검정을 수행해야 하며, 각 양측의 유의 수준은 0.025로 설정한다. 결과적으로, t-value가 -1.41 이하인 영역의 p-value는 0.2313으로 나타났다. 이는 p-value가 0.025보다 크므로 귀무가설을 기각할 수 없으며, 통계적으로 유의미한 차이가 없다고 판단할 수 있다. (귀무가설 채택)

 

 

 

 3.2 독립 표본 t-검정 (Two Sample t-test)

  • 목적: 서로 독립적인 두 집단의 평균이 유의미하게 다른지 확인하기 위함.
  • 예시: 약물을 복용한 집단과 복용하지 않은 집단의 평균 혈압을 비교하는 경우.

[Table2. 환자 번호, 집단 분류 & 약물 복용 여부측정된 혈압]

 

환자 리스트 집단 분류 투약 후 혈압 (mm Hg)
환자1 복용 115
환자2 복용 118
환자3 복용 116
환자4 미복용 122
환자5 미복용 124
  • 검정: 약물을 복용한 집단과 미복용 집단의 평균 혈압이 유의미하게 다른지 검정한다. (두 집단의 표본수가 꼭 같을 필요는 없다)

 

검정 통계량 및 자유도

 두 집단가의 평균치 검정의 경우, 두 집단이 등분산일 경우와 등분산이 아닐 경우로 나뉘게 된다. (이유와 예시는 위의 3.2 평균치 검정 가정 에서 다루었다)

*참고 - 위의 예시는 등분산성을 고려하거나 표본의 수의 불균형을 봤을때 Welch's t-test를 하는 것이 맞으나, 개념 설명을 위해 Student's t-test (Pooled t-test), Welch's t-test 모두 계산해봅니다.

 

a) 두 집단의 분산이 유의미하게 같을때 (등분산성이 만족될 때)

 

 Student's t-test (Pooled t-test)

수식2. Two Samples t-test 검정통계량
수식2. Two Samples t-test 검정통계량

 

위의 예시를 기준으로 t검정통계량을 구해보게 된다면, 다음과 같다. 

Student's t-test t-value 계산 결과
Student's t-test t-value 계산 결과

 

위의 검정통계량(t-value)를 기준으로 가설검정을 하면 아래와 같은 결과가 나온다.

fig4. Student's t-test
그림4. Student's t-test 가설 검정 (t분포)

 

 마찬가지로, t분포상에서 가설검정을 하게 된다. t-value가 -4.91 이하인 영역의 p-value는 0.0162으로 나타났다.  이는 p-value가 0.025보다 작으므로 귀무가설을 기각할 수 있으며, 대립가설을 채택하게 된다. 즉, 두 집단의 평균이 다르다고 판단할 수 있다.

 

 

 

b) 두 집단의 분산이 다를때 (등분산성이 만족되지 못할때)

 

 Welch's t-test

수식3. Welch's t-test 검정통계량
수식3. Welch's t-test 검정통계량

 

위의 예시를 기준으로 t검정통계량을 구해보게 된다면, 다음과 같다. 

Welch's t-test t-value 계산 결과
Welch's t-test t-value 계산 결과

 

 

위의 검정통계량(t-value)를 기준으로 가설검정을 하면 아래와 같은 결과가 나온다.

fig5. Welch's t-test
그림5. Welch's t-test

 

 Welch의 t-test 또한 t분포를 따른다고 알려져 있으며, 이를 바탕으로 가설 검정을 수행한다. t-value가 -6.47 이하인 영역의 p-value는 0.0137로 나타났다. 이는 p-value가 0.025보다 작으므로 귀무가설을 기각할 수 있으며, 대립가설을 채택하게 된다. 따라서 두 집단의 평균이 다르다고 판단할 수 있다.

 

 

 

 3.3 대응 표본 t-검정 (Paired Sample t-test)

  • 목적: 동일한 집단에서 서로 대응하는 두 측정값의 평균 차이를 비교하는 방법이다. 
  • 예시: 약물 투여 전후의 혈압 변화를 비교하는 경우
    • 특정 사건을 전후로 대상의 평균 변화의 차이를 보고 싶을때 (공정 처리 전후, 임상 시험 전후, PT전후 등)

 

[Table3. 환자 번호 & 약물 투여 전/후 혈압]

환자 리스트 투약 전 혈압 (mm Hg) 투약 후 혈압 (mm Hg)
환자1 130 120
환자2 128 119
환자3 135 125
환자4 132 123
환자5 129 121
  • 검정: 약물 투여 전후의 평균 혈압 차이가 유의미하게 비슷한지 검정한다.

 

검정 통계량 및 자유도

수식4. Paired Samples t-test 검정통계량
수식4. Paired Samples t-test 검정통계량

 

차이 평균이란 용어에 대해 설명하기 위해서, Paired Samples t-test만은 여기에 구하는 과정을 명시한다.

Paired Samples t-test t-value 계산 과정 및 결과
Paired Samples t-test t-value 계산 과정 및 결과

 

 위의 계산 과정처럼 대응되는 표본들의 차이 값들을 가지고 평균을 내고 분산을 구한다. 위의 계산 과정에서 D(i)는 각 대응되는 표본들의 차이를 리스팅한 것이다. 이에 대해 가설 검정을 하면 다음과 같다.

 

fig6. Paired t-test
그림6. Paired t-test

  t-value가 24.50 이상인 영역의 p-value는 유사 0에 가깝다. 이는 p-value가 0.025보다 작은 수치로 귀무가설을 기각하여 대립가설을 채택할 수 있다. 두 집단의 평균이 다르다고 판단할 수 있다.

 

 

맺음말 (결론)

  두 집단의 평균치 검정은 두 집단의 평균이 단순 변동성(불확실성)에 의한 차이인지 아니면 실제로 평균이 다른 것인지 판단하기 위한 검정 기법이다. 이에 따른 이론의 가정들을 알아보았으며, (해당 가정 기반으로 만들어진 이론들) 각 가정마다 어떻게 계산되는지 또한 실제 예시를 통해 알아보았다. 다음 시간에는 Python에서 라이브러리를 어떻게 사용하면 되는지 알아보도록 할 예정이다.

 

참고 문헌

1. 통계학 기본(입문) 수업 - 자유아카데미 (전공서적)

2. 자료분석 개론 - 수업 자료

3. 내가 이해한 직관 (전공서적 다독하면서)

4. Wiki - Welch's t-test

5. Wiki - Student's t-test

반응형