ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 두 집단을 비교하기
    Data Analysis/Statistics 2020. 8. 2. 21:23

    Table of Contents

    1. Introduction

    2. T검정(T-Test)이란?

    3. 일표본 T검정(One sample T-test)이란?

    4. 독립표본 T검정(Independent-samples T-test)이란?

    5. 대응표본 T검정(Paired-samples T-test)이란?

    6. Reference

     

    Introduction

     최근들어 데이터 기반의 의사 결정이라는 말이 보편화되어 다양한 현장에서 활용하고 있으며, 이와 관련된 채용이 적극적으로 늘고 있는 추세이다. 제품 A를 판매하고 있는 회사에서 새로운 제품 B를 출시 하기 위해서 다양한 형태로 제품의 특성을 측정하고 이들 간의 관계를 분석하곤 한다. 이렇게 두 집단의 차이가 우연에 의해 발생하는 차이가 아니라 정말로 다른 두 집단이라는 검정을 하기 위해서 두 집단의 평균 차이를 검정한다. 이때, 표본크기가 클 경우 정규분포를 따른 점을 이용하여 Z검정을 수행한다. 그럼에도, 다량의 데이터를 확보할 수 없는 상황은 어디에서든 발생할 수 있다. 예를 들면 소규모 그룹에서의 '학습 방법에 따른 학습률에 차이가 있는지' 알아보기 위한 상황이 올 수 있으며, 이때 T검정을 사용하게 된다. 현장에서 신제품을 출시하기 위해서 다량의 데이터를 활용하여 검증하기에 제한되는 상황이 발생한다. 특히, 고가의 제품일 경우 의사 결정을 하기 위해선 정규분포를 따를 만큼 다양한 샘플을 수집하기엔 제한적일 수 밖에 없다.

     T 검정은 윌리엄 실리 고셀(William Sealy Gosset)에 의해 제안되었으며, 이 사람은 세계적으로 유명한 맥주회사인 기네스에서 양조 공정과 원재료 개량에 관한 일을 담당하고 있었다.  당시, 기네스에서는 과학적 맥주 제조에 대한 관심을 갖고 있었으며, 토마스 베넷 케이스(Thomas Bennet Case)를 채용하였다. 맥주 품질이 홉의 연질수지가 차지하는 연구를 하기 위해 원하는 만큼 맥주를 제공받을 수 없었다. 이 처럼 데이터가 턱없이 부족한 환경에서도 분석을 하기 위해 열심히 준비한 연구 성과를 공표하기 위해서 본인의 이름을 드러낼 수 없었던 고셀은 Student라는 필명을 사용해서 발표하였으며, 우리에게는 Student의 T분포, Student의 T검정 등으로 알려져 있다.

    <그림 1> GUINNESS DUBLIN 양조장

     

    T 검정(T-Test)이란?

     두 집단의 평균 차이를 검정하는 방법으로, "두 집단의 평균 차이가 없다"는 귀무가설과 "두 집단의 평균 차이가 있다"는 대립가설 중 한 가지를 선택하는 통계적 검정방법이다. 단, T 검정을 사용하기 위해서는 두 집단의 평균 지표와 각 집단의 표준편차, 그리고 각 각의 데이터 수가 필요하다.

     T 검정을 수행하기에 앞서 우리 앞에 직면한 문제 유형에 따라 세 가지 방법으로 분류되는데, 단일 집단을 비교하는 일표본 T 검정(One sample T-test), 독립된 두 집단을 비교하는 경우 독립표본 T 검정(Independent-samples T-test)을 수행하고 대응되는 두 집단을 비교하는 경우 대응표본 T 검정(Paired sample T-test)을 수행한다.

     

    H0 : 두 집단의 차이가 없다.

    H1 : 두 집단의 차이가 있다.

     

    일표본 T검정(One sample T-test)이란?

     일표본 T검정은 하나의 표본과 기존에 가지고 있던 기준(평균값) 혹은 가설 검정을 하기 위해 삼은 기준(평균값)과 비교하는 검정 방법이다. 200 에너지 음료를 생산하는 공장에서 공병에 음료를 담는 공정이 정상적으로 잘 진행되고 있는지 확인하기 위해서 몇 개의 에너지 음료를 가져와서 오차 범위 안에 담겨 있는지 확인하는 과정에서 일표본 T검정을 사용한다.

     

    μ : 200

    m : 공장에서 생산한 에너지 음료 샘플

     

    귀무가설(H0) : m = μ

    대립가설(H1) : m ≠ μ

     

     R에서 일표본 T검정을 수행하기 위해서 t.test()를 사용할 수 있다. 데이터를 읽고 시각화를 하여 해당 에너지 음료의 양을 확인한다. 모든 음료가 200를 전혀 채우지 않았음을 확인 할 수 있으나, 실제 그런지 확인하기 위해서 일표본 T검정을 수행한다. 결과, 유의수준 0.05보다 한 없이 작기에 귀무가설을 기각하고 기준치인 200를 정상적으로 채우지 못했다고 할 수 있다. 이를 통해 장비를 점검하거나 음료를 담는 용기를 점검하고자 하는 데이터 기반의 의사 결정을 할 수 있다.

    #####데이터 수집
    > drk
       id    drink
    1   1 189.5284
    2   2 188.4030
    3   3 188.7478
    4   4 186.7787
    5   5 187.1989
    6   6 185.9489
    7   7 186.9421
    8   8 191.1142
    9   9 188.1664
    10 10 188.8102
    11 11 188.1658
    12 12 181.2061
    13 13 188.2459
    14 14 190.4363
    15 15 185.7106
    16 16 187.4809
    17 17 185.0554
    18 18 190.2577
    19 19 192.1312
    20 20 188.6501
    
    #####에너지 음료 Box plot 시각화
    > ggplot(drk) +
    +   geom_boxplot(aes(x  = "New Drink", y = drink)) +
    +   labs(title = "Energy Drink(C)")
    
    #####일표본 T검정
    > t.test(drk$drink,
    +        alternative = "two.sided",
    +        mu = 200)
    
    	One Sample t-test
    
    data:  drk$drink
    t = -22.419, df = 19, p-value = 3.957e-15
    alternative hypothesis: true mean is not equal to 200
    95 percent confidence interval:
     186.8239 189.0740
    sample estimates:
    mean of x 
     187.9489 

     

    독립표본 T검정(Independent-samples T-test)이란?

     독립표본 T검정은 두 개의 독립된 집단간의 평균차이를 비교하는 검정 방법이다. A기업의 업무 시간이 산업을 대표하는 B기업의 업무 시간과 차이가 있는지에 대한 연구를 수행하기 위해서 활용할 수 있다. 다만, 세 가지의 T검정의 원리에는 큰 차이가 없으나, 일표본 T검정과 다르게 두 집단의 표준오차를 활용하여야 한다. 이때, 독립표본에서는 정규성 검사와 두 집단의 변화량인 분산의 동질성 검정(homogeneity test)을 해야한다.

     

    μ1 : A 기업 소속 직원 업무 수행 시간의 표본 평균

    μ2 : B 기업 소속 직원 업무 수행 시간의 표본 평균

     

    귀무가설(H0) : μ1 = μ2

    대립가설(H1) : μ1 ≠ μ2

     

    #####데이터 수집
    > wrk
       id     work
    1   A 164.7095
    2   A 155.6730
    3   A 159.2836
    4   A 157.5267
    5   A 160.4707
         ...
    36  B 189.2137
    37  B 185.8053
    38  B 188.2303
    39  B 186.5609
    40  B 191.8894
    
    #####두 기업 별 직원 업무 수행 시간 데이터 시각화
    > ggplot(wrk) +
    +   geom_boxplot(aes(x  = id, y = work)) +
    +   labs(title = "Working Days")
    
    #####두 집단의 정규성 검정
    > ks.test()
    > shapiro.test(wrk[wrk$id == "A",]$work)
    
    	Shapiro-Wilk normality test
    
    data:  wrk[wrk$id == "A", ]$work
    W = 0.97185, p-value = 0.7934
    
    > shapiro.test(wrk[wrk$id == "B",]$work)
    
    	Shapiro-Wilk normality test
    
    data:  wrk[wrk$id == "B", ]$work
    W = 0.96107, p-value = 0.5654
    
    #####두 집단의 등분산성 검정
    > bartlett.test(work ~ id, wrk)
    
    	Bartlett test of homogeneity of variances
    
    data:  work by id
    Bartlett s K-squared = 1.0137, df = 1, p-value = 0.314
    
    
    #####독립표본 T검정
    > result = t.test(work ~ id,
    >                 data = wrk,
    >                 alternative = "two.sided",
    >                 paired = F)
    >
    > result
    
    	Welch Two Sample t-test
    
    data:  work by id
    t = -24.273, df = 36.078, p-value < 2.2e-16
    alternative hypothesis: true difference in means is not equal to 0
    95 percent confidence interval:
     -32.43457 -27.43278
    sample estimates:
    mean in group A mean in group B 
           158.3044        188.2381

     

    대응표본 T검정(Paired-samples T-test)이란?

     대응표본 T검정은 대응되는 집단의 평균차이를 비교하는 검정 방법이다. 실험 연구에서 자주 활용하는 분석 방법으로 실험 전의 상태와 실험 후의 상태를 비교하기 위해 사용하며, 동일한 표본을 바탕으로 시간의 간격을 두고 데이터를 수집하여 차이를 검정한다는 점에서 독립표본 T검정과 차이가 있다. 신규 시스템을 도입이 기업 내 업무 시간을 단축하는데 긍정적인 효과를 발생시키는지 확인하고자 한다. 이때, 당시의 귀무가설과 대립가설은 다음과 같다.

     

    μ1 : 시스템 도입 전 업무 시간의 표본 평균

    μ2 : 시스템 도입 후 업무 시간의 표본 평균

     

    귀무가설(H0) : μ1 = μ2

    대립가설(H1) : μ1 ≠ μ2

     

    #####데이터 수집
    > wrk
       id     work
    1   A 164.7095
    2   A 155.6730
    3   A 159.2836
    4   A 157.5267
    5   A 160.4707
         ...
    36  B 189.2137
    37  B 185.8053
    38  B 188.2303
    39  B 186.5609
    40  B 191.8894
    
    #####두 기업 별 직원 업무 수행 시간 데이터 시각화
    > ggplot(wrk) +
    +   geom_boxplot(aes(x  = id, y = work)) +
    +   labs(title = "Working Days")
    
    #####두 집단의 정규성 검정
    > ks.test()
    > shapiro.test(wrk[wrk$id == "A",]$work)
    
    	Shapiro-Wilk normality test
    
    data:  wrk[wrk$id == "A", ]$work
    W = 0.97185, p-value = 0.7934
    
    > shapiro.test(wrk[wrk$id == "B",]$work)
    
    	Shapiro-Wilk normality test
    
    data:  wrk[wrk$id == "B", ]$work
    W = 0.96107, p-value = 0.5654
    
    #####두 집단의 등분산성 검정
    > bartlett.test(work ~ id, wrk)
    
    	Bartlett test of homogeneity of variances
    
    data:  work by id
    Bartlett s K-squared = 1.0137, df = 1, p-value = 0.314
    
    
    #####대응표본 T검정
    > result = t.test(work ~ id,
    >                 data = wrk,
    >                 alternative = "two.sided",
    >                 paired = T)
    >
    > result
    
    	Paired t-test
    
    data:  work by id
    t = -24.095, df = 19, p-value = 1.052e-15
    alternative hypothesis: true difference in means is not equal to 0
    95 percent confidence interval:
     -32.53389 -27.33346
    sample estimates:
    mean of the differences 
                  -29.93367 

     

    Reference

    니시우치 히로무, "빅데이터를 지배하는 통계의 힘"

    김유신, 정준영, 고은정, 오은주, "실전 빅데이터 분석 : 기초편"

    기네스, "기네스 홈페이지", https://www.guinness-storehouse.com/en

    William Sealy Gosset, "The Probable Error of a mean", https://www.jstor.org/stable/2331554

     

    댓글

Designed by Tistory.