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보다 작기 때문에 학생의 현재 수업 성적을 고려한 후에도 각 학습 방법이 동일한 평균 시험 성적을 가져온다는 귀무 가설을 기각할 수 있습니다.

의견을 추가하다

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