생각 작업실 The atelier of thinking

90. 분산분석 - 다중비교(Multiple Comparison) 본문

통계학 이야기

90. 분산분석 - 다중비교(Multiple Comparison)

knowledge-seeker 2024. 7. 5. 10:37

Chapter 90. 분산분석 - 다중비교

 

1. 다중비교(Multiple Comparison)

 

다중 비교는 하나 이상의 그룹 간의 평균 또는 비율을 비교할 때, 모든 가능한 조합을 비교하는 것을 의미합니다. 분산분석에서 다중 비교를 실시하는 이유는 주어진 실험에서 그룹 간의 평균 차이가 있는지를 확인하는 것이 주된 목표이기 때문입니다.

 

 

(1) 다중비교가 필요한 상황

 

▶ 분산분석 결과가 귀무가설을 기각시키는 경우

분산분석 결과가 귀무가설을 기각시키지 못하는 경우에는 처리 간에 차이가 없다는 것이므로 추가분석이 필요하지 않습니다.
하지만 귀무가설을 기각시키는 경우는 어떤 처리 간에 차이가 있는지 또는 어떤 그룹들 간에 차이가 있는지 등을 알아볼 필요가 있습니다.
정리하면, 다중비교는 처리효과가 있다고 할 때, 어떤 수준들 간에 차이가 있는지 확인하기 위해 모든 평균 차이의 조합에 대하여 유의성을 검증하는 방법이라 말할 수 있습니다.

▶ 고정효과모형에서만 유효

분산분석 변량효과모형에서는 표본 평균은 임의로 선택된 값이고 매번 바뀌기 때문에 어떤 수준간의 차이가 중요하지 않고 유효하지도 않습니다. 따라서, 다중비교는 고정효과모형에서만 유효한 방법이라 할 수 있습니다.

 

 

(2) 다중비교의 가설설정

 

다중 비교는 모든 가능한 조합을 비교하는 것입니다.
모든 i ≠ j 인 모든 수준의 쌍에 대해 평균(처리효과)을 비교하는 것이라 할 수 있습니다. 따라서, 가설은 아래와 같이 표현할 수 있습니다.

 

귀무가설 $H_0 : \mu_i = \mu_j \quad vs $ 대립가설 $H_1 : \mu_i \not= \mu_j$

 

(3) 다중비교 방법

 

다중비교를 위한 여러가지 유의성 판단 기준이 개발되어 있습니다.

▶ F-검정(T-검정) 을 기초로한 방법


Fisher's LSD, Bonferroni's MSD, Scheffe 등이 있습니다.

▶ 평균의 범위를 기초로한 방법


Turkey's HSD,Student-Newman_Keuls(SNK), Duncan's multiple range 등이 있습니다.

 


 

2. Fisher's Least Significant Difference(최소유의차 방법, LSD)

 

Fisher's LSD는 가장 일반적인 다중 비교 방법 중 하나입니다. 이 방법은 모든 가능한 쌍의 평균 간 비교를 수행하여 평균 간의 차이를 평가합니다.
그룹의 수와 샘플 크기에 따라서 유의한 차이를 결정하는 임계값이 달라집니다. 각 쌍의 평균 차이가 이 임계값보다 크면 해당 쌍의 평균이 유의한 차이를 보입니다.

 

(1) 가설 설정


모든 i ≠ j 인 모든 수준의 쌍에 T-검정을 실시합니다.

 

귀무가설 $H_0 : \mu_i = \mu_j \quad vs $ 대립가설 $H_1 : \mu_i \not= \mu_j$

 

(2) 검정 통계량

 

귀무가설하에서

 

$$ T_0 = \frac{\bar{Y_i}-\bar{Y_j}}{\hat{\sigma}\sqrt{1/n_i+1/n_j}} \sim t_{N-p} $$

 

$\implies$ 분산분석 후 실시하기 때문에 공통분산 $\sigma^2$의 추정량은 $S_p^2$가 아니라 $\hat{\sigma}=\sqrt{MSE}$를 사용합니다.

 


따라서, 위 식을 변형하여 관심사항 두 평균의 차이는 아래와 같이 구할 수 있습니다.

 

$$|\bar{Y_i}-\bar{Y_j}| > t_{\alpha/2, N-p} \sqrt{MSE} \sqrt{1/n_i + 1/n_j}$$

 

각 쌍의 평균 차이가 이 임계값보다 크면 해당 쌍의 평균이 유의한 차이를 보입니다.

 


3. Bonferroni's MSD 방법

 

Bonferroni's MSD(Multiple Comparisons with the Mean Squared Differences)는 다중 비교에서 유의수준을 보정하는 데 사용되는 방법 중 하나입니다. 유의수준을 보정하여 적용하며, Bonferroni 보정은 다중 비교에 대한 유의수준을 조절함으로써 제 1종 오류를 줄이는 방법입니다.

Bonferroni 방법은 원래 유의수준을 다중 비교 횟수로 나누어 새로운 각각의 비교에 적용합니다. 이 방법은 비교가 많을수록 각 비교에 대한 유의수준을 더 낮게 만들어 제 1종 오류를 줄입니다.

Fisher's LSD의 경우, 유의수준이 커지는 경향이 있어 분산분석에서 귀무가설을 기각하지 못했으나 Fisher's LSD에서는 유의한 차이가 있는 경우가 있습니다. 반면에 Bonferroni's MSD는 다중 비교에 대한 보정을 제공하여 유의수준을 조절할 수 있습니다.

 

(1) 가설 설정

 

모든 i ≠ j 인 모든 수준의 쌍에 대한 비교

 

$\implies$ 가설 검정의 개수 $k = \dbinom{p}{2}$

(2) 검정 통계량

 

Bonferroni 방법에서는 유의수준을 LSD에서의 유의수준 α 대신에 α/k 로 설정하여 사용합니다.

 

$$ t_{\alpha/2, N-p} \implies t_{\alpha/2k, N-p} $$

$$|\bar{Y_i}-\bar{Y_j}| > t_{\alpha/2k, N-p} \sqrt{MSE} \sqrt{1/n_i + 1/n_j}$$


다중검정에서의 유의수준 α 를 사용하는 경우 유의수준이 최대 kα 가 되는 문제를 해결할 수 있습니다.

 

 


◈ 예제 : 4가지 사료에 따른 체중증가 실험

 

2024.07.03 - [통계학 이야기] - 88. R을 이용한 분산분석(ANOVA)

 

88. R을 이용한 분산분석(ANOVA)

Chapter 88. R을 이용한 분산분석(ANOVA) 1. 일원배치 분산분석 분산분석(ANOVA, Analysis of Variance)은 세 개 이상의 그룹 간의 평균차이를 비교 하는 통계적 기법입니다. 일원배치 분산분석(One-

thinking-atelier.tistory.com

 

앞서 사용했던 자료입니다.

 

방법 쇠고기
저단백
쇠고기
고단백
시리얼
저단백
시리얼
고단백
반복 90  76

90  64

86  51

72  90

95  78
73  102

118 104

 81  107

100  87

 117  111
107  95

  97   80

  98  74

   74   67

   89   58
98  74

 56  111

95  88

82  77

86  92
792 1000 839 859

 

rats.csv
0.00MB

 

 

분산분석표를 아래와 같이 나타났습니다.

summary(aov(체중증가~사료,data=rats))
            Df Sum Sq Mean Sq F value Pr(>F)  
사료         3   2404   801.4   3.584  0.023 *
Residuals   36   8049   223.6                 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

 

Fisher's LSD

$$|\bar{Y_i}-\bar{Y_j}| > t_{\alpha/2, N-p} \sqrt{MSE} \sqrt{1/n_i + 1/n_j}$$

 

Bonferroni's MSD

$$|\bar{Y_i}-\bar{Y_j}| > t_{\alpha/2k, N-p} \sqrt{MSE} \sqrt{1/n_i + 1/n_j}$$

 

위 임계값을 구하기 위한 값들은 아래와 같습니다.

 

$$Fisher's LSD : t_{0.025, 36} = 2.028$$

$$Bonfeerni : t_{0.025/6, 36} = 2.792$$

$$ \sqrt{MSE} = \sqrt{223.6} = 14.953$$


R 코드를 이용하여 다중비교를 해보면,

 

▶ Fisher's LSD

 

rats <- read.csv("rats.csv",header = TRUE, fileEncoding = "CP949",
                 encoding = "UTF-8")
rats$사료 <- as.factor(rats$사료)

# Fisher LSD
with(rats,pairwise.t.test(체중증가,사료,p.adj="none"))
	Pairwise comparisons using t tests with pooled SD 

data:  체중증가 and 사료 

  1      2      3     
2 0.0036 -      -     
3 0.4867 0.0213 -     
4 0.3231 0.0420 0.7666

P value adjustment method: none

 

 각 셀은 해당 비교에 대한 p-value를 나타냅니다. p-value는 각 비교가 우연히 발생한 것인지를 나타내는 지표이며, 유의수준 0.05보다 작으면 우연히 발생한 것이 아니라고 간주됩니다.

 

 위 결과를 보면 사료 1과 사료 2, 사료2와 사료 3, 사료 2와 사료 4, 총 3 군데에서 체중증가의 유의미한 차이가 있음을 알 수 있습니다.

 

 

▶ Bonferroni's MSD

# Bonferroni
with(rats,pairwise.t.test(체중증가,사료,p.adj="bonf"))
	Pairwise comparisons using t tests with pooled SD
	Pairwise comparisons using t tests with pooled SD 

data:  체중증가 and 사료 

  1     2     3    
2 0.022 -     -    
3 1.000 0.128 -    
4 1.000 0.252 1.000

P value adjustment method: bonferroni

 

 

유의수준 0.05라 할 때, 사료1과 사료 2에서만 유의미한 체중증가 차이가 있을 뿐 다른 부분에서는 차이가 없음을 나타내고 있습니다.

⇒ Bonferroni's MSD을 적용하면 보다 보수적인 유의수준이 유지되며, 유의미한 결과를 얻기 위해 필요한 유의수준이 더 높아질 수 있습니다.