차이검정 - T 검정

안성인·2022년 2월 22일
0

📖 전체집단을 모두 조사하는것은 현실적으로 불가능함으로 적절한 표본집단을 지정하여 평균, 표준편차와 같은 통계량을 구한 뒤 이를 통해 모집단의 모수를 검정합니다.
대표적으로 그룹 간의 차이를 검정하는 차이검정과 변수 간 관계(영향)의 유무를 검정하는 관계검정으로 나뉩니다.
이번 글에서는 차이검정 중 T-test에 대하여 정리해보도록 하겠습니다.


<검정 비교표>

  • 사람들은 대부분 비모수 검정보다는 모수 검정을 많이 접합니다. 비모수 검정은 데이터가 특정한 분포를 따른다고 가정하지 않으므로 무분포 검정이라고도 합니다.

  • 데이터가 모수 검정의 가정(특히 정규 분포 데이터에 대한 가정)을 충족하지 않을 때 비모수 검정을 사용해야 한다는 말을 들어본 적이 있을 것 입니다.
    이를 표를 통해 어떤 상황에서 어떤 검정을 사용해야 하는지 파악하는 방법을 알려드리겠습니다.


  • 위의 표를 기반으로 상황에 따른 각 차이검정 방법에 대해 설명해드리겠습니다.

<일표본 T 검정>

  • 검정 목적 : 특정 집단의 평균 검정
  • : 남학생 평균 신장 추정
  • 기본 가정 : 표본의 정규성 만족 (n>30이면 중심극한정리에 의해 가정 만족)
  • 대응되는 비모수 검정 : 윌콕슨 부호 순위 검정

실습

  • 예제 데이터 : 수/암컷 고양이의 심장(g)/몸무게(kg) 데이터

1. 정규성 가정 확인

# 귀무가설 : 데이터가 정규성을 만족한다.
# 대립가설 : 데이터가 정규성을 만족하지 않는다.

> library(MASS)
> shapiro.test(cats[cats$Sex == 'M',]$Bwt) # 수컷 고양이 데이터 정규성 검정

	Shapiro-Wilk normality test

data:  cats[cats$Sex == "M", ]$Bwt
W = 0.97883, p-value = 0.119
유의수준 0.05이상이므로, 정규성을 만족합니다.

2. 일표본 T 검정

# 귀무가설 : 수컷 고양이의 평균 몸무게는 2.8kg이다.
# 대립가설 : 수컷 고양이의 평균 몸무게는 2.8kg이 아니다.

> t.test(cats[cats$Sex == 'M',]$Bwt, mu = 2.8, 
alternative = 'two.sided')  ## 대립가설 설정

	One Sample t-test

data:  cats[cats$Sex == "M", ]$Bwt
t = 2.1068, df = 96, p-value = 0.03774
alternative hypothesis: true mean is not equal to 2.8
95 percent confidence interval:
 2.805781 2.994219
sample estimates:
mean of x            # 평균
      2.9 
p-value가 유의수준 0.05미만이므로 귀무가설을 기각합니다.

3. 윌콕슨 순위 검정

  • 만약 데이터가 정규성을 만족하지 못한다면 이 검정을 실시합니다.
  • 일표본 T 검정과는 달리 중앙값에 관한 결과를 얻습니다.
> shapiro.test(cats[cats$Sex == 'F',]$Bwt) #암컷 고양이 데이터 정규성 검정

	Shapiro-Wilk normality test

data:  cats[cats$Sex == "F", ]$Bwt
W = 0.89096, p-value = 0.0003754
암컷 고양이의 몸무게 데이터의 경우, 정규성을 만족하지 못합니다.
따라서, 일표본 T 검정 대신에 윌콕슨 순위 검정을 실시하겠습니다.
# 귀무가설 : 암컷 고양이의 몸무게 중앙값은 3이다.
# 대립가설 : 암컷 고양이의 몸무게 중앙값은 3이 아니다.

> wilcox.test(cats[cats$Sex == 'F',]$Bwt, 3, alternative = 'two.sided')

	Wilcoxon rank sum test with continuity correction

data:  cats[cats$Sex == "F", ]$Bwt and 3
W = 1, p-value = 0.1077
alternative hypothesis: true location shift is not equal to 0
p-value가 유의수준 0.05이상이므로 귀무가설을 채택합니다.

<대응표본 T 검정>

  • 검정 목적 : 동일한 집단에게서 측정된 값의 전/후 차이 평균 검정
  • : 수유 전과 후 영아 체중 비교
  • 기본 가정 : 비교할 값의 차이가 정규성을 만족
  • 대응되는 비모수 검정 : 윌콕슨 부호 순위 검정

실습

  • 예제 데이터 : 약 복용 전/후 수면시간에 관한 생성 데이터

1. 정규성 가정 확인

# 귀무가설 : 전과 후의 값의 차이는 정규성을 만족한다.
# 대립가설 : 전과 후의 값의 차이는 정규성을 만족하지 않는다.

> shapiro.test(after - before)

	Shapiro-Wilk normality test

data:  after - before
W = 0.92724, p-value = 0.4213
p-value가 0.05이상이므로 귀무가설을 채택합니다.

2. 대응표본 T 검정

# 귀무가설 : 약 복용 전과 후의 수면시간 차이는 없다. 
#Ux-Uy = D = 0 = = 전/후 평균의 차이는 0이다.
# 대립가설 : 약 복용 전의 후의 수면시간 차이의 0보다 작다.
#Ux-Uy = D < 0 = 전/후 평균의 차이는 0보다 작다.

> t.test(before, after, alternative = 'less', pair =T)

	Paired t-test

data:  before and after
t = -1.0487, df = 9, p-value = 0.1608
alternative hypothesis: true difference in means is less than 0
95 percent confidence interval:
      -Inf 0.5236019
sample estimates:
mean of the differences 
                   -0.7 
p-value가 유의수준 0.05이상이므로 귀무가설을 채택합니다.

3. 윌콕슨 순위 검정

  • 만약 데이터의 차이가 정규성을 만족하지 못한다면 이 검정을 실시합니다.
  • 대응표본 T 검정과는 달리 중앙값에 관한 결과를 얻습니다.
> data<- data.frame(before = c(7,3,4,5,2,1,6,6,5,4), after = c(8,4,5,6,2,3,6,8,6,5))

> shapiro.test(data$after - data$before)

	Shapiro-Wilk normality test

data:  data$after - data$before
W = 0.81484, p-value = 0.02195
새로 만든 데이터의 경우, 정규성을 만족하지 못합니다.
따라서, 대응표본 T 검정 대신에 윌콕슨 순위 검정을 실시하겠습니다.
# 귀무가설 : 약 복용 전/후 중앙값의 차이는 0이다. = 전/후 유의한 차이가 없다.
# 대립가설 : 약 복용 전/후 중앙값의 차이는 0이 아니다. = 전/후 유의한 차이가 있다.

> wilcox.test(data$before, data$after, alternative = 'less', paired = T)

	Wilcoxon signed rank test with continuity correction

data:  data$before and data$after
V = 0, p-value = 0.005139
alternative hypothesis: true location shift is less than 0
p-value가 유의수준 0.05미만이므로 귀무가설을 기각합니다.

<독립표본 T 검정>

  • 검정 목적 : 서로 다른 두 집단 간의 평균 비교
  • : 남학생과 여학생 간 신장 비교
  • 기본 가정 : 두 집단의 표본은 정규성, 분산 동일, 서로 독립
  • 대응되는 비모수 검정 : 윌콕슨 순위합 검정 or 맨-휘트니 U 검정

실습

  • 예제 데이터 : 수/암컷 고양이의 심장(g)/몸무게(kg) 데이터

1. 정규성 가정 확인

# 수/암컷 심장 무게 데이터의 정규성 각각 확인

> shapiro.test(cats[cats$Sex == 'M',]$Hwt)

	Shapiro-Wilk normality test

data:  cats[cats$Sex == "M", ]$Hwt
W = 0.97727, p-value = 0.09039


> shapiro.test(cats[cats$Sex == 'F',]$Hwt)

	Shapiro-Wilk normality test

data:  cats[cats$Sex == "F", ]$Hwt
W = 0.9788, p-value = 0.5435
각각 p-value가 유의수준 0.05이상이므로, 정규성을 만족합니다.

2. 등분산성 가정 확인

# 귀무가설 : 고양이의 성별에 따른 심장 무게의 분포가 서로 같다.
# 대립가설 : 고양이의 성별에 따른 심장 무게의 분포가 서로 다르다.

> var.test(cats$Hwt~cats$Sex)

	F test to compare two variances

data:  cats$Hwt by cats$Sex
F = 0.28519, num df = 46, denom df = 96, p-value = 8.159e-06
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.1765336 0.4818320
sample estimates:
ratio of variances 
         0.2851912 
p-value가 유의수준 0.05미만이므로, 이분산성을 띄운다는 것을 확인할 수 있습니다.
여기서 독립표본 T 검정을 진행하느냐 웰치의 T 검정을 진행하느냐가 나뉩니다.
정규성, 등분산성 가정을 모두 만족한다면 독립표본 T검정을 진행하고, 정규성 가정은 만족하나 등분산성 가정을 만족하지 못한다면 웰치의 T 검정을 진행합니다.
이 둘의 해석은 같을 뿐더러, 사용하는 함수도 같습니다.

3. 독립표본 T 검정 / 웰치의 T 검정

1) 독립표본 T 검정 (정규성 가정 만족, 등분산성 가정 만족)

# 두 검정의 귀무가설 : 고양이의 성별에 따른 심장무게의 평균은 유의한 차이가 없다.
# 두 검정의 대립가설 : 고양이의 성별에 따른 심장무게의 평균은 유의한 차이가 있다.

> t.test(cats$Hwt~cats$Sex, alternative = 'two.sided' , var.equal = T)

	Two Sample t-test

data:  cats$Hwt by cats$Sex
t = -5.3539, df = 142, p-value = 3.38e-07
alternative hypothesis: true difference in means between group F and group M is not equal to 0
95 percent confidence interval:
 -2.903517 -1.337588
sample estimates:
mean in group F mean in group M 
       9.202128       11.322680 

2) 웰치의 T 검정 (정규성 가정 만족, 등분산성 가정 불만족)

## var.equal = F로 설정해 T-test를 하는 것이 welch's test.

> t.test(cats$Hwt~cats$Sex, alternative = 'two.sided' , var.equal = F)

	Welch Two Sample t-test

data:  cats$Hwt by cats$Sex
t = -6.5179, df = 140.61, p-value = 1.186e-09
alternative hypothesis: true difference in means between group F and group M is not equal to 0
95 percent confidence interval:
 -2.763753 -1.477352
sample estimates:
mean in group F mean in group M 
       9.202128       11.322680 
두 검정 결과 모두 p-value가 유의수준 0.05미만이므로, 귀무가설을 기각하고 대립가설을 채택합니다.

4. 윌콕슨 순위합 검정

  • 만약 독립표본 T 검정에서 정규성 가정이 만족되지 않는다면 이 검정을 실시합니다.
  • 독립표본 T 검정과는 달리 중앙값에 관한 결과를 얻습니다.
> shapiro.test(cats[cats$Sex == 'M',]$Bwt)

	Shapiro-Wilk normality test

data:  cats[cats$Sex == "M", ]$Bwt
W = 0.97883, p-value = 0.119


> shapiro.test(cats[cats$Sex == 'F',]$Bwt)

	Shapiro-Wilk normality test

data:  cats[cats$Sex == "F", ]$Bwt
W = 0.89096, p-value = 0.0003754
한 집단이 정규성 가정을 위배하여 윌콕스 순위합 검정을 실시하겠습니다.
# 귀무가설 : 고양이의 성별에 따른 몸무게의 중앙값은 유의한 차이가 없다.
# 대립가설 : 고양이의 성별에 따른 몸무게의 중앙값은 유의한 차이가 있다.

> wilcox.test(data = cats, 
+             Bwt ~ Sex) 

	Wilcoxon rank sum test with continuity correction

data:  Bwt by Sex
W = 757.5, p-value = 8.201e-11
alternative hypothesis: true location shift is not equal to 0
p-value가 유의수준 0.05미만이므로, 귀무가설을 기각합니다.
즉, 유의미한 차이가 존재한다고 볼 수 있습니다.
profile
함께 공부해요!

0개의 댓글