2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:22 6. 집단간평균비교 집단간평균을비교하는것은기본방법이다. 따라서비교할변수는평균을계산할수있어야하고, 의미있게해석할수있어야한다. 두집단을비교하는것은 T-test 로, 두집단이상이라면 ANOVA 를사용한다. 그림 6.1 은 T-test 각유형과 ANOVA 를비교하고있다. 그림 6.1 6.1 T-test T-test 는두집단의평균이같은지를검정하는방법이다. 따라서의미있는평균을계산할수없는분류변수를비교할수는없다. T-test 는비교되는변수가연속이어야한다는것외에다음세가지가정을가지고있다. 6.1.1 T-test 가가정하는것 The t-test assumes that samples are randomly drawn from normally distributed populations with unknown population variances. If such assumption cannot be made, you may try nonparametric methods. The variables of interest should be random variables, whose values change randomly. A constant such as the number of parents of a person is not a random variable. In addition, the occurrence of one measurement in a variable should be independent of the occurrence of others. In other word, the occurrence of an event does not change the probability that other events occur. This property is called statistical independence. Time series data are likely to be statistically dependent because they are often autocorrelated. T-tests assume random sampling without any selection bias. If a researcher intentionally selects some samples with properties that he prefers and then compares them with other samples, his inferences based
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:23 on this non-random sampling are neither reliable nor generalized. In an experiment, a subject should be randomly assigned to either the control or treated group so that two groups do not have any systematic difference except for the treatment applied. When subjects can decide whether or not to participate (non-random assignment), however, the independent sample t-test may under- or over-estimate the difference between the control and treated groups. In this case of self-selection, the propensity score matching and treatment effect model may produce robust and reliable estimates of mean differences. Another, yet closely related to random sampling, key component is population normality. If this assumption is violated, a sample mean is no longer the best measure (unbiased estimator) of central tendency and t-test will not be valid. Figure 1 illustrates the standard normal probability distribution on the left and a bimodal distribution on the right. Even if the two distributions have the same mean and variance, we cannot say much about their mean difference. T-test 는비교양태에따라크게네가지경우로나눈다. 먼저자료판을가져온다. > cancer<-read.dta( /users/kucc625/smoking.dta ) > attach(cancer) > satisfy<-read.table( /users/kucc625/satisfy.txt, header=t) > attach(satisfy) 6.1.2 One Sample T-test 한변수의평균이특정값과같은지를알아보기위한방법으로가장간단한 T-test 이다. mu 는 0 가아닌특정값을지정할수있다. 유의수준과검증형식은 conf.level 과 alternative 로지정할수있다. 전자는신뢰수준을계산할때, 후자는 p-value 를계산할때사용한다. 각각.95 와 two.sided 을기본값으로갖는다. 따라서아래두명령어는같은결과를보여준다. > t.test(lung) > t.test(lung, mu=0, conf.level=.95, alternative= two.sided ) 폐암발생률평균이 20 이라는가설을검증해보자. 신뢰수준은.99 ( 유의수준.01) 로한다. > t.test(lung, mu=20, conf.level=.99) One Sample t-test data: lung t = -0.5441, df = 43, p-value = 0.5892 alternative hypothesis: true mean is not equal to 20 99 percent confidence interval: 17.93529 21.37108 mean of x 19.65318 암발생률평균은 19.6532 이고, T 검정치는 -.5441 이고, 자유도는 43 (N=44) 이다. 위험치는.5892 으로커서기준가설 (H a : μ=20) 을버리기어렵다. 또한표본평균이신뢰구간안에있다. 따라서폐암발생률평균은 20 이라결론지을수있다. t.test() 는분산이나표준편차를보여주지않는다. 계산된검정치를확인하기위해 var() 나 sd() 로분산이나표준편차를계산한다.
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:24 > var(lung) [1] 17.87701 > sd(lung) [1] 4.228122 검정치 -.5441 과신뢰구간 [17.9353, 21.3711] 은다음과같이계산된다. 4.228122/sqrt(44) 는평균오차 (standard error) 이며, 2.695 는유의수준.01 에서 t 기준치 (critical value) 이다. > (19.65318-20)/(4.228122/sqrt(44)) [1] -0.5441053 > 19.65318-2.695*(4.228122/sqrt(44)) [1] 17.93535 > 19.65318+2.695*(4.228122/sqrt(44)) [1] 21.37101 폐암발생률평균이 20 보다작다는가설은 alternative 에서한쪽검증 (less or greater) 을지정하면된다. 다음에서유의수준은 1 할임에유의하라. > t.test(lung, mu=20, conf.level=.90, alternative=c('less')) 6.1.3 Paired Sample T-test 짝지어진변수값차이의평균이특정값과같은지검증한다. 방법론은 7.1.2 과같다. 2008 년과 2009 년 IT 서비스만족도를비교한다고해보자. 변화가없다면각항목차이를계산한결과그평균은 0 이될것이다. > t.test(iub2008, iub2009, mu=0, paired=t) Paired t-test data: iub2008 and iub2009 t = 3.7607, df = 10, p-value = 0.003718 0.8632042 3.3731595 mean of the differences 2.118182 표본평균 2.1182 는 0 과많이떨어져있고검정치 3.7607 는매우크다. 그러므로실제평균이 0 이라는기준가설을기각해도틀릴확률 ( 위험치 ) 이겨우.0037 이다. 따라서실제평균은 0 이아니라결론지을수있다. 다음 iub2008_2009 는 iub2008 에서 iub2009 를뺀값이다. 예컨대, 2.1=99.3-97.2 이다. iub2008 iub2009 iub2008_2009 1 99.3 97.2 2.1 2 97.4 94.0 3.4 3 97.9 93.0 4.9 4 99.8 94.6 5.2 5 96.4 94.6 1.8 6 98.1 95.4 2.7 7 97.6 98.6-1.0 8 93.3 92.8 0.5 9 96.2 95.4 0.8 10 97.8 95.8 2.0 11 98.5 97.6 0.9
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:25 위에서행한 paired t-test 는다음과같은 one sample test 와같다. > t.test(iub2008_2009) One Sample t-test data: iub2008_2009 t = 3.7607, df = 10, p-value = 0.003718 alternative hypothesis: true mean is not equal to 0 0.8632042 3.3731595 mean of x 2.118182 다음예는 2008 년과 2009 년의만족도차이가 2 보다크다는가설을검정한다. > t.test(iub2008, iub2009, paired=t, mu=2, alternative=c('greater')) Paired t-test data: iub2008 and iub2009 t = 0.2098, df = 10, p-value = 0.419 alternative hypothesis: true difference in means is greater than 2 1.097331 Inf mean of the differences 2.118182 표본평균이 2 와차이가없고, 신뢰구간 [1.0973, + ] 안에위치해있다. 검정치가매우작은반면위험치가크다. 즉, 만족도차이가 2 보다크다는기준가설을기각한다면 10 번에 4 번정도는틀릴가능성이있다. 따라서기준가설을기각하지않는것이안전하다. 다음표준편차를이용하여검정치를확인해보라. > sd(iub2008_2009) [1] 1.868057 검정력을계산하기위해서는 power.t.test() 를사용하고 t-test 의종류를지정한다. 검정력은.9224 인데, 두연도간차이가정말있다면이검정은그효과를 9 할이상찾아낼수있다는뜻이다 ( 반대로 100 번검정을하면 7-8 번은효과가있어도찾아내지못한다 ). > power.t.test(n=11, delta=2.1182, sd=1.8681, sig.level=.05, type=c("one.sample")) One-sample t test power calculation n = 11 delta = 2.1182 sd = 1.8681 sig.level = 0.05 power = 0.9223524 alternative = two.sided 6.1.4 Independent Sample T-test with Equal Variance 독립된변수의평균을비교하는방법으로두변수의분산이같다는것을가정한다. 보통한변수의분산이
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:26 다른변수분산의 3 배이상크면분산이다르다고볼수있다. 두변수의분산이같은지는 var.test() 로점검한다. 다음 ( 두명령어중하나 ) 은흡연자와비흡연자의폐암발생률분산을비교한것이다. > var.test(cancer[smoke==1,][,4],cancer[smoke==0,][,4]) > var.test(heavy, light) F test to compare two variances data: heavy and light F = 1.1666, num df = 21, denom df = 21, p-value = 0.7273 alternative hypothesis: true ratio of variances is not equal to 1 0.4843455 2.8098353 ratio of variances 1.166590 작은분산에대한큰분산의비가 F 값이다. 즉, 1.1666=11.6838/10.0153. 분자와분모의자유도는각표본수에서 1 을뺀값이다. 여기서표본수는각각 22 이기때문에자유도는 21 이다. F 값이작고위험도가크기때문에두변수의분산이같다는기준가설을기각할수없다. 두변수의분산행렬을이용하여 F 값을확인해보라. heavy light heavy 11.683757 2.865445 light 2.865445 10.015311 자료판이넓은모양새로되어있다면다음명령어를사용해보자. var.equal=t 는두변수의분산이같다는것을, paired=f 는두변수가짝지어있지않고독립적라는것을의미한다. mu=0 는두변수의평균차가 0 임을검정한다. 여기서 paired=f 와 mu=0 는기본값으로군더더기이다. > t.test(light, heavy, var.equal=t, paired=f mu=0) Two Sample t-test data: light and heavy t = -5.3714, df = 42, p-value = 3.164e-06-7.338777-3.330314 mean of x mean of y 16.98591 22.32045 긴모양새로된자료판이라면집단을구분하는두쪽변수를가지고있어야한다. 이때두쪽변수를 tilde ~ 다음에적어놓는다. mu 를이용하여두평균의차이를지정할수도있다. > t.test(lung~smoke, var.equal=t, conf.level=.95) Two Sample t-test data: lung by smoke t = -5.3714, df = 42, p-value = 3.164e-06-7.338777-3.330314 mean in group 0 mean in group 1 16.98591 22.32045
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:27 pairwise.t.test() 는집단간 t-test 를수행하여위험치를행렬형태로보여준다. 아래명령어에서집단을구분하는변수는비교할변수뒤에따라오며, pooled.sd=t 와 paired=f 는기본값이다. > pairwise.t.test(lung, smoke, pooled.sd=t, paired=f) Pairwise comparisons using t tests with pooled SD data: lung and smoke 0 1 3.2e-06 P value adjustment method: holm 다음예는 leukemia 와신장암발생률의평균을비교한다. 두변수의분산은비슷하다 (F=1.5119). 표본평균이큰차이가있으며, t 검정치도크며, 위험치는미미하기때문에두암발생률의평균은서로다르다고결론내린다. > var.test(leukemia, kidney) F test to compare two variances data: leukemia and kidney F = 1.5119, num df = 43, denom df = 43, p-value = 0.1794 alternative hypothesis: true ratio of variances is not equal to 1 0.8249702 2.7708448 ratio of variances 1.511907 > t.test(leukemia, kidney, var.equal=t) Two Sample t-test data: leukemia and kidney t = 32.5356, df = 86, p-value < 2.2e-16 3.788673 4.281781 mean of x mean of y 6.829773 2.794545 6.1.5 Independent Sample T-test with Unequal Variance 분산이다른독립된변수의평균을비교한다. 분산이다르기때문에자유도를수정해서 (approximation of degrees of freedom) 사용해야한다. R 은 Welch 수정치를사용한다. 다음 var.test() 를사용하여동부와서부의신장암발생률분산이같은지살펴본다. F 검정치 3.9749 (=.3580/.0901) 가크고위험치가작아두변수의분산이다르다고결론내린다. > var(east) [1] 0.0900779 > var(west) [1] 0.3580493
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:28 > var.test(west, east) F test to compare two variances data: west and east F = 3.9749, num df = 23, denom df = 19, p-value = 0.003404 alternative hypothesis: true ratio of variances is not equal to 1 1.612668 9.438230 ratio of variances 3.974885 두변수의분산이다르기때문에 var.equal=f 를지정하여 t-test() 를수행한다. Welch 조정치를사용하기때문에자유도가정수가아닌실수임에유의하라. T 검정치가크고위험치가작아서동부와서부신장암발생률은평균이서로다르다고결론내린다 (p<.0086). > t.test(kidney~west, var.equal=f) Welch Two Sample t-test data: kidney by smoke$west t = 2.7817, df = 35.11, p-value = 0.008641 0.1047722 0.6705611 mean in group 0 mean in group 1 3.006000 2.618333 위에서계산한분산과표본평균을이용하여 T 검정치를계산해본다. 2.7817=(3.006-2.6183)/ sqrt(.0901/20+.3580/24). 자료판이긴모양새로되어있다면다음과같은명령어를실행한다. 먼저분산이같은지를살펴본다. F 값이크고위험치가작아서서로다른분산을가졌다고결론내린다. > var.test(bladder, kidney) F test to compare two variances data: bladder and kidney F = 3.4556, num df = 43, denom df = 43, p-value = 8.733e-05 alternative hypothesis: true ratio of variances is not equal to 1 1.885522 6.332942 ratio of variances 3.455561 T 검정값이크고위험치가작으므로두암발생률은평균이다르다고결론내린다. 방광암이신장암보다발생률이높다고할수있다. 자유도가정수가아니라실수임에유의하라. Welch 조정치를사용했기때문이다. > t.test(bladder, kidney) Welch Two Sample t-test
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:29 data: bladder and kidney t = 8.0312, df = 65.964, p-value = 2.337e-11 0.9967938 1.6563880 mean of x mean of y 4.121136 2.794545 pairwise.t.test() 는집단을구분하는변수가두개이상값을가질때유용하다. 각집단끼리 t-test 를수행하고위험치를행렬형태로보여준다. 예컨대, 집단 1 과 3 의방광암발생률평균은서로다르다 (p<.016). > pairwise.t.test(bladder, area, pooled.sd=f, paired=f) Pairwise comparisons using t tests with pooled SD data: bladder and area 1 2 3 2 0.081 - - 3 0.016 1.000-4 0.050 1.000 1.000 P value adjustment method: holm 6.2 비율비교 두쪽변수를비교할때는 binomial 분포를이용한다. R 에서는 prop.test(x, n, p) 를사용한다. 30 번시행중에 20 번성공한경우성공확률이.5 인지를확인해보자. correct=f 는 Yates s continuity correct 을끈다. X-squared 는 z 값을제곱한것이다. 따라서실제 z 값은 1.8257=sqrt(3.3333) 이다. > prop.test(20, 30, p=.5, alternative=c('two.sided'), correct=f) 1-sample proportions test without continuity correction data: 20 out of 30, null probability 0.5 X-squared = 3.3333, df = 1, p-value = 0.06789 alternative hypothesis: true p is not equal to 0.5 0.4878005 0.8076950 p 0.6666667 두쪽변수둘을비교해보자. 30 번중에 20 번성공한경우와 10 번성공한경우를따져보다. 검정치가크고위험치가작기때문에두변수의성공비율은다르다고말할수있다. > prop.test(c(20, 10), c(30, 30), correct=f) 2-sample test for equality of proportions without continuity correction data: c(20, 10) out of c(30, 30) X-squared = 6.6667, df = 1, p-value = 0.009823 alternative hypothesis: two.sided 0.09477411 0.57189255
2008-2009 Jeeshim & KUCC625 (08/04/2009) Statistical Data Analysis Using R:30 prop 1 prop 2 0.6666667 0.3333333 z 값은다음과같이계산한다. > sqrt(6.6667) [1] 2.581995 6.3 One-Way ANOVA ANOVA 는 aov( ) 을사용한다. 다음예에서 F 검정치 28.852 는 7.1.4 의 t 검정치 -5.3714 의제곱이다. > summary(aov(lung~smoke)) Df Sum Sq Mean Sq F value Pr(>F) smoke 1 313.03 313.03 28.852 3.164e-06 *** Residuals 42 455.68 10.85 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 선형회귀모형도같은분석을해준다. 다만보여주는통계량이좀다를뿐이다. 7.1.4 에서얻은 t 통계량은회귀계수의 t 값에서보여준다. F 값은 one-way ANOVA 와같다. > summary(lm(lung~smoke)) Call: lm(formula = lung ~ smoke) Residuals: Min 1Q Median 3Q Max -10.21045-1.40341-0.04091 2.28818 8.46409 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 16.9859 0.7023 24.188 < 2e-16 *** smoke 5.3345 0.9931 5.371 3.16e-06 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 3.294 on 42 degrees of freedom Multiple R-squared: 0.4072, Adjusted R-squared: 0.3931 F-statistic: 28.85 on 1 and 42 DF, p-value: 3.164e-06