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.