Ana içeriğe geç

Fisher’ın Kesin Testi: Küçük Örneklerle Karar Vermek

Örneklem büyüklükleri küçük olduğunda kategorik ilişkileri analiz etmeyi öğrenin.
· 9 dk. oku

Yapay Zeka ile Keşfedin

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:

 

İyileşen

İyileşmeyen

Toplam

Tedavi

8

2

10

Kontrol

4

11

15

Toplam

12

13

25

Hipotezler şunlardır:

  • H₀: Tedavi ve iyileşme bağımsızdır
  • H₁: Tedavi iyileşmeyi artırır (tek yönlü)

Bunu Python’da şöyle ele alırım:

from scipy.stats import fisher_exact

# Construct contingency table
table = [[8, 2],
         [4, 11]]

oddsratio, p_value = fisher_exact(table, alternative='two-sided')
print("Odds Ratio:", oddsratio)
print("Two-sided p-value:", round(p_value, 2))

# One-sided test (treatment better)
_, p_value_one = fisher_exact(table, alternative='greater')
print("One-sided p-value:", round(p_value_one, 2))
Odds Ratio: 11.0
Two-sided p-value: 0.02
One-sided p-value: 0.01

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:

  1. Veri setlerini indirin ve yükleyin

  2. İkili değişkenler oluşturun:

    1. current_smoker (evet/hayır)

    2. asthma_ever (evet/hayır)

  3. Bir 2×2 kontenjans tablosu oluşturun

  4. Fisher’ın kesin testini çalıştırın (iki yönlü ve tek yönlü)

  5. Olasılık oranı için %95 güven aralığı hesaplayın

  6. 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.

# %% Imports
import pandas as pd
import numpy as np
from scipy.stats import fisher_exact
from statsmodels.stats.contingency_tables import Table2x2

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.XPT

    • data/MCQ_J.XPT

    • data/SMQ_J.XPT

# 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")
demo.head()

mcq.head()

smq.head()

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])
DEMO columns (subset): Index(['SEQN', 'SDDSRVYR', 'RIDSTATR', 'RIAGENDR', 'RIDAGEYR', 'RIDAGEMN',
       'RIDRETH1', 'RIDRETH3', 'RIDEXMON', 'RIDEXAGM'],
      dtype='object')
MCQ columns (subset): Index(['SEQN', 'MCQ010', 'MCQ025', 'MCQ035', 'MCQ040', 'MCQ050', 'AGQ030',
       'MCQ053', 'MCQ080', 'MCQ092'],
      dtype='object')
SMQ columns (subset): Index(['SEQN', 'SMQ020', 'SMD030', 'SMQ040', 'SMQ050Q', 'SMQ050U', 'SMD057',
       'SMQ078', 'SMD641', 'SMD650'],
      dtype='object')

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()

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()

Yeni sütunlar oluşturuyoruz: asthma_ever ve current_smoker

Fisher’ın Kesin Testi’ni kullanabilmek için kontenjans tablosunu oluşturalım.

# %% Build a 2×2 contingency table

# Ensure ints
df_clean["asthma_ever"] = df_clean["asthma_ever"].astype(int)
df_clean["current_smoker"] = df_clean["current_smoker"].astype(int)

contingency = pd.crosstab(
    df_clean["current_smoker"],
    df_clean["asthma_ever"],
    rownames=["Current smoker (1=yes,0=no)"],
    colnames=["Ever told asthma (1=yes,0=no)"]
)
contingency

Kontenjans tablosunu bir NumPy dizisine dönüştürün.

# %% Fisher's Exact Test

# Convert to 2x2 numpy array with explicit ordering:
# rows: [non-smoker, smoker] ; cols: [no asthma, asthma]
table = np.array([
    [contingency.loc[0, 0], contingency.loc[0, 1]],
    [contingency.loc[1, 0], contingency.loc[1, 1]]
])

table
array([[1102,  226],
       [ 832,  172]])

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}")
2x2 table (rows: non-smoker, smoker; cols: no asthma, asthma)
[[1102  226]
 [ 832  172]]

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.55144

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()

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.

Vidhi Chugh

Yazar

Vidhi Chugh

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.

Konular

İlgili