Python'da nemenyi post-hoc testi nasıl gerçekleştirilir


Friedman testi, tekrarlanan ANOVA ölçümlerine parametrik olmayan bir alternatiftir. Her grupta aynı deneklerin yer aldığı üç veya daha fazla grubun ortalamaları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için kullanılır.

Friedman testinden elde edilen p değeri istatistiksel olarak anlamlıysa, hangi grupların farklı olduğunu tam olarak belirlemek için Nemenyi post-hoc testini uygulayabiliriz.

Aşağıdaki adım adım örnek, Python’da Nemenyi testinin nasıl gerçekleştirileceğini gösterir.

1. Adım: Verileri oluşturun

Bir araştırmacının, hastaların reaksiyon sürelerinin üç farklı ilaca eşit olup olmadığını bilmek istediğini varsayalım. Bunu test etmek için 10 farklı hastanın üç ilacın her birine tepki süresini (saniye cinsinden) ölçtü.

Her hastanın üç ilacın her birine verdiği yanıt sürelerini içeren aşağıdaki üç tabloyu oluşturabiliriz:

 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]

Adım 2: Friedman testini gerçekleştirin

Daha sonra, scipy.stats kütüphanesindekiriedmanchisquare () fonksiyonunu kullanarak Friedman testini gerçekleştireceğiz:

 from scipy import stats

#perform Friedman Test
stats. friedmanchisquare (group1, group2, group3)

FriedmanchisquareResult(statistic=13.3513513, pvalue=0.00126122012)

Friedman testi aşağıdaki boş ve alternatif hipotezleri kullanır:

Sıfır hipotezi (H 0 ): Her popülasyonun ortalaması eşittir.

Alternatif hipotez: (Ha): En az bir popülasyon ortalaması diğerlerinden farklıdır.

Bu örnekte test istatistiği 13,35135’tir ve karşılık gelen p değeri 0,00126’dır . Bu p değeri 0,05’ten küçük olduğundan, ortalama yanıt süresinin her üç ilaç için de aynı olduğu yönündeki sıfır hipotezini reddedebiliriz.

Başka bir deyişle, kullanılan ilaç türünün yanıt süresinde istatistiksel olarak anlamlı farklılıklara neden olduğu sonucuna varmak için yeterli kanıtımız var.

3. Adım: Nemenyi testini gerçekleştirin

Daha sonra tam olarak hangi grupların farklı ortalamalara sahip olduğunu belirlemek için Nemenyi post-hoc testini uygulayabiliriz.

Bunu yapmak için scikit-posthocs kütüphanesini kurmamız gerekiyor:

 pip install scikit-posthocs

Daha sonra Nemenyi post-hoc testini gerçekleştirmek için posthoc_nemenyi_friedman() fonksiyonunu kullanacağız:

 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

Not: Post-hoc testi doğru bir şekilde gerçekleştirmek için numpy dizisini (data.T) transpoze etmemiz gerekiyordu.

Nemeyi’nin post-hoc testi, ortalamaların her ikili karşılaştırması için p değerlerini döndürür. Sonuçtan aşağıdaki p değerlerini görebiliriz:

  • Grup 0’ın grup 1’e kıyasla p değeri: 0,4374
  • Grup 0’ın grup 2’ye kıyasla p değeri: 0,0653
  • Grup 1’in grup 2’ye göre p değeri: 0,0015

α = 0,05’te istatistiksel olarak anlamlı derecede farklı ortalamalara sahip olan yalnızca iki grup Grup 1 ve Grup 2’dir.

Not: Nemenyi’nin testi, grup sayısını 1, 2, 3’ten 0, 1, 2’ye dönüştürdü. Dolayısıyla orijinal verilerdeki önemli ölçüde farklı olan gruplar, grup 2 ve 3’tür.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir