사후검정(Post test)

분산분석(ANOVA)에서 유의미한 결과를 얻었을 때, 어떤 그룹 간에 유의미한 차이가 있는지 구체적으로 알기 위해 사후검정(Post Hoc Test)을 수행합니다. 사후검정은 여러 그룹 간의 쌍별 비교를 통해 어디에서 차이가 나는지를 파악하는 데 사용됩니다.

사후검정의 종류

Duncan

Duncan의 다중 범위 검정은 점진적 접근 방식으로, 초기에는 가장 큰 차이만을 비교하고 점차 작은 차이를 비교하는 방법

  • 가장 널리 사용되는 사후검정 방법 중 하나입니다.
  • 오차비율을 통제하지 않아 상대적으로 엄격하지 않은 기준
  • 엄격하지 않은 기준으로 통계적 유의성을 도출하기 쉬움
  • 인접하는 평균값들을 단계적으로 비교하는 방법
  • 기준이 엄격하지 않음(1종 오류 발생확률을 통제 하지 않음)

Tukey’s HSD (Honest Significant Difference) Test:

Tukey의 HSD 검정은 모든 그룹 쌍 간의 평균 차이를 비교하여 어떤 그룹 간의 차이가 유의미한지를 파악합니다. 이 방법은 각 그룹 쌍의 평균 차이에 대해 신뢰구간을 제공

    • 가장 널리 사용되는 사후검정 방법 중 하나입니다.
    • 모든 가능한 그룹 쌍 간의 평균 차이를 비교합니다.
    • 그룹 간의 모든 비교를 동시에 고려하여 유의미한 차이를 평가합니다.

    Bonferroni Correction:

    Bonferroni 보정은 다중 비교 문제를 해결하기 위해 각 비교에 대해 유의수준을 조정하는 방법입니다. 예를 들어, 전체 유의수준을 0.05로 설정하고 10개의 비교를 하는 경우, 각 비교에 대해 0.005의 유의수준을 사용

    • 보수적인 방법으로, 다중 비교 문제를 해결하기 위해 사용됩니다.
    • 유의수준을 비교 횟수로 나누어 각 비교에 대해 더 엄격한 기준을 적용합니다.

    Scheffé’s Test:

      • 가장 보수적이고 엄격한 사후검정
      • 모든 가능한 선형 대조를 고려합니다.
      • 특히, 집단 수가 많고, 비교가 복잡한 경우에 유용합니다.
      • 다만, 엄격한 기준이다보니, 유의성 도출이 쉽지 않다.

      Dunnett’s Test:

        • 하나의 기준 집단을 다른 모든 집단과 비교할 때 사용됩니다.
        • 주로 대조군을 기준으로 실험군을 비교하는 데 사용됩니다.

        Fisher’s LSD (Least Significant Difference) Test:

        LSD 검정은 가장 간단한 사후검정 방법 중 하나로, 각 그룹 간 평균 차이에 대해 t-검정을 수행합니다. 그러나 다중 비교 문제를 해결하지 않으므로 Type I 오류가 증가

          • 두 집단 간의 평균 차이를 직접 비교합니다.
          • 다중 비교 문제를 완전히 해결하지 못할 수 있습니다.
          • 가장 엄격하지 않은 사후 검정 방법 (다른 사후 검정보다 덜 보수적)
          • 오차비율을 통제하지 않아 상대적으로 엄격하지 않은 기준
          • 최근연구에서는 선호되지 않음
          • t-test를 여러번 하는 방법과 같은 분석 기법
          • 통계적 유의성을 도출하기 쉬움
          • 기준이 엄격하지 않음 -1종 오류 발생확률을 통제하지 않음

          Games-Howell

          • 집단별 표본수가 다를 경우 적용 가능
          • 집단의 분산 동질성이 확보되지 않았을 때 적용
          • Welch 분석 기법을 응용
          • 표본수가 6개 미만일 경우 1종오류 발생율 높아짐
          • 통상 15개 이상일때 권장

          Tamhane T2:

          • 집단의 분산 동질성이 확보되지 않아도 적용가능
          • 유의수준 저정 및 t 분포를 기준으로 분석
          • Games-Howell 보다 엄격한 기준 적용 가능
          • 샘플이 많아질 수록 1종오류 높아짐

          Dunnett T3

          • 집단의 표본수가 동일한 경우 적용 가능
          • 집단의 분산 동질성이 확보되지 않아도 적용가능
          • 유의수준 저정 및 t 분포를 기준으로 분석
          • 표본수가 50개 미만일 경우 Games-Howell 보다 검정력 우수
          • 표본수가 50개 이상일 경우 Games-Howell 보다 1종오류 높아
          • 집단별 표본의 수와 분산이 동일한 경우

          Newman-Keuls Test

          Newman-Keuls 검정은 그룹 간 차이가 클수록 더 엄격한 기준을 적용하는 방법입니다. Tukey의 HSD와 비슷하지만, 비교할 그룹의 수에 따라 유의수준이 달라짐

          ========= CASE ==========

          표본수 : 분석 대상의 집단별 표본수가 동일하여야 함

          • 분산의 동질성 : Levene 의 등분산 검정을 통해 각 집단들의 분산이 동일하여야 함
          • 원칙적으로는 분산의 동질성 검정을 실시한 후 그 결과에 맞추어 사후 분석 기법을 적용
          • 많이 사용되는 사후검정 방법 : Tucky , Dunnett, Duncan → 일반적인 경우 Tucky

          ■ 집단별로 표본의 수는 다르지만 분산의 동질성은 확보된 경우

          • 분석 대상의 집단별 표본수가 다른 상황
          • 분산의 동질성 : Levene의 등분산 검정을 통해 각 집단들의 분산 동질성이 확보
          • 많이 사용되는 사후검정 방법 : Fisher’s LSD , Scheffe, Bonferroni : 일반적인 경우 Scheffe 추천

          ■ 집단별로 표본의 수도 다르고 분산의 동질성도 확보 되지 않은 경우

          • 표본수 : 분석 대상의 집단별 표본수가 다른 상황
          • 분산의 동질성 : Levene의 등분산 검정을 통해 각 집단들의 분산이 동일하지 않은 경우
          • 많이 사용되는 검정 : Games-Howell, Dunnett T3, Tamhance T2 → 일반적인 경우 Games-Howell

          R을 이용한 사후검정 예시 코드

          다음은 R에서 ANOVA를 수행한 후, 사후검정(Tukey’s HSD Test)을 수행하는 예시입니다.

          # 데이터 준비
          data <- data.frame(
            group = factor(c(rep("A", 10), rep("B", 10), rep("C", 10))),
            score = c(55, 60, 58, 62, 57, 59, 61, 64, 56, 60, 65, 70, 68, 72, 67, 69, 71, 74, 66, 70, 75, 80, 78, 82, 77, 79, 81, 84, 76, 80)
          )
          
          # 일원분산분석 수행
          result <- aov(score ~ group, data = data)
          
          # 결과 요약
          summary(result)
          
          # 사후검정(Tukey's HSD Test) 수행
          tukey_result <- TukeyHSD(result)
          
          # 사후검정 결과 요약
          print(tukey_result)
          plot(tukey_result)

          설명

          1. 데이터 준비:
            • 세 개의 그룹(A, B, C)에 대한 데이터를 생성합니다.
          2. 일원분산분석 수행
            • aov 함수를 사용하여 분산분석을 수행합니다.
          3. 결과 요약:
            • summary 함수를 사용하여 ANOVA 결과를 요약합니다.
          4. 사후검정(Tukey’s HSD Test) 수행:
            • TukeyHSD 함수를 사용하여 사후검정을 수행합니다.
            • printplot 함수를 사용하여 사후검정 결과를 요약하고 시각화합니다.

          Python을 이용한 사후검정 예시 코드

          import numpy as np
          import pandas as pd
          from statsmodels.stats.multicomp import pairwise_tukeyhsd
          from scipy.stats import f_oneway
          
          # 예제 데이터 생성
          np.random.seed(0)
          group1 = np.random.normal(70, 10, 30)
          group2 = np.random.normal(75, 10, 30)
          group3 = np.random.normal(80, 10, 30)
          
          data = pd.DataFrame({
              'score': np.concatenate([group1, group2, group3]),
              'group': ['group1'] * 30 + ['group2'] * 30 + ['group3'] * 30
          })
          
          # ANOVA 수행
          anova_result = f_oneway(group1, group2, group3)
          print('ANOVA 결과:', anova_result)
          
          # Tukey의 HSD 검정 수행
          tukey_result = pairwise_tukeyhsd(data['score'], data['group'])
          print(tukey_result)

          위 코드는 Tukey의 HSD 검정을 사용하여 그룹 간 차이를 분석하는 예제입니다. ANOVA 수행 후 유의미한 차이가 있을 경우, Tukey의 HSD 검정을 통해 구체적으로 어떤 그룹 간 차이가 있는지 확인할 수 있습니다.

          사후검정 결과 해석

          사후검정 결과는 각 그룹 쌍에 대해 평균 차이와 신뢰 구간을 제공합니다. p-값을 통해 어떤 그룹 쌍이 통계적으로 유의미하게 다른지를 확인할 수 있습니다. 예를 들어, Tukey’s HSD Test의 결과에서 p-값이 0.05보다 작으면 해당 그룹 쌍 간의 평균 차이가 유의미하다고 결론지을 수 있습니다.

          결론

          분산분석에서 유의미한 결과가 나왔을 때, 사후검정을 통해 어떤 그룹 간에 유의미한 차이가 있는지 구체적으로 분석할 수 있습니다. 이를 통해 연구 결과를 보다 명확하게 해석하고, 유의미한 차이를 발견할 수 있습니다.

          댓글 달기

          이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

          위로 스크롤