* 본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 "PROBABILITY AND STATISTICAL INFERENCE 9th Edition"에서 발췌한 것입니다. 이 자료들은 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원본을 참고하여 확인하시기 바랍니다
1. 이론 정리 - 비율에 대한 가설 검정 (Tests About Proportions)
1) 단일 모집단의 비율 검정
(1) 정의
- 모집단 비율 \( p \) 가 특정 값 \( p_0 \) 와 같은지 검정.
- 귀무가설: \( H_0: p = p_0 \)
- 대립가설:
- 단측 검정(우측): \( H_1: p > p_0 \)
- 단측 검정(좌측): \( H_1: p < p_0 \)
- 양측 검정: \( H_1: p \neq p_0 \)

(2) 검정통계량 유도 및 증명
a) 표본비율 정의
- 베르누이 시행에서 성공 확률이 \( p \) 인 확률변수 \( Y \) 에 대해 표본비율 \( \hat{p} \) 정의:
\[
\hat{p} = \frac{Y}{n}
\]
- \( Y \sim Bin(n, p) \) 이므로 기대값과 분산은 다음과 같다.
\[
E(\hat{p}) = p, \quad \text{Var}(\hat{p}) = \frac{p(1 - p)}{n}
\]
b) 정규근사 적용
- 중심극한정리에 의해 \( n \) 이 충분히 크면 \( \hat{p} \) 는 정규분포 근사 가능:
\[
\hat{p} \sim N\left(p, \frac{p(1 - p)}{n} \right)
\]
- 귀무가설 하에서 \( p_0 \) 을 이용하여 표준화하면:
\[
Z = \frac{\hat{p} - p_0}{\sqrt{\frac{p_0(1 - p_0)}{n}}} \sim N(0,1)
\]
(3) 검정 기준
- 유의수준 \( \alpha \) 에 따라 임계값 설정:
- 단측(우): \( Z \geq z_{\alpha} \) → \( H_0 \) 기각
- 단측(좌): \( Z \leq -z_{\alpha} \) → \( H_0 \) 기각
- 양측: \( |Z| \geq z_{\alpha/2} \) → \( H_0 \) 기각
(4) 신뢰구간
- \( 1 - \alpha \) 신뢰구간:
\[
\hat{p} \pm z_{\alpha/2} \sqrt{\frac{\hat{p}(1 - \hat{p})}{n}}
\]
2) 두 모집단 비율 비교 검정
(1) 정의
- 두 모집단 비율 \( p_1, p_2 \) 비교.
- 귀무가설: \( H_0: p_1 = p_2 \) 또는 \( H_0: p_1 - p_2 = 0 \)
- 대립가설:
- 단측(우): \( H_1: p_1 > p_2 \)
- 단측(좌): \( H_1: p_1 < p_2 \)
- 양측: \( H_1: p_1 \neq p_2 \)

(2) 검정통계량 유도 및 증명
a) 표본 평균의 분포
- 첫 번째 표본 \( Y_1 \) 의 성공 비율 \( \hat{p}_1 \) 은 대략적으로:
\[
\hat{p}_1 = \frac{Y_1}{n_1} \sim N\left(p_1, \frac{p_1(1 - p_1)}{n_1} \right)
\]
- 두 번째 표본 \( Y_2 \) 의 성공 비율 \( \hat{p}_2 \) 도 대략적으로:
\[
\hat{p}_2 = \frac{Y_2}{n_2} \sim N\left(p_2, \frac{p_2(1 - p_2)}{n_2} \right)
\]
b) 표본 평균 차이의 분포
- 두 독립 표본의 성공 비율 차이 \( \hat{p}_1 - \hat{p}_2 \) 의 분포:
\[
\hat{p}_1 - \hat{p}_2 \sim N\left(p_1 - p_2, \frac{p_1(1 - p_1)}{n_1} + \frac{p_2(1 - p_2)}{n_2} \right)
\]
c) 분산의 성질
- 독립 확률변수의 차이의 분산은 개별 분산의 합:
\[
\text{Var}(\hat{p}_1 - \hat{p}_2) = \text{Var}(\hat{p}_1) + \text{Var}(\hat{p}_2) = \frac{p_1(1 - p_1)}{n_1} + \frac{p_2(1 - p_2)}{n_2}
\]
d) 표준 오차
- 표준 오차(SE)는 분산의 제곱근:
\[
SE = \sqrt{\frac{p_1(1 - p_1)}{n_1} + \frac{p_2(1 - p_2)}{n_2}}
\]
(3) 귀무가설 하에서의 추정
- 귀무가설 \( H_0: p_1 = p_2 = p \) 하에서 합동비율(협동비율) 사용:
\[
\hat{p} = \frac{Y_1 + Y_2}{n_1 + n_2}
\]
- 이를 이용한 표준 오차:
\[
SE = \sqrt{\hat{p}(1 - \hat{p}) \left( \frac{1}{n_1} + \frac{1}{n_2} \right)}
\]
(4) 최종 검정통계량
\[
Z = \frac{\hat{p}_1 - \hat{p}_2}{\sqrt{\hat{p}(1 - \hat{p}) \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}}
\]
- \( Z \sim N(0,1) \) under \( H_0 \).
(5) 검정 기준
- 단측 및 양측 검정에서 임계값 \( z_{\alpha} \) 와 비교하여 결정.
- 신뢰구간:
\[
(\hat{p}_1 - \hat{p}_2) \pm z_{\alpha/2} \sqrt{\hat{p}_1(1 - \hat{p}_1)/n_1 + \hat{p}_2(1 - \hat{p}_2)/n_2}
\]
3) 대체치(substitution)를 사용하는 이유
비율 검정에서 표본 성공 확률 \( \hat{p}_1 \) 및 \( \hat{p}_2 \) 의 표준 편차(표준 오차, SE)를 추정할 때, 귀무가설의 참·거짓 여부에 따라 서로 다른 방식을 사용해야 한다. 이는 검정 과정에서 분산을 올바르게 반영하고, 검정통계량의 정확성을 높이기 위해 필수적인 과정이다.
(1) 귀무가설이 참일 때 (\( H_0: p_1 = p_2 = p \))
- 귀무가설이 참이면 모집단의 두 성공 확률은 동일해야 한다.
- 즉, \( p_1 \) 과 \( p_2 \) 가 동일하므로, 이들의 공통된 값을 사용하여 표준 편차를 추정하는 것이 더 적절하다.
- 이를 위해 합동비율(협동비율, pooled proportion) \( \hat{p} \) 를 사용한다.
- 합동비율은 두 표본의 성공 횟수를 하나로 합쳐 계산한다:
\[
\hat{p} = \frac{Y_1 + Y_2}{n_1 + n_2}
\]
- 이 값을 이용하여 표준 오차(SE)를 추정하면:
\[
SE = \sqrt{\hat{p}(1 - \hat{p}) \left(\frac{1}{n_1} + \frac{1}{n_2} \right)}
\]
- 이 방법은 두 모집단이 같은 성공 확률을 가진다는 전제를 반영하여, 하나의 비율 값으로 검정을 수행하도록 한다.
(2) 귀무가설이 거짓일 때 (\( H_1: p_1 \neq p_2 \))
- 귀무가설이 거짓이라면 \( p_1 \) 과 \( p_2 \) 는 서로 다를 가능성이 높다.
- 이 경우, 두 모집단을 하나로 합쳐서 분석하는 것은 잘못된 가정이 될 수 있다.
- 따라서 각 모집단의 표본 성공 확률 \( \hat{p}_1 \) 및 \( \hat{p}_2 \) 를 별도로 사용하여 표준 편차를 추정해야 한다.
- 표준 오차(SE)는 다음과 같이 계산된다:
\[
SE = \sqrt{\frac{\hat{p}_1(1 - \hat{p}_1)}{n_1} + \frac{\hat{p}_2(1 - \hat{p}_2)}{n_2}}
\]
- 이는 각 집단의 고유한 분산을 반영하여 보다 정확한 추정을 가능하게 한다.
(3) 대체치를 사용해야 하는 이유
대체치를 사용할 때의 주요한 논리는 귀무가설의 참·거짓에 따라 표본의 분산을 추정하는 방식이 달라져야 한다는 점이다.
(a) 분산의 차이 반영
- 두 모집단의 성공 확률이 다르면, 분산도 달라질 가능성이 높다.
- 따라서, 각각의 표본을 따로 고려하여 분산을 추정해야 한다.
- 합동비율을 사용하면, 두 모집단의 차이를 무시하는 오류가 발생할 수 있다.
(b) 표본의 특성 반영
- 모집단의 성공 확률이 다르면, 각 표본이 반영하는 특성이 다를 수밖에 없다.
- 따라서, 각 모집단의 특성을 반영하는 표본비율을 사용하여 검정을 수행하는 것이 더 정확하다.
(c) 표준 편차의 정확한 추정
- 검정 과정에서 대체치를 사용하는 것은 분산 추정의 정확성을 높이기 위한 필수적인 과정이다.
- 표준 편차를 더 정확하게 추정함으로써, 검정 통계량의 신뢰도를 높일 수 있다.
(4) 대체치 적용 사례
(a) 합동비율을 사용하는 경우 (귀무가설이 참일 때)
- 예를 들어, 두 표본에서 성공 횟수가 각각 \( Y_1 = 30 \), \( Y_2 = 50 \) 이고, 표본 크기가 각각 \( n_1 = 100 \), \( n_2 = 150 \) 이라고 하자.
- 합동비율(협동비율) 계산:
\[
\hat{p} = \frac{30 + 50}{100 + 150} = \frac{80}{250} = 0.32
\]
- 표준 오차(SE) 계산:
\[
SE = \sqrt{0.32(1 - 0.32) \left(\frac{1}{100} + \frac{1}{150} \right)}
\]
(b) 개별 표본비율을 사용하는 경우 (귀무가설이 거짓일 때)
- 표본 성공 확률이 각각 \( \hat{p}_1 = 0.30 \), \( \hat{p}_2 = 0.33 \) 라고 하면:
- 표준 오차(SE) 계산:
\[
SE = \sqrt{\frac{0.30(1 - 0.30)}{100} + \frac{0.33(1 - 0.33)}{150}}
\]
- 이는 두 모집단이 서로 다른 성공 확률을 가질 가능성을 반영한 방식이다.
대체치를 사용하는 이유를 요약하면 다음과 같다.
1. 귀무가설이 참이면, 두 모집단이 같은 성공 확률을 가진다는 가정을 유지하기 위해 합동비율을 사용해야 한다.
2. 귀무가설이 거짓이면, 모집단의 성공 확률이 다를 가능성이 있으므로 개별 표본비율을 사용해야 한다.
3. 표본의 특성과 분산을 정확하게 반영함으로써, 검정의 신뢰성을 높일 수 있다.
4. 검정 과정에서 잘못된 가정을 적용하는 것을 방지하고, 보다 정확한 통계적 추론을 수행할 수 있다.
결국, 귀무가설의 참·거짓 여부에 따라 적절한 표본비율을 사용하는 것이 검정의 정확성을 결정하는 핵심 요소이다.
2. 예제
예제 1: 단일 모집단 비율 검정
1) 문제
한 온라인 쇼핑몰에서 500명의 고객 중 275명이 특정 제품을 다시 구매했다. 기존 연구에 따르면 일반적인 재구매율은 50%라고 알려져 있다.
이 쇼핑몰의 재구매율이 50%보다 높은지 유의수준 \( \alpha = 0.05 \) 에서 검정하라.
2) 풀이
(1) 가설 설정
- 귀무가설: \( H_0: p = 0.50 \)
- 대립가설: \( H_1: p > 0.50 \) (단측 검정)
(2) 표본비율 계산
\[
\hat{p} = \frac{275}{500} = 0.55
\]
(3) 검정통계량 계산
\[
Z = \frac{\hat{p} - p_0}{\sqrt{\frac{p_0(1 - p_0)}{n}}}
\]
\[
Z = \frac{0.55 - 0.50}{\sqrt{\frac{0.50(1 - 0.50)}{500}}} = \frac{0.05}{0.02236} \approx 2.24
\]
(4) 유의수준과 임계값 비교
- 유의수준 \( \alpha = 0.05 \) 에 대한 임계값: \( z_{0.05} = 1.645 \)
- \( Z = 2.24 > 1.645 \) 이므로 귀무가설을 기각한다.
쇼핑몰의 재구매율은 기존 50%보다 유의하게 높다고 할 수 있다.
예제 2: 두 모집단 비율 비교 검정 (합동비율 사용)
1) 문제
한 제약회사가 두 가지 치료법(A, B)을 비교하려 한다.
- A 치료법: 200명 중 120명이 치료 성공
- B 치료법: 250명 중 130명이 치료 성공
이 두 치료법의 성공률이 같은지 유의수준 \( \alpha = 0.05 \) 에서 검정하라.
2) 풀이
(1) 가설 설정
- 귀무가설: \( H_0: p_1 = p_2 \) (두 치료법의 성공률이 동일함)
- 대립가설: \( H_1: p_1 \neq p_2 \) (두 치료법의 성공률이 다름)
(2) 표본비율 계산
\[
\hat{p}_1 = \frac{120}{200} = 0.60, \quad \hat{p}_2 = \frac{130}{250} = 0.52
\]
(3) 합동비율(협동비율) 계산
\[
\hat{p} = \frac{120 + 130}{200 + 250} = \frac{250}{450} = 0.5556
\]
(4) 표준 오차(SE) 계산
\[
SE = \sqrt{\hat{p}(1 - \hat{p}) \left(\frac{1}{n_1} + \frac{1}{n_2}\right)}
\]
\[
SE = \sqrt{0.5556(1 - 0.5556) \left(\frac{1}{200} + \frac{1}{250}\right)}
\]
\[
SE \approx \sqrt{0.2469 \times (0.005 + 0.004)} = \sqrt{0.00222} \approx 0.0471
\]
(5) 검정통계량 계산
\[
Z = \frac{\hat{p}_1 - \hat{p}_2}{SE} = \frac{0.60 - 0.52}{0.0471} \approx 1.70
\]
(6) 유의수준과 임계값 비교
- 유의수준 \( \alpha = 0.05 \) 에 대한 양측 검정 임계값: \( z_{0.025} = 1.96 \)
- \( |Z| = 1.70 < 1.96 \) 이므로 귀무가설을 기각할 수 없음.
두 치료법의 성공률 차이는 통계적으로 유의하지 않다.
예제 3: 두 모집단 비율 비교 검정 (대체치 사용)
1) 문제
A사의 제품을 사용한 고객 300명 중 180명이 만족했고, B사의 제품을 사용한 고객 250명 중 130명이 만족했다.
이 두 제품의 만족도 차이가 유의미한지 유의수준 \( \alpha = 0.05 \) 에서 검정하라.
2) 풀이
(1) 가설 설정
- 귀무가설: \( H_0: p_1 = p_2 \)
- 대립가설: \( H_1: p_1 \neq p_2 \)
(2) 표본비율 계산
\[
\hat{p}_1 = \frac{180}{300} = 0.60, \quad \hat{p}_2 = \frac{130}{250} = 0.52
\]
(3) 표준 오차(SE) 계산
- 귀무가설이 거짓일 가능성을 고려하여 개별 표본비율 사용:
\[
SE = \sqrt{\frac{\hat{p}_1(1 - \hat{p}_1)}{n_1} + \frac{\hat{p}_2(1 - \hat{p}_2)}{n_2}}
\]
\[
SE = \sqrt{\frac{0.60(1 - 0.60)}{300} + \frac{0.52(1 - 0.52)}{250}}
\]
\[
SE = \sqrt{\frac{0.24}{300} + \frac{0.2496}{250}} = \sqrt{0.0008 + 0.0009984} = \sqrt{0.0017984} \approx 0.0424
\]
(4) 검정통계량 계산
\[
Z = \frac{\hat{p}_1 - \hat{p}_2}{SE} = \frac{0.60 - 0.52}{0.0424} \approx 1.89
\]
(5) 유의수준과 임계값 비교
- 유의수준 \( \alpha = 0.05 \) 에 대한 양측 검정 임계값: \( z_{0.025} = 1.96 \)
- \( |Z| = 1.89 < 1.96 \) 이므로 귀무가설을 기각할 수 없음.
A사와 B사의 제품 만족도 차이는 통계적으로 유의하지 않다.
# R code
# 문제 1 단일 모집단 비율 검정
n <- 500 # 표본 크기
p_hat <- 275 / 500 # 표본 비율
p_0 <- 0.50 # 귀무가설의 모집단 비율
# 검정통계량 계산
z_value <- (p_hat - p_0) / sqrt(p_0 * (1 - p_0) / n)
# p-value 계산 (단측 검정)
p_value <- 1 - pnorm(z_value)
# 결과 출력
cat("Z 값:", z_value, "\n")
cat("p-value:", p_value, "\n")
# 유의수준 0.05에서 귀무가설 기각 여부 확인
if (p_value < 0.05) {
cat("귀무가설 기각: 재구매율이 50%보다 유의하게 높음.\n")
} else {
cat("귀무가설 채택: 재구매율이 50%보다 높다고 볼 수 없음.\n")
}
# 문제 2 두 모집단 비율 비교 검정 (합동비율 사용)
n1 <- 200
n2 <- 250
p1_hat <- 120 / 200
p2_hat <- 130 / 250
# 합동비율 계산
p_hat <- (120 + 130) / (200 + 250)
# 표준 오차(SE) 계산
SE <- sqrt(p_hat * (1 - p_hat) * (1/n1 + 1/n2))
# 검정통계량 계산
z_value <- (p1_hat - p2_hat) / SE
# p-value 계산 (양측 검정)
p_value <- 2 * (1 - pnorm(abs(z_value)))
# 결과 출력
cat("Z 값:", z_value, "\n")
cat("p-value:", p_value, "\n")
# 유의수준 0.05에서 귀무가설 기각 여부 확인
if (p_value < 0.05) {
cat("귀무가설 기각: 두 치료법의 성공률이 다름.\n")
} else {
cat("귀무가설 채택: 두 치료법의 성공률 차이가 유의미하지 않음.\n")
}
# 문제 3 두 모집단 비율 비교 검정 (대체치 사용)
n1 <- 300
n2 <- 250
p1_hat <- 180 / 300
p2_hat <- 130 / 250
# 표준 오차(SE) 계산 (각 표본비율 사용)
SE <- sqrt((p1_hat * (1 - p1_hat) / n1) + (p2_hat * (1 - p2_hat) / n2))
# 검정통계량 계산
z_value <- (p1_hat - p2_hat) / SE
# p-value 계산 (양측 검정)
p_value <- 2 * (1 - pnorm(abs(z_value)))
# 결과 출력
cat("Z 값:", z_value, "\n")
cat("p-value:", p_value, "\n")
# 유의수준 0.05에서 귀무가설 기각 여부 확인
if (p_value < 0.05) {
cat("귀무가설 기각: 두 제품의 만족도가 유의미하게 다름.\n")
} else {
cat("귀무가설 채택: 두 제품의 만족도 차이가 유의미하지 않음.\n")
}
# Python code
# 문제 1 단일 모집단 비율 검정
import scipy.stats as stats
import numpy as np
n = 500 # 표본 크기
p_hat = 275 / 500 # 표본 비율
p_0 = 0.50 # 귀무가설의 모집단 비율
# 검정통계량 계산
z_value = (p_hat - p_0) / np.sqrt(p_0 * (1 - p_0) / n)
# p-value 계산 (단측 검정)
p_value = 1 - stats.norm.cdf(z_value)
# 결과 출력
print(f"Z 값: {z_value:.4f}")
print(f"p-value: {p_value:.4f}")
# 유의수준 0.05에서 귀무가설 기각 여부 확인
if p_value < 0.05:
print("귀무가설 기각: 재구매율이 50%보다 유의하게 높음.")
else:
print("귀무가설 채택: 재구매율이 50%보다 높다고 볼 수 없음.")
# 문제 2 두 모집단 비율 비교 검정 (합동비율 사용)
import scipy.stats as stats
import numpy as np
n1, n2 = 200, 250
p1_hat, p2_hat = 120 / 200, 130 / 250
# 합동비율 계산
p_hat = (120 + 130) / (200 + 250)
# 표준 오차(SE) 계산
SE = np.sqrt(p_hat * (1 - p_hat) * (1/n1 + 1/n2))
# 검정통계량 계산
z_value = (p1_hat - p2_hat) / SE
# p-value 계산 (양측 검정)
p_value = 2 * (1 - stats.norm.cdf(abs(z_value)))
# 결과 출력
print(f"Z 값: {z_value:.4f}")
print(f"p-value: {p_value:.4f}")
# 유의수준 0.05에서 귀무가설 기각 여부 확인
if p_value < 0.05:
print("귀무가설 기각: 두 치료법의 성공률이 다름.")
else:
print("귀무가설 채택: 두 치료법의 성공률 차이가 유의미하지 않음.")
# 문제 3 두 모집단 비율 비교 검정 (대체치 사용)
import scipy.stats as stats
import numpy as np
n1, n2 = 300, 250
p1_hat, p2_hat = 180 / 300, 130 / 250
# 표준 오차(SE) 계산 (각 표본비율 사용)
SE = np.sqrt((p1_hat * (1 - p1_hat) / n1) + (p2_hat * (1 - p2_hat) / n2))
# 검정통계량 계산
z_value = (p1_hat - p2_hat) / SE
# p-value 계산 (양측 검정)
p_value = 2 * (1 - stats.norm.cdf(abs(z_value)))
# 결과 출력
print(f"Z 값: {z_value:.4f}")
print(f"p-value: {p_value:.4f}")
# 유의수준 0.05에서 귀무가설 기각 여부 확인
if p_value < 0.05:
print("귀무가설 기각: 두 제품의 만족도가 유의미하게 다름.")
else:
print("귀무가설 채택: 두 제품의 만족도 차이가 유의미하지 않음.")
'통계' 카테고리의 다른 글
| 8.5 Power of a Statistical Test (0) | 2025.01.03 |
|---|---|
| 8.4 The Wilcoxon Tests (0) | 2025.01.03 |
| 8.2 Tests of the Equality of Two Means (0) | 2025.01.03 |
| 8.1 Tests About One Mean (0) | 2025.01.03 |
| 7.7 Resampling Methods (0) | 2025.01.03 |