사후분석 :: R 기초 통계 - mindscale
Skip to content

사후분석

사후분석(post hoc)

  • ANOVA 검증 결과 유의미하다는 결론을 얻었을 때, 구체적으로 어떤 수준(들)에서 평균 차이가 나는지를 검증하는 방법
  • 연구자의 사전 가설(아이디어)없이 ANOVA를 시행한 경우, 탐색적으로 평균 차이가 나는 수준(집단)을 살펴보기 위해 시행하는 방법
  • 조합 가능한 모든 쌍에 대해 비교를 하므로 과잉검증으로 인한 FWER 증가

FWER

  • Familywise Error Rate: 여러 개의 가설 검정을 할 때 적어도 하나의 가설에서 1종 오류가 발생할 가능성
  • 가설검정을 많이 할 수록 FWER은 증가
    • 유의수준 5%에서 가설 검정을 1번 할 때, 1종 오류가 발생하지 않을 확률은 95%. FWER = 100% - 95% = 5%
    • 가설검정을 2번했을 때, 2번 모두 1종 오류가 발생하지 않을 확률은 95% $\times$ 95% = 90.25%. FWER = 9.75%
    • 가설검정을 3번했을 때, 3번 모두 1종 오류가 발생하지 않을 확률은 95% $\times$ 95% $\times$ 95% = 85.74%. FWER = 14.26%

대표적인 사후분석 방법

유의수준을 보정하여 FWER을 0.05로 고정시킴

  • 봉페로니 교정
  • 피셔의 LSD
  • 투키의 HSD
  • 셰페의 방법

사후분석을 위한 준비

분산분석을 실시:

m = aov(weight ~ group, data = PlantGrowth)

DescTools 불러오기. (설치되어 있지 않다면 install.packages('DescTools')로 먼저 설치)

library("DescTools")

피셔의 LSD

  • Fisher's Least Significant Difference = "최소한의 유의미한 차이"
  • 유의수준 보정 없음
  • FWER 높음
PostHocTest(m, method='lsd')
  Posthoc multiple comparisons of means : Fisher LSD 
    95% family-wise confidence level

$group
            diff      lwr.ci    upr.ci   pval    
trt1-ctrl -0.371 -0.94301261 0.2010126 0.1944    
trt2-ctrl  0.494 -0.07801261 1.0660126 0.0877 .  
trt2-trt1  0.865  0.29298739 1.4370126 0.0045 ** 

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

trt2trt1의 차이만 통계적으로 유의미함

봉페로니 교정

  • Bonferroni correction
  • 모든 집단을 짝지어 t-test
  • 짝지어 비교를 3번 하면, p값을 3배
  • FWER이 중간 정도
PostHocTest(m, method='bonferroni')
  Posthoc multiple comparisons of means : Bonferroni 
    95% family-wise confidence level

$group
            diff     lwr.ci    upr.ci   pval    
trt1-ctrl -0.371 -1.0825786 0.3405786 0.5832    
trt2-ctrl  0.494 -0.2175786 1.2055786 0.2630    
trt2-trt1  0.865  0.1534214 1.5765786 0.0134 *  

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • LSD와 같이 trt2trt1의 차이만 유의미.
  • 결론을 같으나 p 값이 3배 더 큰 것에 주목.
  • 다른 데이터에서는 LSD에서는 유의미하고 봉페로니 교정에서는 유의미하지 않을 수 있음.

trt1 수준과 trt2 수준 간의 평균 차이만 유의미함 (p < 0.05)

투키의 HSD

  • Tuckey's Honestly Significant Difference = "진정으로 유의미한 차이"
  • FWER이 중간 정도
PostHocTest(m, method='hsd')
  Posthoc multiple comparisons of means : Tukey HSD 
    95% family-wise confidence level

$group
            diff     lwr.ci    upr.ci   pval    
trt1-ctrl -0.371 -1.0622161 0.3202161 0.3909    
trt2-ctrl  0.494 -0.1972161 1.1852161 0.1980    
trt2-trt1  0.865  0.1737839 1.5562161 0.0120 *  

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

trt1 수준과 trt2 수준 간의 평균 차이만 유의미함 (p < 0.05)

셰페의 방법

  • Scheffe's method
  • FWER이 가장 낮으나 보수적이어서 2종 오류의 가능성도 높음
PostHocTest(m, method='scheffe')
  Posthoc multiple comparisons of means : Scheffe Test 
    95% family-wise confidence level

$group
            diff     lwr.ci    upr.ci   pval    
trt1-ctrl -0.371 -1.0930531 0.3510531 0.4241    
trt2-ctrl  0.494 -0.2280531 1.2160531 0.2265    
trt2-trt1  0.865  0.1429469 1.5870531 0.0163 *  

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

여기서도 trt1 수준과 trt2 수준 간의 평균 차이만 유의미함 (p < 0.05)