獨斷論

통계기초 정리 6. 가설검증 본문

과학과 기술/통계이론설명

통계기초 정리 6. 가설검증

부르칸 2021. 10. 1. 03:35

4. Two Independent Proportions

신뢰구간

신뢰구간을 구하는 일반적인 형태는 항상 같다.

$$\textrm{sample statistic} \pm \textrm{(multiplier) (standard error)}$$

 

$np \ge 10$이고 $n (1-p) \ge 10$이면 정규분포로 근사할수 있고, 독립된 샘플이 2개일때 신뢰구간은 아래와 같이 구한다. standard error만 독립된 2개의 샘플에 맞게 고쳐주면 된다.

$$ \left( \hat{p}_1 - \hat{p}_2 \right) \pm z^* \sqrt{ \frac{ \hat{p}_1 (1-\hat{p}_1) }{n_1}  + \frac{ \hat{p}_2 (1-\hat{p}_2) }{n_2} }$$

 

예제)

동성간의 결혼이 불법인지 대학생들의 의견을 묻는 조사에서 남학생은 199명중 107명이 불법이라고 대답했고 여학생은 251명중 185명이 불법이라고 대답했다고 가정하자. 이때 동성간 결혼이 불법이라고 생각하는 남학생 비율과 여학생 비율 차이에대한 95% 신뢰구간을 구하여보자.

 

$n_m = 199$

$n_f = 251$

$\hat{p}_m = 107/199 = 0.538$

$\hat{p}_f = 185 / 251 = 0.737$

$CI = (0.737-0.538) \pm 1.96 \, \sqrt{ \frac{0.737(1-0.737)}{251} + \frac{0.538(1-0.538)}{199}   } = 0.199 \pm$ 1.96*0.088 = [0.111, 0.287]

 

가설검증

$H_0 : p_1 = p_2$

$H_a : p_1 \ne p_2$

이다.

$np \ge 10$이고 $n(1-p) \ge 10$일때 test statistic은 다음과 같이 구한다.

$$ z = \frac { \hat{p}_1 - \hat{p}_2 } { SE_0 } $$

여기서 standard error SE0를 구하려면

Standard error

$$ SE_0 = \sqrt{ \frac {\hat{p} \left( 1 - \hat{p} \right)} {n_1} + \frac {\hat{p} \left( 1 - \hat{p} \right)} {n_2} }  = \sqrt{ \hat{p} \left( 1- \hat{p}  \right) \left( \frac{1}{n_1} +\frac{1}{n_2} \right) } $$

standard error에 0이 붙은 이유는 H0 가정하에 standard error를 구하였다는 것을 나타내기 위함이다. 

그리고 두 샘플 p에 대한 pooled estimate는 다음과 같다.

$$ \hat{p} = \frac { \hat{p}_1 n_1 + \hat{p}_2 n_2 } { n_1 + n_2}  $$

 

예제

아이스크림회사에서 아이스크림을 담아주는 cone과 bowl에 대한 어른과 어린이들의 선호도를 조사하고자한다. 500명의 샘플을 취하였고 그중 어른은 240명이고 어린이는 260명이다. 이때 어른은 124명이 cone을 선호했고 아이들은 90명이 cone을 선호했다.

 

$p_a$를 어른들의 cone선호도라고 하고 $p_c$를 아이들의 cone 선호도라고하면

$p_a = 124/240 =0.517 $

$p_c = 90/260 = 0.346$

$n_a p_a = 124 $

$n_a (1-p_a) = 116$

$n_c p_c = 90$

$n_c (1-p_c) = 170$

이므로 정규분포근사를 사용할수 있다.

 

$H_0 : p_a = p_c$

$H_a : p_a \ne p_c$

 

$\hat{p} = \left( 124 + 90 \right) / \left( 240 + 260 \right) = 0.428$

$SE_0 = \sqrt{0.428 (1-0.428) \left( 1/240 + 1/260 \right) } = 0.04429$

$z = (124/240 - 90/260) / 0.04429 = 3.850$

이때 p-value는 0.000118이므로 H0를 기각한다.

> pnorm(q=3.850, lower.tail=FALSE)*2
[1] 0.0001181178

따라서 어른의 cone에 대한 선호도는  아이들의 cone에 대한 선호도와 다르다.

 

R script를 사용하면 다음과 같다.

> x = c(124, 90)
> n = c(240, 260)
> prop.test(x, n, alternative = "two.sided", correct=FALSE)

	2-sample test for equality of proportions without continuity
	correction

data:  x out of n
X-squared = 14.821, df = 1, p-value = 0.0001182
alternative hypothesis: two.sided
95 percent confidence interval:
 0.0848327 0.2561929
sample estimates:
   prop 1    prop 2 
0.5166667 0.3461538

위 script에서 correct=FALSE는 Yates' continuity correction를 사용하지 않는다는 의미이다.

 

5. Two Independent Means

신뢰구간

$$ \left( \bar{x}_1 - \bar{x}_2 \right) \pm t^* \sqrt{ \frac{s^2_1}{n_1} + \frac{s^2_2}{n_2} } $$

자유도는 가장 작은 n값에서 구한다.

$$ df = \textrm{minimum}(n) - 1$$

 

예제

A학교의 시험성적과 B학교의 시험성적을 비교하면

        A school    B school
xbar    41.48       40.79
s       6.03        6.79
n       239         138

$\bar{x}_1 - \bar{x}_2 = 41.48 - 40.79 = 0.69$

$SE = \sqrt {6.03^2 / 239 + 6.79^2 / 138} = 0.697$

$df = 138 - 1 = 137$

$t^* = 1.97743$

> qt(p=0.025, df=137, lower.tail=FALSE) 
[1] 1.977431

$CI = 0.69 \pm 1.97743(0.697) = 0.69 \pm 1.378 = [0.688, 2.068]$

 

가설검증

test statistic은 다음과 같이 구한다.

$$ t = \frac {\bar{x}_1 - \bar{x}_2} {S_p \sqrt{\frac{1}{n_1} + \frac{1}{n_2}}} $$

여기서 모집단 표준편차의 pooled estimator, Sp는

$$ S_p = \sqrt{  \frac {(n_1 -1)s_1^2 + (n_2-1)s_2^2} {n_1 + n_2 - 2}}$$

자유도는

$$ df = n_1 + n_2 - 2$$

 

예제

샘플 x1이 (90, 98, 84, 75, 62)이고 샘플 x2가 (85, 75, 63, 45, 47, 32)일때 이 샘플이 서로 다른지 비교하고자 한다면

> x1 = c(90, 98, 84, 75, 62)                 # 데이터 x1
> x2 = c(85, 75, 63, 45, 47, 32)             # 데이터 x2
> mean_x1 = mean(x1)                         # x1의 평균
> mean_x2 = mean(x2)                         # x2의 평균
> n1 = length(x1)                            # x1 샘플크기
> n2 = length(x2)                            # x2 샘플크기
> s1 = sd(x1)                                # x1 표준편차
> s2 = sd(x2)                                # x2 표준편차
> Sp = sqrt(((n1-1)*s1^2 + (n2-1)*s2^2) / (n1+n2-2))    
                                             # 모집단 표준편차의 pooled estimator
> t_stat = (mean_x1 - mean_x2) / (Sp * sqrt(1/n1 + 1/n2))
                                             # test statistic
> pvalue = pt(q=t_stat, df = n1+n2-2, lower.tail=FALSE)*2
                                             # p-value 구하기
> pvalue
[1] 0.05089079

R에서 제공하는 함수를 이용하면

> t.test(x1, x2, alternative="two.sided", var.equal=TRUE)

	Two Sample t-test

data:  x1 and x2
t = 2.2514, df = 9, p-value = 0.05089
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.1150352 48.0483685
sample estimates:
mean of x mean of y 
 81.80000  57.83333

p-value가 0.05보다 크지만 0.05에 매우 가까우므로 marginally significant라고 해야한다.

Comments