두개의 모집단에 대한 추정과 검정 (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)

 

 

 

지난번 포스팅에서는 독립된 두 표본, 짝을 이룬 표본에 대한 평균 차이에 대한 추정과 검정을 했는데요, 이번 포스팅에서는 정규성 가정을 만족하는 분포에서 (3) 두 모집단의 모비율 차이에 대한 추정과 검정(independent two population proportions test), R의 prop.test() 함수에 대해 소개하겠습니다.

 

두 집단의 모비율에 대한 추정과 검정은 범주형 변수(categorical variable)에 대해 두 집단의 비율의 차이를 비교해보려고 할 때 사용하게 됩니다.  가령, 두 집단 간의 특정 정당 혹은 후보에 대한 지지율의 차이, 흡연자와 비흡연자의 폐암 발병률의 차이, A학교와 B학교 야구부 선수들의 평균 타율의 차이 등과 같이 yes/no, success/failure 로 구분이 되는 범주형 변수(categorical variable)에 대해 집단 간 차이가 있는지를 통계량을 사용해서 P-value 를 가지고 (혹은 채택역, 기각역을 사용해서) 검정을 하게 됩니다.

 

 

[ 두 모집단의 모비율 차이에 대한 추정과 검정통계량 ]

 

 

 

 

R의 prop.test() 함수의 기본적인 사용법은 아래와 같습니다.

 

 

[ R prop.test() 함수 사용법 ]

 

 

 

 

아래 예를 R porp.test() 함수를 사용해서 풀어보도록 하겠습니다.

 

 

예제 )  A회사 직장인 500명과 B회사 직장인 600명을 대상으로 조사를 한 결과, A회사 직장인의 흡연율은 33%, B회사 직장인의 흡연율은 41%로 나타났다. 그러면 A회사와 B회사 직장인의 흡연율(proportion of smokers)에는 차이가 있다고 할 수 있는지 유의수준 (significance level) 5% 에서 검정하시오.

 

 

 

귀무가설 Ho : A회사와 B회사의 흡연율은 차이가 없다 (p1 - p2 = 0)

대립가설 H1 : A회사와 B회사의 흡연율은 차이가 있다 (p1 - p2 != 0)

 

 

prop.test(x, ...)의 x에는 'number of events'를 집어넣어야 하므로 아래 문제에서는 비율(proportion) 과 관측값수(n)을 곱해서 x <- prop*n 으로 계산을 해서 새로운 벡터 x를 생성해서 prop.test(x,...)에 집어넣었습니다.

 

> ##----------------------------------------------------------
> ## independent two population proportions test : prop.test()
> ##----------------------------------------------------------
> 
> prop <- c(0.33, 0.41) # proportion of events
> n <- c(500, 600) # number of trials
> x <- prop*n # number of events
> x 
[1] 165 246
> 
> 
> prop.test(x = x, # number of events
+           n = n, # number of trials
+           alternative = c("two.sided"), # alternative = c("two.sided", "less", "greater")
+           conf.level = 0.95) # confidence level (= 1- significance level 'alpha')

	2-sample test for equality of proportions with continuity correction

data:  x out of n
X-squared = 7.1203, df = 1, p-value = 0.007622
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.13881966 -0.02118034
sample estimates:
prop 1 prop 2 
  0.33   0.41

 

 

P-value가 0.007622 이므로 유의수준(significance level) 5%에서 귀무가설을 기각하고 대립가설을 채택하여 A회사와 B회사의 흡연율에 차이가 있다고 할 수 있겠습니다. A회사보다 B회사가 스트레스를 더 받는 회사인 모양입니다. ^^; 

 

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

 

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

 

728x90
반응형
Posted by Rfriend
,

통계적 검정 (statistical testing) 은 모집단의 모수 또는 분포 형태에 대한 추정에 대해 그것이 옳은지 그른지를 임의로 추출한 표본으로부터 통계량을 측정하여 판단하는 통계적 절차를 말합니다.

 

단일 모집단에 대한 통계적 추론 (추정과 검정) 과 관련하여

 

[표본이 크고 정규성 충족 시]

- 단일 모집단의 모평균에 대한 신뢰구간 추정과 검정

   : t.test()

 

- 단일 모집단의 모분산에 대한 신뢰구간 추정과 검정

   : chi-square test

 

- 단일 모집단의 모비율에 대한 신뢰구간 추정과 검정

   : prop.test()

 

 

[정규성 미충족 시]

- 단일 모집단 중심에 대한 비모수 검정

  : wilcox.test()

 

 

[정규성 여부 검정]

- 단일 모집단 분포의 정규성 검정

  : shapiro.test(), qqnorm(), qqline()

 

을 차례로 살펴보겠습니다.

 

지난번 포스팅의 '단일 모집단의 모평균, 모분산에 대한 신뢰구간 추정과 검정'에 이어서, 이번 포스팅에서는 정규분포 형태를 띠는 단일 모집단에서 충분히 큰 규모로 임의로 표본을 추출하여 표본비율(one sample proportion)을 분석하여 미지의 모수인 모비율(one population proportion)에 대한 95% 신뢰계수의 신뢰구간 추정과 검정을 R의 prop.test() 함수를 사용해보겠습니다.

 

이번 포스팅은 선거철 특정 정당이나 후보에 대한 "지지율"(지지 여부 yes, no)이라든지, 특정 제품의 "불량률"(양품 여부 yes, no)과 같은 모집단 내 개체들의 특정 속성에 대한 구성 비율에 추정과 검정에 사용합니다.

 

 

[ 단일 모집단의 모비율에 대한 검정통계량 및 대립가설 형태별 P-value ]

 

 

확률 변수 X가 모수 n (시행 횟수), p (성공 확률) 인 이항분포 (binomial distribution)을 따를 때

모비율 p의 추정량으로는 표본비율 p^ = X / n 을 사용함.

 

표본비율 P^ 은 중심극한의 정리에 의거하여 n이 충분히 크면 평균이 p, 분산이 p(1-p)/n 인

정규분포로 근사하게 됨.

 

따라서, 모비율 p에 대한 검정을 위해 사용하는 통계량 및 대립가설 형태별 P-value는 다음과 같음

 

 

 

 

문제) 100원짜리 동전 던지기를 1000번 했는데 앞면이 485번 나왔다.  그렇다면 이 동전은 앞면과 뒷면이 균일한 동전이라고 말할 수 있는지를 유의수준 5%로 검정하고, 신뢰계수 95%의 신뢰구간을 구하여라.

 

> ##------------------------------------------------
> ## one population proportion test : prop.test()
> ##------------------------------------------------
> 
> prop.test(x = 485, # number of success
+           n = 1000, # sample size
+           p=0.50, # proportion of success
+           
+           alternative = c("two.sided"), # two-sided test
+           # alternative = c("greater"), # right-sided test
+           # alternative = c("less"),# left-sided test
+           
+           conf.level = 0.95) # confidence level

	1-sample proportions test with continuity correction

data:  485 out of 1000, null probability 0.5
X-squared = 0.841, df = 1, p-value = 0.3591
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
 0.4536437 0.5164729
sample estimates:
    p 
0.485 

> 
> 
> prop.test_confi_95 <- prop.test(x = 485, n = 1000, p=0.50, alternative = c("two.sided"), conf.level = 0.95)
> 
> names(prop.test_confi_95)  # statistics
[1] "statistic"   "parameter"   "p.value"     "estimate"    "null.value"  "conf.int"    "alternative"
[8] "method"      "data.name"  
> 
> prop.test_confi_95$conf.int  # confidence interval at 95% confidence level
[1] 0.4536437 0.5164729
attr(,"conf.level")
[1] 0.95
> 
> prop.test_confi_95$conf.int[1] # lower confidence limit
[1] 0.4536437
> prop.test_confi_95$conf.int[2] # upper confidence limit
[1] 0.5164729

 

 

P-value가 0.3591 이므로 유의수준(significance level) 5%에서 귀무가설을 기각하지 못하고 채택하게 됩니다. 즉, 동전은 앞, 뒤가 균일하다고 말할 수 있겠습니다.

 

그리고 신뢰계수 95%의 신뢰구간은 0.453 ~ 0.516 가 되겠습니다. 즉, 1000번 동전던지기를 했는데, 453번 보다 앞면이 덜 나오거나, 혹은 516번 보다 앞면이 더 나오면 동전의 앞, 뒷가 균일하지 않고, 누군가가 사기의 목적을 가지고 조작을 했다고 유의수준 5% 기준 하에 의심해 볼 수 있겠습니다.

 

prop.test() 함수 말고 분석가가 직접 위의 표본비율 p^을 표준화한 통계량 Z를 직접 사용자 정의함수로 짜서 검정과 95% 신뢰구간 추정을 해도 동일한 결과가 나올겁니다.

 

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

 

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

 

728x90
반응형
Posted by Rfriend
,