Cara melakukan tes post-hoc nemenyi dengan python
Uji Friedman merupakan alternatif nonparametrik terhadap pengukuran berulang ANOVA . Hal ini digunakan untuk menentukan apakah terdapat perbedaan yang signifikan secara statistik antara rata-rata tiga kelompok atau lebih di mana subjek yang sama muncul di setiap kelompok.
Jika nilai p dari uji Friedman signifikan secara statistik, maka kita dapat melakukan uji post-hoc Nemenyi untuk menentukan secara pasti kelompok mana yang berbeda.
Contoh langkah demi langkah berikut menunjukkan cara melakukan pengujian Nemenyi dengan Python.
Langkah 1: Buat datanya
Misalkan seorang peneliti ingin mengetahui apakah waktu reaksi pasien sama dengan tiga obat berbeda. Untuk mengujinya, ia mengukur waktu reaksi (dalam detik) dari 10 pasien berbeda terhadap masing-masing tiga obat.
Kita dapat membuat tiga tabel berikut yang berisi waktu respons setiap pasien terhadap masing-masing dari tiga obat tersebut:
group1 = [4, 6, 3, 4, 3, 2, 2, 7, 6, 5] group2 = [5, 6, 8, 7, 7, 8, 4, 6, 4, 5] group3 = [2, 2, 5, 3, 2, 2, 1, 4, 3, 2]
Langkah 2: Lakukan tes Friedman
Selanjutnya, kita akan melakukan tes Friedman menggunakan fungsi friedmanchisquare() dari perpustakaan scipy.stats:
from scipy import stats #perform Friedman Test stats. friedmanchisquare (group1, group2, group3) FriedmanchisquareResult(statistic=13.3513513, pvalue=0.00126122012)
Uji Friedman menggunakan hipotesis nol dan hipotesis alternatif berikut:
Hipotesis nol (H 0 ): Rata-rata setiap populasi adalah sama.
Hipotesis alternatif: (Ha): Setidaknya satu mean populasi berbeda dengan mean populasi lainnya.
Dalam contoh ini, statistik pengujiannya adalah 13,35135 dan nilai p yang sesuai adalah 0,00126 . Karena nilai p ini kurang dari 0,05, kita dapat menolak hipotesis nol yang menyatakan bahwa waktu respons rata-rata untuk ketiga obat adalah sama.
Dengan kata lain, kami memiliki cukup bukti untuk menyimpulkan bahwa jenis obat yang digunakan menyebabkan perbedaan waktu respons yang signifikan secara statistik.
Langkah 3: Lakukan tes Nemenyi
Kemudian kita dapat melakukan uji post-hoc Nemenyi untuk menentukan secara pasti kelompok mana yang mempunyai rata-rata berbeda.
Untuk melakukan ini, kita perlu menginstal perpustakaan scikit-posthocs:
pip install scikit-posthocs
Selanjutnya, kita akan menggunakan fungsi posthoc_nemenyi_friedman() untuk melakukan pengujian post-hoc Nemenyi:
import scikit_posthocs as sp
import numpy as np
#combine three groups into one array
data = np. array ([group1, group2, group3])
#perform Nemenyi post-hoc test
sp. posthoc_nemenyi_friedman ( data.T )
0 1 2
0 1.000000 0.437407 0.065303
1 0.437407 1.000000 0.001533
2 0.065303 0.001533 1.000000
Catatan: Kami harus mengubah urutan array numpy (data.T) agar dapat melakukan pengujian post-hoc dengan benar.
Tes post-hoc Nemeyi mengembalikan nilai p untuk setiap perbandingan rata-rata berpasangan. Dari hasilnya kita dapat melihat nilai p berikut:
- Nilai P kelompok 0 dibandingkan kelompok 1: 0,4374
- Nilai P kelompok 0 dibandingkan kelompok 2: 0,0653
- Nilai P kelompok 1 dibandingkan kelompok 2 : 0,0015
Pada α = 0,05, hanya dua kelompok yang mempunyai rata-rata perbedaan signifikan secara statistik adalah Kelompok 1 dan Kelompok 2.
Catatan : Uji Nemenyi mengkonversi nomor kelompok dari 1, 2, 3 menjadi 0, 1, 2. Jadi kelompok pada data asli yang berbeda nyata adalah kelompok 2 dan 3.