Anova welch dengan python (langkah demi langkah)
ANOVA Welch merupakan alternatif dari ANOVA satu arah ketika asumsi persamaan varians tidak terpenuhi.
Contoh langkah demi langkah berikut menunjukkan cara melakukan ANOVA Welch dengan Python.
Langkah 1: Buat datanya
Untuk menentukan apakah tiga teknik belajar yang berbeda menghasilkan hasil ujian yang berbeda, seorang profesor secara acak menugaskan 10 siswa untuk menggunakan masing-masing teknik (Teknik A, B, atau C) selama seminggu, kemudian memberikan tes dengan tingkat kesulitan yang sama kepada setiap siswa.
Hasil ujian 30 siswa disajikan di bawah ini:
A = [64, 66, 68, 75, 78, 94, 98, 79, 71, 80] B = [91, 92, 93, 90, 97, 94, 82, 88, 95, 96] C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]
Langkah 2: Uji Perbedaan Setara
Selanjutnya, kita dapat melakukan uji Bartlett untuk menentukan apakah varians antar kelompok sama.
Jika nilai p dari statistik uji berada di bawah tingkat signifikansi tertentu (misalnya α = 0,05), maka kita dapat menolak hipotesis nol dan menyimpulkan bahwa tidak semua kelompok memiliki varian yang sama.
Kita dapat menggunakan kode berikut untuk melakukan tes Bartlett dengan Python:
import scipy. stats as stats
#perform Bartlett's test
stats. bartlett (A, B, C)
BartlettResult(statistic=9.039674395, pvalue=0.010890796567)
Nilai p ( 0,01089 ) uji Bartlett lebih kecil dari α = 0,05, yang berarti kita dapat menolak hipotesis nol yang menyatakan bahwa setiap kelompok memiliki varians yang sama.
Dengan demikian, asumsi persamaan varians dilanggar dan kita dapat melanjutkan dengan ANOVA Welch.
Langkah 3: Lakukan ANOVA Welch
Untuk melakukan ANOVA Welch dengan Python, kita dapat menggunakan fungsi welch_anova() dari paket Penguin.
Pertama, kita perlu menginstal Penguin:
pip install Penguin
Kemudian kita dapat menggunakan kode berikut untuk melakukan ANOVA Welch:
import penguin as pg import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' score ': [64, 66, 68, 75, 78, 94, 98, 79, 71, 80, 91, 92, 93, 90, 97, 94, 82, 88, 95, 96, 79, 78, 88, 94, 92, 85, 83, 85, 82, 81], ' group ': np. repeat (['a', 'b', 'c'], repeats = 10 )}) #perform Welch's ANOVA pg. welch_anova (dv=' score ', between=' group ', data=df) Source ddof1 ddof2 F p-unc np2 0 group 2 16.651295 9.717185 0.001598 0.399286
Nilai p keseluruhan ( 0,001598 ) dari tabel ANOVA kurang dari α = 0,05, yang berarti kita dapat menolak hipotesis nol bahwa hasil ujian di antara ketiga teknik belajar adalah sama.
Kami kemudian dapat melakukan tes post-hoc Games-Howell untuk menentukan dengan tepat mean grup mana yang berbeda:
pg. pairwise_gameshowell (dv=' score ', between=' group ', data=df) A B mean(A) mean(B) diff se T df pval 0 a b 77.3 91.8 -14.5 3.843754 -3.772354 11.6767 0.0072 1 a c 77.3 84.7 -7.4 3.952777 -1.872102 12.7528 0.1864 2 b c 91.8 84.7 7.1 2.179959 3.256942 17.4419 0.0119
Dari nilai p-value terlihat bahwa selisih mean antara kelompok a dan b berbeda nyata dan selisih mean antara kelompok b dan c berbeda nyata.
Sumber daya tambahan
Cara Melakukan ANOVA Satu Arah dengan Python
Cara Melakukan ANOVA Dua Arah dengan Python
Cara Melakukan Tindakan Berulang ANOVA dengan Python