두개의 모집단에 대한 추정과 검정 (two sample tests)에 대해서 정규분포 가정을 만족하는 경우와 그렇지 않은 경우로 나누어서 알아보겠습니다.

 

 

정규성 가정을 충족하는 경우

 

(1) 독립된 두 표본의 평균 차이에 대한 추정과 검정 : t.test()

     (indepentent two sample t-test)

 

(2) 짝을 이룬 표본에 대한 평균 차이에 대한 추정과 검정 : t.test(paired=TRUE)

     (paired sample t-test)

 

(3) 두 모집단의 모비율 차이에 대한 추정과 검정 : prop.test()

     (independent two population proportions test)

 

 

 

정규성 가정을 충족하지 못하는 경우, 혹은 분포형태를 모르는 경우

 

(4) 두 모집단의 중심 차이에 대한 비모수 검정 : wilcox.test()

    (non-parametric wilcoxon tests on two indepedent sample)

 

 

 

지난번 포스팅에서는 독립된 두 표본에 대한 평균 차이에 대한 추정과 검정을 했는데요, 이번 포스팅에서는 정규성 가정을 만족하는 분포에서 (2) 짝을 이룬 두 표본의 평균 차이에 대한 추정과 검정(paired sample t-test)를 R의 t.test(paired=TRUE) 함수에 대해 소개하겠습니다.

 

 언제 짝을 이룬 표본에 대한 평균 차이에 대한 추정과 검정이 필요한지가 궁금할 텐데요, 두 표본이 상관관계가 있을 때, 전/후 비교 (paired before-after comparison)을 할 때 사용합니다. 

 

 

 

 

가령, 새로운 당뇨병 의약품을 만든 제약사가 신약의 효과를 측정하고 싶을 텐데요, 치료의 경과와 수준은 환자의 건강상태, 성별, 나이, 식생활 환경, 체질, 스트레스 수준,... 통제해야 할 수준이 무척 많으므로 치료의 차도가 있다고 하더라도 이게 신약 때문에 효과가 있는 것인지, 아니면 앞서 말씀드린 신약 외의 다양한 외부변수에 의한 치료 개선효과인지 분간하기가 힘들게 됩니다.  이런 문제를 해결하기 위해서, 즉 외부 요인을 최대한 통제할 수 있는 방안으로 검증하고자 하는 요인 외의 요인은 모두 동일하게 만들 수 있는 방법이 '짝을 이룬 두 표본(paired sample)'에 대해서 검증하고자 하는 요인만을 달리해서 그 차이(paired comparison)를 가지고 검정을 하는 방법이 있습니다.  이해를 돕기 위해서 아래에 2개의 예를 들어보았습니다.

 

 

 

 

 

Example 1 ) 새로운 당뇨병 치료제를 개발한 제약사의 예를 계속 들자면, 치료에 지대한 영향을 주는 외부요인을 통제하기 위해 10명의 당뇨병 환자를 선별하여 1달 동안 '위약(placebo)'을 투여한 기간의 혈압 (Xi)과 '신약(new medicine)'을 투여한 1달 기간 동안의 혈당 수치(Yi)를 측정하여 짝을 이루어 혈당 차이를 유의수준 5%에서 비교하는 방법이 짝을 이룬 표본에 대한 검정이 되겠습니다.

 

 

[ 환자 10명에 대한 당뇨병 치료제 투약 전/후 혈당 비교(before/after paired sample comparison) ]

 

(예를 들어 설명하기 위해 임의로 가공해서 만든 가짜 수치임.  혈당에 대해서는 아무것도 모름 ^^;)

 

 

귀무가설 H0 : 당뇨병 치료제는 효과가 없다 (mu1 = mu2, ie. difference = 0)

대립가설 H1 : 당뇨병 치료제는 효과가 있다 (혈당을 낮춘다, mu1 > mu2) => 우측검정(right-sided test)

 

위 문제를 R의 t.test(paired=TRUE) 함수를 사용해서 풀어보면 아래와 같습니다.

 

위의 t-검정통계량 공식에 따라서 계산한 아래 값과, t.test(paired=TRUE) 함수로 계산한 t-검정통계량 값이 3.5507로 서로 같음을 알 수 있습니다.  당뇨병 치료제가 효과가 있어서 혈당을 낮추었는지를 검정하는 것이므로 'alternative = c("greater") 옵션(mu1 > mu2)을 입력하였습니다. P-value 가 0.003105 이므로 유의수준 (significance level) 5% 에서 귀무가설을 기각하고 대립가설(치료제가 효과가 있음. 혈당을 낮추었음)을 채택하게 됩니다.

 

> 
> ##----------------------------------------------------------
> ## paired sample t-test
> ##----------------------------------------------------------
> 
> # paired 10 sample of patient's blood sugar
> x1 <- c(51.4, 52.0, 45.5, 54.5, 52.3, 50.9, 52.7, 50.3, 53.8, 53.1)
> x2 <- c(50.1, 51.5, 45.9, 53.1, 51.8, 50.3, 52.0, 49.9, 52.5, 53.0)
> 
> 
> # difference of x1, x2
> diff_x <- x1 - x2 
> diff_x
 [1]  1.3  0.5 -0.4  1.4  0.5  0.6  0.7  0.4  1.3  0.1
> 
> # mean of difference
> mean_diff_x <- mean(diff_x) 
> mean_diff_x
[1] 0.64
> 
> # standard deviation of difference
> sd_diff_x <- sd(diff_x) 
> sd_diff_x
[1] 0.5699903
> 
> # t statistics
> t_x <- mean_diff_x/(sd_diff_x / sqrt(length(diff_x))) 
> t_x
[1] 3.550688
> 
> # paired sample t-test : greater
> t.test(x1, x2, 
+        alternative = c("greater"), 
+        paired = TRUE, 
+        conf.level = 0.95)

	Paired t-test

data:  x1 and x2
t = 3.5507, df = 9, p-value = 0.003105
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
 0.3095874       Inf
sample estimates:
mean of the differences 
                   0.64

 

 

 

 

 

Example 2) 또 하나의 예를 들자면 두 종류의 신발 밑창의 원재료가 닳는 정도가 차이가 있는지를 검정하기 위해서 10명의 소년에게 한쪽은 A라는 원재료로 만든 신발을 신기고, 다른 한쪽은 B라는 원재료로 만든 신발을 신긴 후에, 일정 기간이 지난후에 신발을 수거하여 10명의 각 소년의 왼쪽 신발 밑창의 닳은 정도와 오른쪽 신발 밑창의 닳은 정도의 차이를 비교하여 두 종류 원재료의 재질이 다른지를 검정하는 방법이 짝을 이룬 표본에 대한 검정에 해당되겠습니다.

 

 

[ 신발 밑창 원재료 A, B별 닳은 정도 비교 (shoes material paired sample comparison) ]

 

 

귀무가설 H0 : 두 신발 원재료 A, B는 닳는 정도가 같다 (mu1 = mu2, ie. difference = 0)

대립가설 H1 : 두 신발 원재료 A, B는 닳는 정도가 다르다(mu1 != mu2, ie. difference != 0)
                    => 양측검정(two-sided test)

 

유의수준(significance level) 5%에서 위 가설을 검정하시오.

 

 

이번 예제는 MASS 패키지에 들어있는 shoes list 데이터셋을 이용해서 분석을 해보겠습니다.  위의 t-검정통계량 공식에 넣어 계산한 값과 아래의 R을 통해 계산한 t-검정통계량 값이 -3.3489 로서 서로 같음을 알 수 있습니다.  두 짝을 이룬 표본의 차이의 평균은 -0.41 이며, t-test 결과의 P-value가 0.008539 로서 유의수준 5% 하에서 귀무가설을 기각하고 대립가설(A, B 두 원재료는 차이가 있다)을 채택하게 되었습니다.

 

> ##-- Example 2
> 
> library(MASS)
> 
> str(shoes)
List of 2
 $ A: num [1:10] 13.2 8.2 10.9 14.3 10.7 6.6 9.5 10.8 8.8 13.3
 $ B: num [1:10] 14 8.8 11.2 14.2 11.8 6.4 9.8 11.3 9.3 13.6
> 
> # difference of shoes A and shoes B
> diff_shoes <- shoes$A - shoes$B
> diff_shoes
 [1] -0.8 -0.6 -0.3  0.1 -1.1  0.2 -0.3 -0.5 -0.5 -0.3
> 
> 
> # mean of difference
> mean_diff_shoes <- mean(diff_shoes)
> mean_diff_shoes
[1] -0.41
> 
> 
> # standard deviation of difference
> sd_diff_shoes <- sd(diff_shoes)
> sd_diff_shoes
[1] 0.3871549
> 
> 
> # t statistics
> t_shoes <- mean_diff_shoes/ (sd_diff_shoes/sqrt(length(diff_shoes)))
> t_shoes
[1] -3.348877
> 
> 
> # paired sample t-test : two.sided
> t.test(shoes$A, shoes$B, 
+        alternative = c("two.sided"), 
+        paired = TRUE, 
+        conf.level = 0.95)

	Paired t-test

data:  shoes$A and shoes$B
t = -3.3489, df = 9, p-value = 0.008539
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.6869539 -0.1330461
sample estimates:
mean of the differences 
                  -0.41 

 

 

많은 도움 되었기를 바랍니다.

 

이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡'를 꾸욱 눌러주세요. ^^

 

 

Posted by R Friend R_Friend