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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *