파이썬(Python)

일원분산분석(One-Way ANOVA, One-Way Analysis of Variance)

일원분산분석(One-Way ANOVA, One-Way Analysis of Variance)은 한 개의 독립 변수(요인, Factor) 가 여러 그룹으로 나뉠 때, 각 그룹의 평균이 통계적으로 유의미한 차이가 있는지를 검정하는 방법입니다.

📌 주요 개념

  • 독립 변수(요인, Factor): 그룹을 구분하는 변수 (예: 교육 방식)
  • 종속 변수(Response Variable): 비교 대상이 되는 측정 값 (예: 시험 점수)
  • 귀무가설(H₀): 모든 그룹의 평균이 같다.
  • 대립가설(H₁): 적어도 한 그룹의 평균이 다르다.

🎯 적용 예시

  • 교육 방식(온라인 vs. 오프라인 vs. 혼합형) 별 시험 성적 차이 분석
  • 다양한 비료 유형에 따른 농작물 수확량 비교
  • 세 가지 다이어트 방법에 따른 체중 감소량 차이 분석

📊 분석 과정

  1. 데이터 수집
    • 각 그룹에서 표본 데이터를 수집.
  2. 정규성 및 등분산성 검정
    • 정규성: 샤피로-윌크 검정(Shapiro-Wilk Test)
    • 등분산성: 레빈 검정(Levene’s Test)
  3. 일원분산분석(One-Way ANOVA) 수행
    • F-검정을 사용하여 그룹 간 평균 차이 검정
  4. 사후 분석(Post-hoc Test, 다중 비교 검정)
    • ANOVA 결과가 유의미하면, 어떤 그룹 간 차이가 존재하는지 추가 검정
    • 예: 튜키 HSD(Tukey’s Honest Significant Difference) 검정

🔢 수식 (F-통계량)

F=그룹 간 분산(Between-group variance)그룹 내 분산(Within-group variance)F = \frac{\text{그룹 간 분산(Between-group variance)}}{\text{그룹 내 분산(Within-group variance)}}F=그룹 내 분산(Within-group variance)그룹 간 분산(Between-group variance)​

  • F 값이 크면 → 그룹 간 차이가 클 가능성이 높음
  • p-value가 유의수준(예: 0.05)보다 작으면 → 귀무가설 기각(즉, 그룹 간 차이가 존재)

📌 Python 예제

import scipy.stats as stats
import pandas as pd

# 예제 데이터 (3개 그룹)
data = {
"A": [85, 90, 88, 92, 85],
"B": [78, 75, 80, 79, 77],
"C": [95, 92, 96, 94, 97]
}

df = pd.DataFrame(data)

# ANOVA 수행
F_stat, p_value = stats.f_oneway(df["A"], df["B"], df["C"])

print(f"F-통계량: {F_stat:.4f}")
print(f"p-value: {p_value:.4f}")
  • p-value < 0.05 → 그룹 간 차이가 있음 (사후 분석 필요)

zerg96

Recent Posts

노트북(윈도우)에서 아이폰 유선 테더링 하기

윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…

3일 ago

오라클 래치(Latch)

오라클 데이터베이스의 성능을 논할 때, 내부적으로 발생하는 경합(Contention)은 피할 수 없는 주제다. 특히 다수의 프로세스가…

1주 ago

사장님도 3표, 나도 3표? ‘3%룰’ 완전 정복!

안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…

3주 ago

Vector Store(벡터 스토어)

'벡터 스토어' 완벽 가이드: AI 시대, 데이터의 새로운 심장을 만나다 IT 업계는 인공지능(AI)이라는 거대한 패러다임의…

3주 ago

Gemini CLI (재미나이 CLI)

1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…

3주 ago

과적합 (overfitting)

과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…

1개월 ago