* 본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 "PROBABILITY AND STATISTICAL INFERENCE 9th Edition"에서 발췌한 것입니다. 이 자료들은 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원본을 참고하여 확인하시기 바랍니다
1. 이론정리
1) 연관성 검정(Contingency Tables)
(1) 정의
a) 연관성 검정은 범주형 데이터에서 두 개 이상의 변수 간 관계를 분석하는 방법임.
b) Karl Pearson이 개발한 카이제곱 검정(Chi-Square Test)을 사용하여 범주형 변수 간 독립성을 검정함.
c) 연관성 검정은 독립성 검정(Test for Independence)과 동질성 검정(Test for Homogeneity)으로 나뉨.
2) 독립성 검정(Test for Independence)
(1) 개념
a) 두 범주형 변수 \( X \) 와 \( Y \) 가 서로 독립인지 검정하는 방법임.
b) 독립이면 한 변수의 특정 범주가 다른 변수의 특정 범주에 영향을 주지 않음.
(2) 가설 설정
a) 귀무가설(\( H_0 \)): 두 변수는 서로 독립이다.
b) 대립가설(\( H_1 \)): 두 변수는 서로 독립이 아니다.
(3) 검정통계량
a) 독립이면 기대 빈도(expected frequency) \( E_{ij} \) 는 다음과 같이 계산됨.
\[
E_{ij} = \frac{(행합) \times (열합)}{전체합} = \frac{y_{i\cdot} y_{\cdot j}}{n}
\]
b) 카이제곱 검정통계량은 다음과 같이 정의됨.
\[
Q = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}
\]
여기서 \( O_{ij} \) 는 관찰 빈도(observed frequency), \( E_{ij} \) 는 기대 빈도임.
c) 검정통계량 \( Q \) 는 자유도 \( (r-1)(c-1) \) 인 카이제곱 분포를 따름.
3) 동질성 검정(Test for Homogeneity)
(1) 개념
a) 서로 다른 모집단에서 동일한 범주형 변수의 분포가 동일한지 검정하는 방법임.
b) 모집단이 다르지만 동일한 분포를 따른다면 동질성이 있다고 판단함.
(2) 가설 설정
a) 귀무가설(\( H_0 \)): 모집단에서 범주형 변수의 분포가 동일하다.
b) 대립가설(\( H_1 \)): 모집단에서 범주형 변수의 분포가 다르다.
(3) 검정통계량
a) 기대 빈도는 다음과 같이 계산됨.
\[
E_{ij} = \frac{(행합) \times (열합)}{전체합}
\]
b) 카이제곱 검정통계량은 다음과 같이 정의됨.
\[
Q = \sum_{i=1}^{r} \sum_{j=1}^{c} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}
\]
c) 검정통계량 \( Q \) 는 자유도 \( (r-1)(c-1) \) 인 카이제곱 분포를 따름.
2. 예제
1) 문제
(1) 한 학교에서 성별(남/여)과 전공(이공계/인문계)이 독립인지 검정하라.
- 데이터: 남성-이공계 45명, 남성-인문계 55명, 여성-이공계 40명, 여성-인문계 60명
- 유의수준 \( \alpha = 0.05 \)
(2) 두 개의 지역(A, B)에서 특정 질병에 걸린 사람의 비율이 동일한지 검정하라.
- 데이터: A지역(감염 30명, 비감염 70명), B지역(감염 20명, 비감염 80명)
- 유의수준 \( \alpha = 0.05 \)
(3) 세 개의 광고 유형(A, B, C)이 고객 구매 행동에 영향을 미치는지 검정하라.
- 데이터: A광고(구매 50명, 미구매 150명), B광고(구매 40명, 미구매 160명), C광고(구매 30명, 미구매 170명)
- 유의수준 \( \alpha = 0.05 \)
2) 답안
(1) 성별과 전공 독립성 검정
a) 문제 정의
(a) 한 대학에서 성별(남성/여성)과 전공(이공계/인문계) 간의 독립성을 검정한다.
(b) 데이터:
- 남성-이공계: 45명
- 남성-인문계: 55명
- 여성-이공계: 40명
- 여성-인문계: 60명
(c) 유의수준 \( \alpha = 0.05 \)
b) 가설 설정
(a) 귀무가설 \( H_0 \): 성별과 전공은 서로 독립이다.
(b) 대립가설 \( H_1 \): 성별과 전공은 서로 독립이 아니다.
c) 기대 빈도 계산
(a) 총 인원: \( 45 + 55 + 40 + 60 = 200 \)
(b) 각 범주의 기대 빈도 계산:
\[
E_{11} = \frac{(남성 총합) \times (이공계 총합)}{\text{총 인원}} = \frac{100 \times 85}{200} = 42.5
\]
\[
E_{12} = \frac{(남성 총합) \times (인문계 총합)}{\text{총 인원}} = \frac{100 \times 115}{200} = 57.5
\]
\[
E_{21} = \frac{(여성 총합) \times (이공계 총합)}{\text{총 인원}} = \frac{100 \times 85}{200} = 42.5
\]
\[
E_{22} = \frac{(여성 총합) \times (인문계 총합)}{\text{총 인원}} = \frac{100 \times 115}{200} = 57.5
\]
d) 검정통계량 계산
(a) 카이제곱 검정통계량:
\[
Q = \sum_{i=1}^{2} \sum_{j=1}^{2} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}
\]
\[
Q = \frac{(45 - 42.5)^2}{42.5} + \frac{(55 - 57.5)^2}{57.5} + \frac{(40 - 42.5)^2}{42.5} + \frac{(60 - 57.5)^2}{57.5} = 1.18
\]
e) 기각 기준
(a) 임계값: \( \chi^2_{0.05,1} = 3.841 \)
(b) 검정 결과:
\[
1.18 < 3.841
\]
→ 귀무가설 기각 불가 (성별과 전공은 독립적일 가능성이 있음)
(2) 질병 감염률 동질성 검정
a) 문제 정의
(a) 두 개의 지역(A, B)에서 특정 질병 감염률이 동일한지 검정한다.
(b) 데이터:
- A지역 감염: 30명
- A지역 비감염: 70명
- B지역 감염: 20명
- B지역 비감염: 80명
(c) 유의수준 \( \alpha = 0.05 \)
b) 가설 설정
(a) 귀무가설 \( H_0 \): 두 지역의 감염률이 동일하다.
(b) 대립가설 \( H_1 \): 두 지역의 감염률이 다르다.
c) 기대 빈도 계산
(a) 총 인원: \( 30 + 70 + 20 + 80 = 200 \)
(b) 각 범주의 기대 빈도 계산:
\[
E_{11} = \frac{(A지역 총합) \times (감염 총합)}{\text{총 인원}} = \frac{100 \times 50}{200} = 25
\]
\[
E_{12} = \frac{(A지역 총합) \times (비감염 총합)}{\text{총 인원}} = \frac{100 \times 150}{200} = 75
\]
\[
E_{21} = \frac{(B지역 총합) \times (감염 총합)}{\text{총 인원}} = \frac{100 \times 50}{200} = 25
\]
\[
E_{22} = \frac{(B지역 총합) \times (비감염 총합)}{\text{총 인원}} = \frac{100 \times 150}{200} = 75
\]
d) 검정통계량 계산
\[
Q = \frac{(30 - 25)^2}{25} + \frac{(70 - 75)^2}{75} + \frac{(20 - 25)^2}{25} + \frac{(80 - 75)^2}{75} = 1.67
\]
e) 기각 기준
(a) 임계값: \( \chi^2_{0.05,1} = 3.841 \)
(b) 검정 결과:
\[
1.67 < 3.841
\]
→ 귀무가설 기각 불가 (두 지역의 감염률이 동일할 가능성이 있음)
(3) 광고 유형과 구매 행동 독립성 검정
a) 문제 정의
(a) 광고 유형(A, B, C)이 고객의 구매 여부에 영향을 미치는지 검정한다.
(b) 데이터:
- A 광고: 구매 50명, 미구매 150명
- B 광고: 구매 40명, 미구매 160명
- C 광고: 구매 30명, 미구매 170명
(c) 유의수준 \( \alpha = 0.05 \)
b) 가설 설정
(a) 귀무가설 \( H_0 \): 광고 유형과 구매 여부는 독립이다.
(b) 대립가설 \( H_1 \): 광고 유형과 구매 여부는 독립이 아니다.
c) 기대 빈도 계산
(a) 총 인원: \( 50 + 150 + 40 + 160 + 30 + 170 = 600 \)
(b) 각 범주의 기대 빈도 계산:
\[
E_{11} = \frac{(A 광고 총합) \times (구매 총합)}{\text{총 인원}} = \frac{200 \times 120}{600} = 40
\]
\[
E_{12} = \frac{(A 광고 총합) \times (미구매 총합)}{\text{총 인원}} = \frac{200 \times 480}{600} = 160
\]
\[
E_{21} = \frac{(B 광고 총합) \times (구매 총합)}{\text{총 인원}} = \frac{200 \times 120}{600} = 40
\]
\[
E_{22} = \frac{(B 광고 총합) \times (미구매 총합)}{\text{총 인원}} = \frac{200 \times 480}{600} = 160
\]
\[
E_{31} = \frac{(C 광고 총합) \times (구매 총합)}{\text{총 인원}} = \frac{200 \times 120}{600} = 40
\]
\[
E_{32} = \frac{(C 광고 총합) \times (미구매 총합)}{\text{총 인원}} = \frac{200 \times 480}{600} = 160
\]
d) 검정통계량 계산
(a) 카이제곱 검정통계량:
\[
Q = \sum_{i=1}^{3} \sum_{j=1}^{2} \frac{(O_{ij} - E_{ij})^2}{E_{ij}}
\]
\[
Q = \frac{(50 - 40)^2}{40} + \frac{(150 - 160)^2}{160} + \frac{(40 - 40)^2}{40} + \frac{(160 - 160)^2}{160} + \frac{(30 - 40)^2}{40} + \frac{(170 - 160)^2}{160}
\]
\[
Q = \frac{10^2}{40} + \frac{(-10)^2}{160} + \frac{0^2}{40} + \frac{0^2}{160} + \frac{(-10)^2}{40} + \frac{10^2}{160}
\]
\[
Q = \frac{100}{40} + \frac{100}{160} + \frac{0}{40} + \frac{0}{160} + \frac{100}{40} + \frac{100}{160}
\]
\[
Q = 2.5 + 0.625 + 0 + 0 + 2.5 + 0.625
\]
\[
Q = 6.25
\]
e) 기각 기준
(a) 임계값: \[\chi^2_{0.05,2} = 5.991\]
# 자유도(\( df \)) = \( (r-1)(c-1) = (3-1)(2-1) = 2 \)
(b) 검정 결과:
\[
6.25 > 5.991
\]
→ 귀무가설 기각! (광고 유형과 구매 행동은 독립이 아님)
# R code
# 문제 1
data1 <- matrix(c(45, 55, 40, 60), nrow=2, byrow=TRUE)
result1 <- chisq.test(data1, correct=FALSE) # 연속성 수정 비활성화
print(result1)
# 문제 2
data2 <- matrix(c(30, 70, 20, 80), nrow=2, byrow=TRUE)
result2 <- chisq.test(data2, correct=FALSE) # 연속성 수정 비활성화
print(result2)
# 문제 3
data3 <- matrix(c(50, 150, 40, 160, 30, 170), nrow=3, byrow=TRUE)
result3 <- chisq.test(data3, correct=FALSE) # 연속성 수정 비활성화
print(result3)
# Python code
import numpy as np
import scipy.stats as stats
# 문제 1
data1 = np.array([[45, 55], [40, 60]])
chi2_1, p_1, dof_1, expected_1 = stats.chi2_contingency(data1, correction=False) # 연속성 수정 비활성화
print(f"Chi-squared: {chi2_1:.3f}, p-value: {p_1:.5f}")
# 문제 2
data2 = np.array([[30, 70], [20, 80]])
chi2_2, p_2, dof_2, expected_2 = stats.chi2_contingency(data2, correction=False) # 연속성 수정 비활성화
print(f"Chi-squared: {chi2_2:.3f}, p-value: {p_2:.5f}")
# 문제 3
data3 = np.array([[50, 150], [40, 160], [30, 170]])
chi2_3, p_3, dof_3, expected_3 = stats.chi2_contingency(data3, correction=False) # 연속성 수정 비활성화
print(f"Chi-squared: {chi2_3:.3f}, p-value: {p_3:.5f}")
'통계' 카테고리의 다른 글
| 9.4 Two-Way Analysis of Variance (0) | 2025.01.03 |
|---|---|
| 9.3 One-Factor Analysis of Variance (0) | 2025.01.03 |
| 9.1 Chi-Square Goodness-of-Fit Tests (0) | 2025.01.03 |
| 8.7 Likelihood Ratio Tests (0) | 2025.01.03 |
| 8.6 Best Critical Regions (0) | 2025.01.03 |