Kurumlar, müşterilerin nasıl davrandığına, ürünlerin nasıl performans gösterdiğine ve operasyonların nasıl dalgalandığına göre her gün kararlar alır. Bu kararların, verideki gerçek ilişkiler ve örüntüler temelinde alınmasını sağlamak için analistler sıklıkla istatistiksel testler kullanır.
Yaygın istatistiksel testler büyük veri kümelerinde iyi çalışsa da, işletmelerin her zaman büyük veri lüksü olmayabilir. Aslında birçok karar küçük örneklemler, niş müşteri segmentleri veya nadir olaylar kullanılarak verilmek zorundadır. Bu durumlarda, ki-kare gibi geleneksel testler yetersiz kalabilir; yanıltıcı sonuçlar üretebilir ya da içgörülere güvenle göre hareket edebilmek için gereken hassasiyetten yoksun olabilir.
İşte Fisher’ın kesin testi bu noktada değer kazanır. Okumaya devam edin, nasıl olduğunu göstereceğim.
Fisher'ın Kesin Testi Nedir?
Fisher’ın kesin testi, verinin sınırlı olduğu durumlarda kategorik değişkenler arasındaki ilişkiyi değerlendirmek için kullanılır. En sık 2×2 olasılıklı (kontenjans) tablolara uygulanır ve bağımsızlık yokluk hipotezinin doğru olduğu varsayımı altında, toplanan veriler kadar uç değerlerin gözlenme olasılığını tam olarak hesaplar.
Bir analist, örneğin hedefli bir pazarlama kampanyasının etkinliğini değerlendirirken Fisher’ın kesin testini kullanabilir. Diyelim ki analist, e-posta ile sosyal medya kampanyasının etkinliğini karşılaştırıyor ve bu da küçük örneklemli niş bir müşteri grubu için yapılıyor. Bu durumda bir kontenjans tablosu oluşturup Fisher’ın kesin testini çalıştırabilir. Yine, bir kalite kontrol ortamında analist, olay raporlaması ve kusur takibindeki zorlukları ele almak için testi kullanabilir. Belirli arıza türleri yalnızca birkaç kez meydana geldiğinde, Fisher’ın kesin testi, makine türü gibi faktörlerin kusur oluşumlarıyla gerçekten bağlantılı olup olmadığını değerlendirebilir.
İstatistiksel Teori ve Matematiksel Temel
Testin neden önemli olduğuna dair sezgisel bir anlayış geliştirdikten sonra, şimdi bunu resmileştirebiliriz. Fisher’ın kesin testi, özünde, iki kategorik değişken arasında rastlantısal olmayan bir ilişki olup olmadığını belirlemek için kullanılan bir istatistiksel yöntemdir. En yaygın olarak 2×2 kontenjans tablolarına uygulanır ve iki grubu iki sonuç bakımından karşılaştırır; örneğin, “tedavi karşı kontrol” ile “iyileşen karşı iyileşmeyen”.
İlginç bir şekilde, kökenleri istatistik tarihinin en ünlü hikayelerinden birine, “çay tadan hanım” deneyine dayanır. Sir Ronald A. Fisher, Dr. Muriel Bristol’un bir fincana önce sütün mü yoksa çayın mı konulduğunu yalnızca tadına bakarak ayırt edebileceği iddiasını değerlendirmek için bir deney tasarladı. Deneyin bir parçası olarak Fisher sekiz fincan düzenledi ve hangilerinin “önce süt” hangilerinin “önce çay” olduğunu söylemesini istedi. Küçük örneklem nedeniyle Fisher, doğru tahminler örüntüsünün tesadüfen oluşmuş olma olasılığını tam olarak belirleyen bir yöntem geliştirdi ve bugün Fisher’ın kesin testi olarak bildiğimiz şeyin temelini attı.
Klinik araştırmalarda olduğu gibi, verinin sınırlı, dengesiz veya elde edilmesi zor olduğu durumlarda Fisher’ın testi, tedaviler ve sonuçlar arasında anlamlı bir ilişki olup olmadığını belirlemeye yardımcı olur. Ekoloji, epidemiyoloji, genetik ve kalite kontrol; seyrek veri içeren ve bu teste başvuran alanlara örnektir.
Fisher’ın kesin testi, bağımsızlığı değerlendirmek için tam hipergeometrik olasılıkları hesaplar. 2×2 bir tablo için:
Grup B1
Grup B2
Toplam
Grup A1
a
b
a+b
Grup A2
c
d
c+d
Toplam
a+c
b+d
n
Söz konusu exact yapılandırmanın yokluk hipotezi (ilişki yok) altında gözlenme olasılığı, hipergeometrik dağılımla hesaplanır:
Testler tek yönlü olabilir; örneğin “A1, B1’de B2’ye göre daha olası mı?” gibi; ya da iki yönlü: “Herhangi bir ilişki var mı?”. Büyük örnekleme yaklaşımlarının (ör. ki-kare) aksine, Fisher’ın yöntemi, beklenen frekanslar düşük olduğunda bile doğruluk sağlar.
Varsayımlar ve Önkoşullar
Fisher’ın kesin testini uygulamak için aşağıdaki koşullar gerekir.
Veri kategorik olmalıdır
2×2 kontenjans tablosunda sunulmalıdır
Gözlemler bağımsızdır
Yokluk hipotezi altında kenarlar (satır ve sütun toplamları) sabittir
Izgaradaki beklenen sayımlardan herhangi biri aşırı düşükse (5’in altında) veya sonuçlar seyrek ya da ağır dengesizse Fisher’ın testi tercih edilir.
Python’da Fisher'ın Kesin Testi
Diyelim ki bir ilacın iyileşmeyi artırıp artırmadığını test ediyoruz:
0,02’lik küçük bir p-değeri, tedavi ile iyileşme arasında gerçek bir ilişkiye işaret eder.
Şimdi, yetişkinlerde “mevcut sigara içme durumu” ile “hayatında bir kez bile astım teşhisi konulması” arasındaki ilişkiyi incelemek için NHANES 2017–2018 kamu verilerinden gerçek bir örnek seçelim.
Kullanılan dosyalar (tamamı NHANES resmi sitesinden):
Fisher’ın kesin testini çalıştırın (iki yönlü ve tek yönlü)
Olasılık oranı için %95 güven aralığı hesaplayın
Sonuçları yorumlayın
Not: Uygun NHANES analizi anket ağırlıkları ve karmaşık bir tasarım gerektirir.
Burada, öğretici amaçlarla ağırlıkları yok sayıyoruz. Gerekli kütüphaneleri içe aktaralım.
# %% Importsimport pandas as pd
import numpy as np
from scipy.stats import fisher_exact
from statsmodels.stats.contingency_tables import Table2x2Altyapı:
CDC’den XPT dosyalarını elle indirip yerel data/ klasörüne koyalım:
# Set paths or URLs here.# If you've downloaded locally, point to the local paths:
DEMO_PATH ="data/DEMO_J.XPT"
MCQ_PATH ="data/MCQ_J.XPT"
SMQ_PATH ="data/SMQ_J.XPT"# If you prefer to read directly from URLs, uncomment these instead:# DEMO_PATH = "https://wwwn.cdc.gov/Nchs/NHanes/2017-2018/DEMO_J.XPT"# MCQ_PATH = "https://wwwn.cdc.gov/Nchs/NHanes/2017-2018/MCQ_J.XPT"# SMQ_PATH = "https://wwwn.cdc.gov/Nchs/NHanes/2017-2018/SMQ_J.XPT"# Read SAS transport (.XPT) files
demo = pd.read_sas(DEMO_PATH,format="xport")
mcq = pd.read_sas(MCQ_PATH,format="xport")
smq = pd.read_sas(SMQ_PATH,format="xport")Altyapı:
Bu DataFrame’lerdeki bazı temel değişkenlere bakalım. Burada SEQN katılımcı kimliğidir ve birleştirme anahtarı olarak kullanılabilir.
# %% Inspect key variables# SEQN is the respondent ID present in all three files.# Check columns and pick what we need:print("DEMO columns (subset):", demo.columns[:10])print("MCQ columns (subset):", mcq.columns[:10])print("SMQ columns (subset):", smq.columns[:10])Altyapı:
Gerekli sütunları süzelim ve ayrıca yaşa göre (20’den büyük) filtreleyelim.
# %% Keep only necessary variables and filter adults
demo_sub = demo[["SEQN","RIDAGEYR","RIAGENDR"]].copy()
mcq_sub = mcq[["SEQN","MCQ010"]].copy()
smq_sub = smq[["SEQN","SMQ040"]].copy()# Merge on SEQN (inner join: keep only participants present in all three files)
df =(
demo_sub
.merge(mcq_sub, on="SEQN", how="inner").merge(smq_sub, on="SEQN", how="inner"))# Restrict to adults aged 20+
df = df[df["RIDAGEYR"]>=20].copy()
df.head()Altyapı:
MCQ010 Astım durumu olan hastaları temsil eder; 1 değeri Evet, 2 Hayır anlamına gelir. Benzer şekilde, SMQ040 yanıtlayanın sigara içip içmediğini gösterir.
# %% Recode variables into binary indicators# 1. Asthma: MCQ010# 1 = Yes, 2 = No, 7 = Refused, 9 = Don't know# We'll create asthma_ever: 1 = yes, 0 = no, NaN otherwise
df["asthma_ever"]= np.nan
df.loc[df["MCQ010"]==1,"asthma_ever"]=1
df.loc[df["MCQ010"]==2,"asthma_ever"]=0# 2. Current smoker: SMQ040# 1 = Every day, 2 = Some days, 3 = Not at all, 7/9 = missing# We'll create current_smoker: 1 = yes (1 or 2), 0 = no (3), NaN otherwise
df["current_smoker"]= np.nan
df.loc[df["SMQ040"].isin([1,2]),"current_smoker"]=1
df.loc[df["SMQ040"]==3,"current_smoker"]=0# Drop rows with missing recodes
df_clean = df.dropna(subset=["asthma_ever","current_smoker"]).copy()
df_clean[["RIDAGEYR","MCQ010","asthma_ever","SMQ040","current_smoker"]].head()Altyapı:
Yeni sütunlar oluşturuyoruz: asthma_ever ve current_smoker
Fisher’ın Kesin Testi’ni kullanabilmek için kontenjans tablosunu oluşturalım.
Son olarak, iki yönlü ve tek yönlü Fisher’ın Kesin Testlerini çalıştırın.
# Run Fisher's exact test (two-sided and one-sided)
oddsratio, p_two_sided = fisher_exact(table, alternative="two-sided")
_, p_smoker_higher_asthma = fisher_exact(table, alternative="greater")
_, p_smoker_lower_asthma = fisher_exact(table, alternative="less")print("2x2 table (rows: non-smoker, smoker; cols: no asthma, asthma)")print(table)print()print(f"Odds ratio (Fisher): {oddsratio:.3f}")print(f"Two-sided p-value: {p_two_sided:.5f}")print(f"One-sided p-value (H1: smokers have higher asthma odds): {p_smoker_higher_asthma:.5f}")print(f"One-sided p-value (H1: smokers have lower asthma odds): {p_smoker_lower_asthma:.5f}")Altyapı:
2x2 table (rows: non-smoker, smoker; cols: no asthma, asthma)[[1102226][832172]]
Odds ratio (Fisher):1.008
Two-sided p-value:0.95571
One-sided p-value (H1: smokers have higher asthma odds):0.49274
One-sided p-value (H1: smokers have lower asthma odds):0.55144Altyapı:
Yüksek p-değerleri, bu örneklemde mevcut sigara içme ile hayatında bir kez bile astım tanısı almış olma arasında istatistiksel olarak anlamlı bir ilişki olduğuna dair kanıt bulunmadığını gösterir.
~1’e yakın olasılık oranı, mevcut sigara içenlerin astım tanısı bildirme olasılığının sigara içmeyenlerle neredeyse aynı olduğunu gösterir. Gözlenen herhangi bir fark, rastgelelikten kaynaklanabilecek düzeydedir.
Alternatif İstatistiksel Yöntemlerle Karşılaştırma
Kontenjans tablolarındaki ilişkileri analiz etmek için, örneklem büyüklüğü, veri yapısı ve varsayımlara bağlı olarak farklı istatistiksel testler kullanılır:
Fisher’ın kesin testi
Küçük örneklemler ve beklenen hücre sayımlarının düşük olduğu durumlar için en iyisidir. Tam p-değerleri sağlar; bu da onu çok güvenilir kılar; ancak tablolar büyüdükçe hesaplama açısından yavaşlayabilir.
Ki-kare testi
Büyük örneklemler için standart seçimdir. Hızlı, yaygın ve uygulaması kolaydır; ancak yaklaşımlara dayandığı için beklenen sayımlar 5’in altına düştüğünde doğruluğu azalır.
Barnard’ın kesin testi
2×2 tablolarda Fisher’ın testine daha güçlü bir alternatiftir. Sabit kenarlar varsayımında bulunmaz; bu da sonuçları daha duyarlı kılabilir; ancak yazılımlarda daha az yaygın olarak uygulanmıştır.
McNemar’ın testi
Eşleştirilmiş ya da bağımlı kategorik veriler için tasarlanmıştır (ör. aynı deneklerde tedavi öncesi-sonrası). Gözlemler arasındaki bağımlılığı dikkate alır; ancak veri noktaları bağımsız olduğunda kullanılamaz.
Yöntem
Ne Zaman Kullanılır
Güçlü Yönler
Sınırlılıklar
Fisher’ın kesin testi
Küçük örneklemler, düşük beklenen sayımlar
Tam p-değerleri
Tutucu, büyük tablolar için yavaş
Ki-kare testi
Büyük örneklem büyüklükleri
Hızlı, yaygın kullanılır
Beklenen sayımlar < 5 olduğunda yanlı
Barnard’ın kesin testi
Fisher’a alternatif, daha güçlü
Sabit kenarlarla kısıtlı değil
Daha az yaygın bulunur
McNemar’ın testi
Eşleştirilmiş kategorik veriler
Bağımlılıkları ele alır
Bağımsız örneklemler için değil
Hesaplamalı Hususlar
Fisher’ın kesin testinde performans bir endişe olabilir; çünkü hesaplamalar basit 2×2 kontenjans tablolarının ötesine geçildiğinde kötü ölçeklenir. Freeman–Halton genişletmesi testin 2×3 ve 3×3 tablolara uygulanmasına olanak tanısa da, tablo boyutu büyüdükçe hesaplama maliyeti hızla artar. Sonuç olarak, genetik ve klinik araştırmalar gibi, küçük ama karmaşık veri kümeleri üzerinde kesin testlerin tekraren yapılmasının gerektiği alanlarda verimli algoritmalar ve iyileştirmeler özellikle önemlidir.
Yorumlama ve İstatistiksel Raporlama
Fisher’ın kesin testinin sonuçlarını yorumlarken ve raporlarken, tam p-değerini eklemek, olasılık oranını %95 güven aralığıyla birlikte vermek ve tek mi yoksa iki yönlü bir test mi yapıldığını açıkça belirtmek önemlidir. Okuyucuların bulguların gerçek dünya önemini anlamalarına yardımcı olmak için sonuçlar pratik bir bağlamla desteklenmelidir. Örneğin şöyle yazılabilir: “Fisher’ın kesin testi, tedavi ile iyileşme arasında anlamlı bir ilişki gösterdi (OR=11,0, p=0,02, iki yönlü).”
Genişletmeler ve İleri Düzey Uygulamalar
Fisher’ın kesin testinin genişletmeleri ve ileri düzey uygulamaları, daha karmaşık veri senaryolarını ele almaya ve küçük ya da seyrek veri kümeleriyle çalışırken doğruluğu artırmaya yardımcı olur. Freeman–Halton genişletmesi, testi standart 2×2 formatının ötesindeki daha büyük kontenjans tablolarına, örneğin 2×3 veya 3×3 tablolara uygulamaya olanak tanır. Mid-P kesin testi, güvenilirliği korurken istatistiksel gücü artıran, Fisher’ın testine göre daha az tutucu bir alternatiftir. Bayesçi kesin testler, analize ön bilgileri dahil eder; bu da verinin sınırlı olduğu veya uzman yargısının çıkarıma rehberlik edebileceği durumlarda özellikle kullanışlıdır. Ayrıca, olasılık oranları için önyargı düzeltme yöntemleri, küçük örneklem büyüklükleri veya sıfır sayımların olduğu çalışmalarda daha doğru etki büyüklüğü tahminleri sağlayarak ilişkilerin gücü ve yönünün daha iyi yorumlanmasını mümkün kılar.
Sınırlamalar ve Yöntemsel Hususlar
Fisher’ın kesin testi tutucu olabilir; bu da istatistiksel gücü azaltabilir ve özellikle küçük çalışmalarda gerçek etkileri saptamayı zorlaştırabilir. Veri çok seyrek olduğunda sonuçları yorumlamak zorlaşır; çünkü güven aralıkları genişler ve tahminler kararsız hale gelir. Ayrıca, testi pek çok değişken üzerinde tekrarlı olarak uygulamak yanlış keşif riskini artırır; bu nedenle çoklu testler için dikkatli bir kontrol önemlidir.
Kontenjans Tablolarının Görselleştirilmesi
Kontenjans tablo sonuçlarını sunmak için iyi görselleştirme seçenekleri arasında yığılmış çubuk grafikler, yan yana çubuk grafikler ve mozaik grafikler bulunur. Bu görseller, kategorik değişkenler arasındaki ilişkiyi açıkça iletmeye yardımcı olur ve örüntüleri veya grup farklılıklarını yorumlamayı kolaylaştırır.
İşte bir Python örneği:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({"Outcome":["Recovered","Not Recovered"]*2,"Count":[8,2,4,11],"Group":["Treatment"]*2+["Control"]*2})
sns.barplot(data=df, x="Outcome", y="Count", hue="Group")
plt.title("Treatment Outcomes")
plt.show()Altyapı:
Sonuç
Fisher’ın kesin testi, küçük kategorik veri kümelerini analiz etmek için hâlâ altın standartlardan biridir. Bir bahçedeki bir çay fincanından doğan bu yöntem; tıpta, genetikte, insan denekleri araştırmalarında ve iş deneylerinde önemli ve yaygın olarak kullanılan bir araca dönüşmüştür.
Öğrenmeye devam etmek için Python ile İstatistik Temelleri yetkinlik yolumuza kaydolun; bu yol, hipotez testine ek olarak doğrusal ve lojistik regresyonla istatistiksel model kurma pratiği yapmanıza yardımcı olacaktır.
Veri bilimi, ürün ve mühendisliğin kesişiminde çalışarak ölçeklenebilir makine öğrenimi sistemleri geliştiren bir Yapay Zeka Stratejisti ve Etik Uzmanıyım. Dünyadaki "En İyi 200 İş ve Teknoloji Yenilikçisinden" biri olarak listelenmiş bulunuyorum; makine öğrenimini demokratikleştirmek ve bu dönüşümün parçası olabilmeleri için herkes adına jargonu sadeleştirmek misyonuyla çalışıyorum.
SSS
Fisher’ın kesin testi ki-kare testinden nasıl farklıdır?⌄
Fisher’ın kesin testi, tam bir olasılık hesaplar ve küçük örneklem büyüklükleri veya düşük beklenen hücre sayımları için idealdir; buna karşılık ki-kare testi, beklenen sayımlar 5’in altına düştüğünde hatalı hâle gelebilen büyük örneklem yaklaşımı kullanır.
Fisher’ın kesin testinin tıpta pratik uygulamaları nelerdir?⌄
Genellikle tedavi etkinliğini değerlendirmek, klinik deney sonuçlarını analiz etmek, hastalık ilişkilerini araştırmak ve genetik risk faktörlerini incelemek için kullanılır — özellikle hasta örneklemleri küçük olduğunda.
Fisher’ın kesin testi 2×2’den büyük kontenjans tablolarında kullanılabilir mi?⌄
Evet, Fisher’ın kesin testi, Freeman–Halton genişletmesi gibi yöntemlerle daha büyük tablolara genişletilebilir; ancak tablo boyutu arttıkça hesaplamalar daha zahmetli hâle gelir.
Fisher’ın kesin testini kullanmak için gereken varsayımlar nelerdir?⌄
Veri kategorik olmalı, bir kontenjans tablosunda düzenlenmeli, gözlemler bağımsız olmalı ve yokluk hipotezi altında satır ve sütun toplamları sabit olmalıdır.
Hipergeometrik dağılım Fisher’ın kesin testiyle nasıl ilişkilidir?⌄
Fisher’ın kesin testi, sabit kenar toplamları verildiğinde belirli bir sayım düzeninin gözlenme olasılığını modelleyen hipergeometrik dağılıma dayanır.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurumlar, müşterilerin nasıl davrandığına, ürünlerin nasıl performans gösterdiğine ve operasyonların nasıl dalgalandığına göre her gün kararlar alır. Bu kararların, verideki gerçek ilişkiler ve örüntüler temelinde alınmasını sağlamak için analistler sıklıkla istatistiksel testler kullanır.
Yaygın istatistiksel testler büyük veri kümelerinde iyi çalışsa da, işletmelerin her zaman büyük veri lüksü olmayabilir. Aslında birçok karar küçük örneklemler, niş müşteri segmentleri veya nadir olaylar kullanılarak verilmek zorundadır. Bu durumlarda, ki-kare gibi geleneksel testler yetersiz kalabilir; yanıltıcı sonuçlar üretebilir ya da içgörülere güvenle göre hareket edebilmek için gereken hassasiyetten yoksun olabilir.
İşte Fisher’ın kesin testi bu noktada değer kazanır. Okumaya devam edin, nasıl olduğunu göstereceğim.
Fisher'ın Kesin Testi Nedir?
Fisher’ın kesin testi, verinin sınırlı olduğu durumlarda kategorik değişkenler arasındaki ilişkiyi değerlendirmek için kullanılır. En sık 2×2 olasılıklı (kontenjans) tablolara uygulanır ve bağımsızlık yokluk hipotezinin doğru olduğu varsayımı altında, toplanan veriler kadar uç değerlerin gözlenme olasılığını tam olarak hesaplar.
Bir analist, örneğin hedefli bir pazarlama kampanyasının etkinliğini değerlendirirken Fisher’ın kesin testini kullanabilir. Diyelim ki analist, e-posta ile sosyal medya kampanyasının etkinliğini karşılaştırıyor ve bu da küçük örneklemli niş bir müşteri grubu için yapılıyor. Bu durumda bir kontenjans tablosu oluşturup Fisher’ın kesin testini çalıştırabilir. Yine, bir kalite kontrol ortamında analist, olay raporlaması ve kusur takibindeki zorlukları ele almak için testi kullanabilir. Belirli arıza türleri yalnızca birkaç kez meydana geldiğinde, Fisher’ın kesin testi, makine türü gibi faktörlerin kusur oluşumlarıyla gerçekten bağlantılı olup olmadığını değerlendirebilir.
İstatistiksel Teori ve Matematiksel Temel
Testin neden önemli olduğuna dair sezgisel bir anlayış geliştirdikten sonra, şimdi bunu resmileştirebiliriz. Fisher’ın kesin testi, özünde, iki kategorik değişken arasında rastlantısal olmayan bir ilişki olup olmadığını belirlemek için kullanılan bir istatistiksel yöntemdir. En yaygın olarak 2×2 kontenjans tablolarına uygulanır ve iki grubu iki sonuç bakımından karşılaştırır; örneğin, “tedavi karşı kontrol” ile “iyileşen karşı iyileşmeyen”.
İlginç bir şekilde, kökenleri istatistik tarihinin en ünlü hikayelerinden birine, “çay tadan hanım” deneyine dayanır. Sir Ronald A. Fisher, Dr. Muriel Bristol’un bir fincana önce sütün mü yoksa çayın mı konulduğunu yalnızca tadına bakarak ayırt edebileceği iddiasını değerlendirmek için bir deney tasarladı. Deneyin bir parçası olarak Fisher sekiz fincan düzenledi ve hangilerinin “önce süt” hangilerinin “önce çay” olduğunu söylemesini istedi. Küçük örneklem nedeniyle Fisher, doğru tahminler örüntüsünün tesadüfen oluşmuş olma olasılığını tam olarak belirleyen bir yöntem geliştirdi ve bugün Fisher’ın kesin testi olarak bildiğimiz şeyin temelini attı.
Klinik araştırmalarda olduğu gibi, verinin sınırlı, dengesiz veya elde edilmesi zor olduğu durumlarda Fisher’ın testi, tedaviler ve sonuçlar arasında anlamlı bir ilişki olup olmadığını belirlemeye yardımcı olur. Ekoloji, epidemiyoloji, genetik ve kalite kontrol; seyrek veri içeren ve bu teste başvuran alanlara örnektir.
Fisher’ın kesin testi, bağımsızlığı değerlendirmek için tam hipergeometrik olasılıkları hesaplar. 2×2 bir tablo için:
Grup B1
Grup B2
Toplam
Grup A1
a
b
a+b
Grup A2
c
d
c+d
Toplam
a+c
b+d
n
Söz konusu exact yapılandırmanın yokluk hipotezi (ilişki yok) altında gözlenme olasılığı, hipergeometrik dağılımla hesaplanır:
Testler tek yönlü olabilir; örneğin “A1, B1’de B2’ye göre daha olası mı?” gibi; ya da iki yönlü: “Herhangi bir ilişki var mı?”. Büyük örnekleme yaklaşımlarının (ör. ki-kare) aksine, Fisher’ın yöntemi, beklenen frekanslar düşük olduğunda bile doğruluk sağlar.
Varsayımlar ve Önkoşullar
Fisher’ın kesin testini uygulamak için aşağıdaki koşullar gerekir.
Izgaradaki beklenen sayımlardan herhangi biri aşırı düşükse (5’in altında) veya sonuçlar seyrek ya da ağır dengesizse Fisher’ın testi tercih edilir.
Python’da Fisher'ın Kesin Testi
Diyelim ki bir ilacın iyileşmeyi artırıp artırmadığını test ediyoruz:
İyileşen
İyileşmeyen
Toplam
Tedavi
8
2
10
Kontrol
4
11
15
Toplam
12
13
25
Hipotezler şunlardır:
Bunu Python’da şöyle ele alırım:
0,02’lik küçük bir p-değeri, tedavi ile iyileşme arasında gerçek bir ilişkiye işaret eder.
Şimdi, yetişkinlerde “mevcut sigara içme durumu” ile “hayatında bir kez bile astım teşhisi konulması” arasındaki ilişkiyi incelemek için NHANES 2017–2018 kamu verilerinden gerçek bir örnek seçelim.
Kullanılan dosyalar (tamamı NHANES resmi sitesinden):
DEMO_J.XPT— Demografi (yaş, cinsiyet, ağırlıklar vb.)SMQ_J.XPT— Sigara - Sigara Kullanımı (sigara geçmişi ve mevcut kullanım)MCQ_J.XPT— Tıbbi Durumlar ("hayatınızda astım teşhisi konuldu mu" dahil)İzleyeceğimiz adımlar aşağıdadır:
Veri setlerini indirin ve yükleyin
İkili değişkenler oluşturun:
current_smoker(evet/hayır)asthma_ever(evet/hayır)Bir 2×2 kontenjans tablosu oluşturun
Fisher’ın kesin testini çalıştırın (iki yönlü ve tek yönlü)
Olasılık oranı için %95 güven aralığı hesaplayın
Sonuçları yorumlayın
Not: Uygun NHANES analizi anket ağırlıkları ve karmaşık bir tasarım gerektirir.
Burada, öğretici amaçlarla ağırlıkları yok sayıyoruz. Gerekli kütüphaneleri içe aktaralım.
CDC’den XPT dosyalarını elle indirip yerel
data/klasörüne koyalım:Şuraya gidin:
Demografi: 2017–2018 Demografi Verileri (DEMO_J)
Tıbbi Durumlar: MCQ_J
Sigara - Sigara Kullanımı: SMQ_J
Şunları indirin:
DEMO_J Data [XPT]
MCQ_J Data [XPT]
SMQ_J Data [XPT]
Şu adlarla kaydedin:
data/DEMO_J.XPTdata/MCQ_J.XPTdata/SMQ_J.XPTBu DataFrame’lerdeki bazı temel değişkenlere bakalım. Burada
SEQNkatılımcı kimliğidir ve birleştirme anahtarı olarak kullanılabilir.Gerekli sütunları süzelim ve ayrıca yaşa göre (20’den büyük) filtreleyelim.
MCQ010Astım durumu olan hastaları temsil eder;1değeri Evet,2Hayır anlamına gelir. Benzer şekilde,SMQ040yanıtlayanın sigara içip içmediğini gösterir.Yeni sütunlar oluşturuyoruz:
asthma_evervecurrent_smokerFisher’ın Kesin Testi’ni kullanabilmek için kontenjans tablosunu oluşturalım.
Kontenjans tablosunu bir NumPy dizisine dönüştürün.
Son olarak, iki yönlü ve tek yönlü Fisher’ın Kesin Testlerini çalıştırın.
Yüksek p-değerleri, bu örneklemde mevcut sigara içme ile hayatında bir kez bile astım tanısı almış olma arasında istatistiksel olarak anlamlı bir ilişki olduğuna dair kanıt bulunmadığını gösterir.
~1’e yakın olasılık oranı, mevcut sigara içenlerin astım tanısı bildirme olasılığının sigara içmeyenlerle neredeyse aynı olduğunu gösterir. Gözlenen herhangi bir fark, rastgelelikten kaynaklanabilecek düzeydedir.
Alternatif İstatistiksel Yöntemlerle Karşılaştırma
Kontenjans tablolarındaki ilişkileri analiz etmek için, örneklem büyüklüğü, veri yapısı ve varsayımlara bağlı olarak farklı istatistiksel testler kullanılır:
Fisher’ın kesin testi
Küçük örneklemler ve beklenen hücre sayımlarının düşük olduğu durumlar için en iyisidir. Tam p-değerleri sağlar; bu da onu çok güvenilir kılar; ancak tablolar büyüdükçe hesaplama açısından yavaşlayabilir.
Ki-kare testi
Büyük örneklemler için standart seçimdir. Hızlı, yaygın ve uygulaması kolaydır; ancak yaklaşımlara dayandığı için beklenen sayımlar 5’in altına düştüğünde doğruluğu azalır.
Barnard’ın kesin testi
2×2 tablolarda Fisher’ın testine daha güçlü bir alternatiftir. Sabit kenarlar varsayımında bulunmaz; bu da sonuçları daha duyarlı kılabilir; ancak yazılımlarda daha az yaygın olarak uygulanmıştır.
McNemar’ın testi
Eşleştirilmiş ya da bağımlı kategorik veriler için tasarlanmıştır (ör. aynı deneklerde tedavi öncesi-sonrası). Gözlemler arasındaki bağımlılığı dikkate alır; ancak veri noktaları bağımsız olduğunda kullanılamaz.
Yöntem
Ne Zaman Kullanılır
Güçlü Yönler
Sınırlılıklar
Fisher’ın kesin testi
Küçük örneklemler, düşük beklenen sayımlar
Tam p-değerleri
Tutucu, büyük tablolar için yavaş
Ki-kare testi
Büyük örneklem büyüklükleri
Hızlı, yaygın kullanılır
Beklenen sayımlar < 5 olduğunda yanlı
Barnard’ın kesin testi
Fisher’a alternatif, daha güçlü
Sabit kenarlarla kısıtlı değil
Daha az yaygın bulunur
McNemar’ın testi
Eşleştirilmiş kategorik veriler
Bağımlılıkları ele alır
Bağımsız örneklemler için değil
Hesaplamalı Hususlar
Fisher’ın kesin testinde performans bir endişe olabilir; çünkü hesaplamalar basit 2×2 kontenjans tablolarının ötesine geçildiğinde kötü ölçeklenir. Freeman–Halton genişletmesi testin 2×3 ve 3×3 tablolara uygulanmasına olanak tanısa da, tablo boyutu büyüdükçe hesaplama maliyeti hızla artar. Sonuç olarak, genetik ve klinik araştırmalar gibi, küçük ama karmaşık veri kümeleri üzerinde kesin testlerin tekraren yapılmasının gerektiği alanlarda verimli algoritmalar ve iyileştirmeler özellikle önemlidir.
Yorumlama ve İstatistiksel Raporlama
Fisher’ın kesin testinin sonuçlarını yorumlarken ve raporlarken, tam p-değerini eklemek, olasılık oranını %95 güven aralığıyla birlikte vermek ve tek mi yoksa iki yönlü bir test mi yapıldığını açıkça belirtmek önemlidir. Okuyucuların bulguların gerçek dünya önemini anlamalarına yardımcı olmak için sonuçlar pratik bir bağlamla desteklenmelidir. Örneğin şöyle yazılabilir: “Fisher’ın kesin testi, tedavi ile iyileşme arasında anlamlı bir ilişki gösterdi (OR=11,0, p=0,02, iki yönlü).”
Genişletmeler ve İleri Düzey Uygulamalar
Fisher’ın kesin testinin genişletmeleri ve ileri düzey uygulamaları, daha karmaşık veri senaryolarını ele almaya ve küçük ya da seyrek veri kümeleriyle çalışırken doğruluğu artırmaya yardımcı olur. Freeman–Halton genişletmesi, testi standart 2×2 formatının ötesindeki daha büyük kontenjans tablolarına, örneğin 2×3 veya 3×3 tablolara uygulamaya olanak tanır. Mid-P kesin testi, güvenilirliği korurken istatistiksel gücü artıran, Fisher’ın testine göre daha az tutucu bir alternatiftir. Bayesçi kesin testler, analize ön bilgileri dahil eder; bu da verinin sınırlı olduğu veya uzman yargısının çıkarıma rehberlik edebileceği durumlarda özellikle kullanışlıdır. Ayrıca, olasılık oranları için önyargı düzeltme yöntemleri, küçük örneklem büyüklükleri veya sıfır sayımların olduğu çalışmalarda daha doğru etki büyüklüğü tahminleri sağlayarak ilişkilerin gücü ve yönünün daha iyi yorumlanmasını mümkün kılar.
Sınırlamalar ve Yöntemsel Hususlar
Fisher’ın kesin testi tutucu olabilir; bu da istatistiksel gücü azaltabilir ve özellikle küçük çalışmalarda gerçek etkileri saptamayı zorlaştırabilir. Veri çok seyrek olduğunda sonuçları yorumlamak zorlaşır; çünkü güven aralıkları genişler ve tahminler kararsız hale gelir. Ayrıca, testi pek çok değişken üzerinde tekrarlı olarak uygulamak yanlış keşif riskini artırır; bu nedenle çoklu testler için dikkatli bir kontrol önemlidir.
Kontenjans Tablolarının Görselleştirilmesi
Kontenjans tablo sonuçlarını sunmak için iyi görselleştirme seçenekleri arasında yığılmış çubuk grafikler, yan yana çubuk grafikler ve mozaik grafikler bulunur. Bu görseller, kategorik değişkenler arasındaki ilişkiyi açıkça iletmeye yardımcı olur ve örüntüleri veya grup farklılıklarını yorumlamayı kolaylaştırır.
İşte bir Python örneği:
Sonuç
Fisher’ın kesin testi, küçük kategorik veri kümelerini analiz etmek için hâlâ altın standartlardan biridir. Bir bahçedeki bir çay fincanından doğan bu yöntem; tıpta, genetikte, insan denekleri araştırmalarında ve iş deneylerinde önemli ve yaygın olarak kullanılan bir araca dönüşmüştür.
Öğrenmeye devam etmek için Python ile İstatistik Temelleri yetkinlik yolumuza kaydolun; bu yol, hipotez testine ek olarak doğrusal ve lojistik regresyonla istatistiksel model kurma pratiği yapmanıza yardımcı olacaktır.