Python'da tukey testi nasıl yapılır?


Üç veya daha fazla bağımsız grubun ortalamaları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için tek yönlü ANOVA kullanılır.

ANOVA tablosunun genel p değeri belirli bir anlamlılık düzeyinin altındaysa, grup ortalamalarından en az birinin diğerlerinden farklı olduğunu söylemek için yeterli kanıtımız var demektir.

Ancak bu bize hangi grupların birbirinden farklı olduğunu söylemez. Bu bize basitçe tüm grup ortalamalarının eşit olmadığını söyler. Hangi grupların birbirinden farklı olduğunu tam olarak bilmek için post hoc test yapmamız gerekir.

En sık kullanılan post hoc testlerden biri, aile bazında hata oranını kontrol ederken her grubun ortalamaları arasında ikili karşılaştırmalar yapmamıza olanak tanıyan Tukey testidir .

Bu eğitimde Python’da Tukey testinin nasıl gerçekleştirileceğine ilişkin adım adım bir örnek sunulmaktadır.

1. Adım: Gerekli paketleri ve işlevleri yükleyin

Öncelikle gerekli paketleri ve fonksiyonları Python’a yükleyeceğiz:

 import pandas as pd
import numpy as np
from scipy. stats import f_oneway
from statsmodels. stats . multicomp import pairwise_tukeyhsd

Adım 2: ANOVA modelini yerleştirin

Aşağıdaki kod, üç grupla (A, B ve C) sahte bir veri kümesinin nasıl oluşturulacağını ve her grubun ortalama değerlerinin eşit olup olmadığını belirlemek için verilere tek yönlü bir ANOVA modelinin nasıl yerleştirileceğini gösterir:

 #enter data for three groups
a = [85, 86, 88, 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]

#perform one-way ANOVA
f_oneway(a, b, c)

F_onewayResult(statistic=5.167774552944481, pvalue=0.012582197136592609)

ANOVA tablosundan genel p değerinin 0,01258 olduğunu görebiliriz.

Bu sayı 0,05’ten küçük olduğundan her gruptaki ortalama değerlerin eşit olmadığını söyleyebilecek yeterli kanıtımız var.

Yani tam olarak hangi grup ortalamalarının farklı olduğunu belirlemek için Tukey testini yapabiliriz.

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

Python’da Tukey testini gerçekleştirmek için statsmodels kütüphanesindekipairwise_tukeyhsd () fonksiyonunu kullanabiliriz:

 #create DataFrame to hold data
df = pd. DataFrame ({'score': [85, 86, 88, 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 Tukey's test
tukey = pairwise_tukeyhsd(endog=df['score'],
                          groups=df['group'],
                          alpha= 0.05 )

#display results
print (tukey)

 Multiple Comparison of Means - Tukey HSD, FWER=0.05 
==================================================== ===
group1 group2 meandiff p-adj lower upper reject
-------------------------------------------------- ---
     ab 8.4 0.0158 1.4272 15.3728 True
     ac 1.3 0.8864 -5.6728 8.2728 False
     bc -7.1 0.0453 -14.0728 -0.1272 True
-------------------------------------------------- ---

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • a ve b arasındaki ortalama fark için P değeri: 0,0158
  • a ve c arasındaki ortalamalar farkının P değeri: 0,8864
  • b ve c arasındaki ortalama fark için P değeri: 0,0453

Dolayısıyla, a ve b grupları ile b ve c gruplarının ortalamaları arasındaistatistiksel olarak anlamlı bir fark olduğu, ancak a ve c gruplarının ortalamaları arasında istatistiksel olarak anlamlı bir fark olmadığı sonucuna varabiliriz.

Ek kaynaklar

Python’da Tek Yönlü ANOVA Nasıl Gerçekleştirilir
Python’da İki Yönlü ANOVA Nasıl Gerçekleştirilir
Python’da Tekrarlanan Ölçümler ANOVA Nasıl Gerçekleştirilir

Yorum ekle

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