Python에서 일원 분산 분석을 수행하는 방법
일원 분산 분석 (“분산 분석”)은 3개 이상의 독립 그룹 평균 간에 통계적으로 유의미한 차이가 있는지 여부를 확인하는 데 사용됩니다.
이 튜토리얼에서는 Python에서 일원 분산 분석을 수행하는 방법을 설명합니다.
예: Python의 일원 분산 분석
한 연구원이 연구에 참여할 학생 30명을 모집합니다. 학생들은 시험 준비를 위해 다음 3주 동안 세 가지 학습 방법 중 하나를 사용하도록 무작위로 배정됩니다 . 3주 후에는 모든 학생들이 동일한 시험을 치릅니다.
다음 단계를 사용하여 일원 분산 분석을 수행하여 세 그룹의 평균 점수가 동일한지 확인합니다.
1단계: 데이터를 입력합니다.
먼저, 각 그룹의 시험 결과를 세 개의 개별 테이블에 입력하겠습니다.
#enter exam scores for each group
group1 = [85, 86, 88, 75, 78, 94, 98, 79, 71, 80]
group2 = [91, 92, 93, 85, 87, 84, 82, 88, 95, 96]
group3 = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]
2단계: 일원 분산 분석을 수행합니다.
다음으로 SciPy 라이브러리의 f_oneway() 함수를 사용하여 일원 분산 분석을 수행합니다.
from scipy.stats import f_oneway #perform one-way ANOVA f_oneway(group1, group2, group3) (statistic=2.3575, pvalue=0.1138)
3단계: 결과를 해석합니다.
일원 분산 분석에서는 다음과 같은 귀무 가설과 대립 가설을 사용합니다.
- H 0 (귀무가설): μ 1 = μ 2 = μ 3 = … = μ k (모든 모집단 평균이 동일함)
- H 1 (귀무가설): 적어도 하나의 모집단 평균이 다릅니다. 나머지
F-검정 통계량 은 2.3575 이고 해당 p-값은 0.1138 입니다. p-값이 0.05 이상이므로 귀무가설을 기각할 수 없습니다.
이는 세 가지 학습 방법 간에 시험 점수에 차이가 있다고 말할 만큼 충분한 증거가 없다는 것을 의미합니다.
추가 리소스
다음 자습서에서는 일원 분산 분석에 대한 추가 정보를 제공합니다.