วิธีดำเนินการ ancova ใน python
ANCOVA (“การวิเคราะห์ความแปรปรวนร่วม”) ใช้เพื่อพิจารณาว่ามีความแตกต่างที่มีนัยสำคัญทางสถิติระหว่างค่าเฉลี่ยของกลุ่มอิสระตั้งแต่ 3 กลุ่มขึ้นไป หลังจากควบคุม โควาเรียต ตั้งแต่ 1 ตัวขึ้นไปหรือ ไม่
บทช่วยสอนนี้จะอธิบายวิธีดำเนินการ ANCOVA ใน Python
ตัวอย่าง: ANCOVA ใน Python
ครูคนหนึ่งต้องการทราบว่าเทคนิคการเรียนที่แตกต่างกันสามแบบส่งผลต่อคะแนนสอบหรือไม่ แต่เธอต้องการคำนึงถึงเกรดปัจจุบันที่นักเรียนมีอยู่แล้วในชั้นเรียนด้วย
โดยจะดำเนินการ ANCOVA โดยใช้ตัวแปรต่อไปนี้:
- ตัวแปรปัจจัย: การศึกษาทางเทคนิค
- Covariate: คะแนนปัจจุบัน
- ตัวแปรตอบสนอง: คะแนนสอบ
ทำตามขั้นตอนต่อไปนี้เพื่อดำเนินการ ANCOVA บนชุดข้อมูลนี้:
ขั้นตอนที่ 1: ป้อนข้อมูล
ขั้นแรก เราจะสร้าง 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() จากไลบรารีของ Penguin:
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-value ที่ไม่ถูกแก้ไข”) สำหรับเทคนิคการศึกษาคือ 0.03155 เนื่องจากค่านี้น้อยกว่า 0.05 เราจึงสามารถปฏิเสธสมมติฐานว่างที่ว่าเทคนิคการศึกษาแต่ละเทคนิคทำให้ได้คะแนนสอบเฉลี่ยเท่ากัน แม้ว่าจะพิจารณาเกรดปัจจุบันของนักเรียนในชั้นเรียนแล้วก็ตาม