Python'da mcnemar testi nasıl gerçekleştirilir


McNemar testi, eşleştirilmiş veriler arasındaki oranlarda istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için kullanılır.

Bu eğitimde Python’da McNemar testinin nasıl gerçekleştirileceği açıklanmaktadır.

Örnek: Python’daki McNemar testi

Diyelim ki araştırmacılar, belirli bir pazarlama videosunun insanların belirli bir yasa hakkındaki görüşlerini değiştirip değiştiremeyeceğini bilmek istiyor. Yasayı destekleyip desteklemediklerini öğrenmek için 100 kişiyle anket yapıyorlar. Daha sonra pazarlama videosunu 100 kişinin tamamına gösteriyorlar ve video bittikten sonra tekrar anket yapıyorlar.

Aşağıdaki tablo, videoyu izlemeden önce ve izledikten sonra yasayı destekleyen kişilerin toplam sayısını göstermektedir:

Pazarlama öncesi video
Pazarlama sonrası video Destek Dayanamamak
Destek 30 40
Dayanamamak 12 18

Videoyu izlemeden önce ve izledikten sonra yasayı destekleyenlerin oranında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için McNemar testi yapabiliriz.

Adım 1: Verileri oluşturun.

İlk olarak verilerimizi tutacak bir tablo oluşturacağız:

 data = [[30, 40],
         [12, 18]]

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

Daha sonra, aşağıdaki sözdizimini kullanan Python statsmodels kütüphanesindeki mcnemar() fonksiyonunu kullanabiliriz:

mcnemar(dizi, kesin=Doğru, düzeltme=Doğru)

Altın:

  • tablo: Kare bir acil durum tablosu
  • kesin: Kesin doğruysa binom dağılımı kullanılacaktır. Doğru yanlışsa Ki-kare dağılımı kullanılacaktır
  • düzeltme: doğruysa süreklilik düzeltmesi kullanılır. Tipik olarak bu düzeltme genellikle tablo hücrelerinin sayısı 5’ten az olduğunda uygulanır.

Aşağıdaki kod, bu işlevin özel örneğimizde nasıl kullanılacağını gösterir:

 from statsmodels.stats.contingency_tables import mcnemar

#McNemar's Test with no continuity correction
print(mcnemar(data, exact=False))

pvalue 0.000181
statistic 14.019

#McNemar's Test with continuity correction
print(mcnemar(data, exact=False, correction=False))

pvalue 0.000103
statistic 15,077

Her iki durumda da (süreklilik düzeltmesi uygulansın veya uygulanmasın) testin p değeri 0,05’ten azdır.

Bu, her iki durumda da sıfır hipotezini reddedeceğimiz ve pazarlama videosunu izlemeden önce ve izledikten sonra yasayı destekleyen kişilerin oranının istatistiksel olarak farklı olduğu sonucuna varacağımız anlamına gelir.

Yorum ekle

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