Python에서 ancova를 수행하는 방법
ANCOVA (“공분산 분석”) 는 하나 이상의 공변량을 통제한 후 세 개 이상의 독립 그룹 평균 간에 통계적으로 유의한 차이가 있는지 여부를 확인하는 데 사용됩니다.
이 튜토리얼에서는 Python에서 ANCOVA를 수행하는 방법을 설명합니다.
예: Python의 ANCOVA
교사는 세 가지 다른 학습 방법이 시험 점수에 영향을 미치는지 알고 싶어 하지만 학생이 이미 수업에서 받은 현재 성적을 고려하려고 합니다.
다음 변수를 사용하여 ANCOVA를 수행합니다.
- 요인변수: 기술적 연구
- 공변량: 현재 점수
- 반응변수: 시험점수
이 데이터세트에 대해 ANCOVA를 수행하려면 다음 단계를 따르세요.
1단계: 데이터를 입력합니다.
먼저 데이터를 보관할 pandas DataFrame을 만듭니다.
import numpy as np import pandas as pd #create data df = pd.DataFrame({'technique': np.repeat(['A', 'B', 'C'], 5), 'current_grade': [67, 88, 75, 77, 85, 92, 69, 77, 74, 88, 96, 91, 88, 82, 80], 'exam_score': [77, 89, 72, 74, 69, 78, 88, 93, 94, 90, 85, 81, 83, 88, 79]}) #view data df technical current_grade exam_score 0 A 67 77 1 A 88 89 2 A 75 72 3 A 77 74 4 A 85 69 5 B 92 78 6 B 69 88 7 B 77 93 8 B 74 94 9 B 88 90 10 C 96 85 11 C 91 81 12 C 88 83 13 C 82 88 14 C 80 79
2단계: ANCOVA를 수행합니다.
다음으로 펭귄 라이브러리의 ancova() 함수를 사용하여 ANCOVA를 수행합니다.
pip install penguin from penguin import ancova #perform ANCOVA ancova(data= df , dv=' exam_score ', covar=' current_grade ', between=' technique ') Source SS DF F p-unc np2 0 technical 390.575130 2 4.80997 0.03155 0.46653 1 current_grade 4.193886 1 0.10329 0.75393 0.00930 2 Residual 446.606114 11 NaN NaN NaN
3단계: 결과를 해석합니다.
ANCOVA 테이블에서 연구 기법에 대한 p-값(p-unc = “수정되지 않은 p-값”)이 0.03155 임을 알 수 있습니다. 이 값은 0.05보다 작기 때문에 학생의 현재 수업 성적을 고려한 후에도 각 학습 방법이 동일한 평균 시험 성적을 가져온다는 귀무 가설을 기각할 수 있습니다.