मुख्य सामग्री पर जाएँ

Fisher’s Exact Test: छोटे नमूनों के साथ निर्णय लेना

जब आपके नमूने छोटे हों, तब श्रेणीबद्ध संबंधों का विश्लेषण करना सीखें।
· 9 मि॰ पढ़ें

AI के साथ खोजें

संगठन हर दिन इस आधार पर निर्णय लेते हैं कि ग्राहक कैसे व्यवहार करते हैं, उत्पाद कैसे प्रदर्शन करते हैं, और संचालन कैसे बदलता रहता है। यह सुनिश्चित करने के लिए कि ये निर्णय डेटा में निहित वास्तविक संबंधों और पैटर्न पर आधारित हों, विश्लेषक अक्सर सांख्यिकीय परीक्षणों का उपयोग करते हैं। 

जहाँ सामान्य सांख्यिकीय परीक्षण बड़े डेटासेट के लिए अच्छा काम करते हैं, वहीं व्यवसायों के पास हमेशा बड़े डेटासेट के साथ काम करने का विलास नहीं होता। दरअसल, कई निर्णय छोटे नमूना आकारों, विशिष्ट ग्राहक वर्गों, या दुर्लभ घटनाओं के आधार पर लेने पड़ते हैं। ऐसी स्थितियों में, पारंपरिक परीक्षण, जैसे काई-स्क्वेयर, कम पड़ सकते हैं—या तो भ्रामक परिणाम देते हैं या उन अंतर्दृष्टियों पर आत्मविश्वास से कार्रवाई करने के लिए आवश्यक परिशुद्धता की कमी होती है। 

यहीं पर Fisher का exact test उपयोगी हो जाता है। आगे पढ़ें, मैं आपको दिखाता हूँ कैसे।

Fisher's Exact Test क्या है?

Fisher का exact test सीमित डेटा होने पर श्रेणीबद्ध चरों के बीच संबद्धता का मूल्यांकन करने के लिए उपयोग किया जाता है। इसे प्रायः 2×2 कंटीजेंसी टेबल्स पर लागू किया जाता है, और यह स्वतंत्रता के शून्य परिकल्पना को सत्य मानते हुए, एकत्रित डेटा जितना चरम डेटा देखने की सटीक प्रायिकता की गणना करता है।

उदाहरण के लिए, कोई विश्लेषक लक्षित मार्केटिंग अभियान की प्रभावशीलता का आकलन करते समय Fisher का exact test उपयोग कर सकता/सकती है। यदि, उदाहरण के लिए, विश्लेषक ईमेल बनाम सोशल मीडिया अभियान की प्रभावशीलता का परीक्षण कर रहा/रही हो, और यह एक विशेष ग्राहक समूह के लिए छोटे नमूनों के साथ हो, तो वह एक कंटीजेंसी टेबल बनाकर Fisher का exact test चला सकता/सकती है। या, गुणवत्ता नियंत्रण सेटिंग में, कोई विश्लेषक घटना रिपोर्टिंग और दोष ट्रैकिंग की चुनौतियों से निपटने के लिए इस परीक्षण का उपयोग कर सकता/सकती है। जब कुछ विफलता प्रकार केवल कुछ बार होते हैं, तो Fisher का exact test यह आकलन कर सकता है कि मशीन प्रकार जैसे कारक वास्तव में दोषों की घटनाओं से जुड़े हैं या नहीं।

सांख्यिकीय सिद्धांत और गणितीय आधार

यह समझ विकसित कर लेने के बाद कि यह परीक्षण क्यों महत्त्वपूर्ण है, अब हम इसे औपचारिक रूप दे सकते हैं। मूल रूप से, Fisher का exact test एक सांख्यिकीय विधि है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि दो श्रेणीबद्ध चरों के बीच गैर-यादृच्छिक संबद्धता है या नहीं। इसे आम तौर पर 2×2 कंटीजेंसी टेबल्स पर लागू किया जाता है ताकि दो समूहों की दो परिणामों के पार तुलना की जा सके, जैसे “उपचार बनाम नियंत्रण” को “सुधार हुआ बनाम सुधार नहीं हुआ” के साथ।

दिलचस्प बात यह है कि इसकी उत्पत्ति सांख्यिकी की सबसे प्रसिद्ध कहानियों में से एक, “lady tasting tea” प्रयोग से जुड़ी है। सर रोनाल्ड ए. फिशर ने डॉ. म्यूरियल ब्रिस्टल के इस दावे का मूल्यांकन करने के लिए एक प्रयोग डिजाइन किया कि वे केवल स्वाद से बता सकती हैं कि कप में पहले दूध डाला गया था या चाय। प्रयोग के हिस्से के रूप में, फिशर ने आठ कप व्यवस्थित किए और उनसे पूछा कि कौन से “पहले दूध” और कौन से “पहले चाय” थे। छोटे नमूना आकार के कारण, फिशर ने यह निर्धारित करने के लिए एक exact विधि विकसित की कि सही अनुमानों का पैटर्न संयोग से हो सकता था या नहीं—जिसने आज जिसे हम Fisher का exact test कहते हैं, उसकी नींव रखी।

जहाँ डेटा सीमित, असंतुलित या प्राप्त करना कठिन होता है—जैसे कि नैदानिक अनुसंधान में—Fisher का परीक्षण यह निर्धारित करने में सहायक होता है कि उपचार और परिणाम सार्थक रूप से जुड़े हैं या नहीं। पारिस्थितिकी, महामारी विज्ञान, अनुवांशिकी, और गुणवत्ता नियंत्रण जैसे कुछ क्षेत्र विरल डेटा शामिल करते हैं और इस परीक्षण पर निर्भर रहते हैं।

Fisher का exact test स्वतंत्रता का आकलन करने के लिए सटीक हाइपरज्योमेट्रिक प्रायिकताओं की गणना करता है। 2×2 टेबल के लिए:

 

समूह B1

समूह B2

कुल

समूह A1

a

b

a+b

समूह A2

c

d

c+d

कुल

a+c

b+d

n

शून्य परिकल्पना (कोई संबद्धता नहीं) के तहत उस सटीक विन्यास को देखने की प्रायिकता हाइपरज्योमेट्रिक वितरण से गणना की जाती है:

परीक्षण एक-पक्षीय हो सकते हैं, जैसे “क्या B2 की तुलना में B1 में A1 की संभावना अधिक है?” या दो-पक्षीय: “कोई भी संबद्धता है या नहीं?” बड़े-नमूने के सन्निकटन (जैसे, काई-स्क्वेयर) के विपरीत, Fisher की विधि अपेक्षित आवृत्तियाँ कम होने पर भी सटीकता सुनिश्चित करती है।

अनुमान और पूर्वापेक्षाएँ

Fisher का exact test लागू करने के लिए निम्न शर्तें आवश्यक हैं।

  • डेटा श्रेणीबद्ध होना चाहिए
  • 2×2 कंटीजेंसी टेबल में प्रस्तुत
  • प्रेक्षण स्वतंत्र हों
  • मार्जिन (पंक्ति और स्तंभ योग) शून्य के तहत नियत हों

जब ग्रिड में किसी भी अपेक्षित गणना अत्यंत कम (5 से कम) हो, या परिणाम विरल या बहुत असंतुलित हों, तब Fisher का परीक्षण वरीय होता है।

Python में Fisher's Exact Test

मान लीजिए हम परखते हैं कि कोई दवा रिकवरी में सुधार करती है या नहीं:

 

सुधरे

सुधरे नहीं

कुल

उपचार

8

2

10

नियंत्रण

4

11

15

कुल

12

13

25

परिकल्पनाएँ इस प्रकार हैं:

  • H₀: उपचार और रिकवरी स्वतंत्र हैं
  • H₁: उपचार रिकवरी में सुधार करता है (एक-पक्षीय)

और Python में मैं इसे इस तरह देखूँगा/देखूँगी:

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 का छोटा p-मूल्य उपचार और रिकवरी के बीच वास्तविक संबद्धता का संकेत देता है।

अब, आइए वास्तविक जीवन का एक उदाहरण लें और वयस्कों में “वर्तमान धूम्रपान स्थिति” और “क्या आपको कभी अस्थमा होने के बारे में बताया गया है” के बीच संबद्धता की जाँच करने के लिए NHANES 2017–2018 के सार्वजनिक डेटा का उपयोग करें।

उपयोग की गई फाइलें (सभी NHANES की आधिकारिक साइट से):

  • DEMO_J.XPT — जनांकिकीय डेटा (आयु, लिंग, वेट्स, आदि)

  • SMQ_J.XPT — धूम्रपान - सिगरेट उपयोग (धूम्रपान इतिहास और वर्तमान उपयोग)

  • MCQ_J.XPT — चिकित्सीय स्थितियाँ (जिसमें "क्या कभी आपको अस्थमा होने के बारे में बताया गया" शामिल है)

नीचे वे चरण हैं जिन्हें हम अपनाएँगे:

  1. डेटासेट डाउनलोड करें और लोड करें

  2. बाइनरी चरों का निर्माण करें:

    1. current_smoker (हाँ/नहीं)

    2. asthma_ever (हाँ/नहीं)

  3. एक 2×2 कंटीजेंसी टेबल बनाएं

  4. Fisher का exact test चलाएँ (दो-पक्षीय और एक-पक्षीय)

  5. odds ratio के लिए 95% confidence interval गणना करें

  6. परिणामों की व्याख्या करें

नोट: उचित NHANES विश्लेषण के लिए सर्वे वेट्स और जटिल डिजाइन की आवश्यकता होती है।

यहाँ, शैक्षिक उद्देश्य से वेट्स को नज़रअंदाज़ किया गया है। आवश्यक लाइब्रेरीज़ आयात करते हैं।

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

आइए CDC से XPT फाइलें मैन्युअली डाउनलोड करें और उन्हें स्थानीय data/ फोल्डर में रखें:

  • यहाँ जाएँ:

    • जनांकिकीय: 2017–2018 Demographics Data (DEMO_J)

    • चिकित्सीय स्थितियाँ: MCQ_J

    • धूम्रपान - सिगरेट उपयोग: SMQ_J

  • डाउनलोड करें:

    • DEMO_J Data [XPT]

    • MCQ_J Data [XPT]

    • SMQ_J Data [XPT]

  • इन्हें इस रूप में सहेजें:

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

आइए इन DataFrames में कुछ प्रमुख चरों को देखें। यहाँ SEQN उत्तरदाता ID है और इसे जॉइन कुंजी के रूप में उपयोग किया जा सकता है।

# %% 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')

आवश्यक स्तंभों के लिए फ़िल्टर करें और आयु (20 से अधिक) के आधार पर भी फ़िल्टर करें। 

# %% 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 अस्थमा की स्थिति वाले रोगियों का प्रतिनिधित्व करता है, जहाँ 1 का मान Yes और 2 का अर्थ No है। इसी प्रकार, SMQ040 दिखाता है कि उत्तरदाता धूम्रपान करता है या नहीं। 

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

हम नए कॉलम बनाते हैं, asthma_ever और current_smoker

आइए कंटीजेंसी टेबल बनाते हैं ताकि हम Fisher का Exact Test उपयोग कर सकें।

# %% 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

कंटीजेंसी टेबल को NumPy array में बदलें।

# %% 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]])

अंत में, दो-पक्षीय और एक-पक्षीय Fisher के Exact Tests चलाएँ।

# 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

उच्च p-मूल्य दर्शाते हैं कि इस नमूने में वर्तमान धूम्रपान और कभी अस्थमा निदान होने के बीच सांख्यिकीय रूप से महत्त्वपूर्ण संबद्धता का कोई साक्ष्य नहीं है।

odds ratio लगभग 1 का अर्थ है कि वर्तमान धूम्रपान करने वालों के पास अस्थमा निदान की सूचना देने की संभावना, गैर-धूम्रपान करने वालों के लगभग बराबर है। देखा गया कोई भी अंतर यादृच्छिक संयोग के भीतर ही आता है।

वैकल्पिक सांख्यिकीय विधियों से तुलना

कंटीजेंसी टेबल्स में संबंधों का विश्लेषण करने के लिए अलग-अलग सांख्यिकीय परीक्षणों का उपयोग किया जाता है, जो नमूना आकार, डेटा संरचना, और अनुमानों पर निर्भर करता है:

Fisher का exact test

छोटे नमूनों और जब कुछ अपेक्षित सेल गणनाएँ कम हों, तब सर्वोत्तम। यह सटीक p-मूल्य देता है, जिससे यह अत्यंत भरोसेमंद बनता है, पर टेबल बड़े होने पर संगणनात्मक रूप से धीमा हो सकता है।

काई-स्क्वेयर परीक्षण

बड़े नमूना आकारों के लिए मानक विकल्प। यह तेज़, सामान्य और लागू करने में आसान है, लेकिन सन्निकटन पर निर्भरता के कारण अपेक्षित गणनाएँ 5 से कम होने पर यह अशुद्ध हो सकता है।

Barnard का exact test

2×2 टेबल्स में Fisher के परीक्षण का अधिक शक्तिशाली विकल्प। यह नियत मार्जिन मानकर नहीं चलता, जिससे परिणाम अधिक संवेदनशील हो सकते हैं, लेकिन यह विधि सॉफ़्टवेयर में कम व्यापक रूप से उपलब्ध है।

McNemar का परीक्षण

युग्मित या मेल किए गए श्रेणीबद्ध डेटा (जैसे, उन्हीं प्रतिभागियों में उपचार-पूर्व बनाम उपचार-पश्चात) के लिए डिज़ाइन किया गया। यह प्रेक्षणों के बीच निर्भरता का ध्यान रखता है, लेकिन तब उपयोग नहीं किया जा सकता जब डेटा बिंदु स्वतंत्र हों।

विधि

कब उपयोग करें

ताकतें

सीमाएँ

Fisher का exact test

छोटे नमूने, कम अपेक्षित गणनाएँ

सटीक p-मूल्य

रूढ़िवादी, बड़े टेबल पर धीमा

काई-स्क्वेयर परीक्षण

बड़े नमूना आकार

तेज़, व्यापक रूप से प्रयुक्त

अपेक्षित गणनाएँ < 5 होने पर पक्षपाती

Barnard का exact test

Fisher का विकल्प, अधिक शक्ति

नियत मार्जिन से बाध्य नहीं

कम प्रचलित उपलब्धता

McNemar का परीक्षण

युग्मित श्रेणीबद्ध डेटा

निर्भरताओं को संभालता है

स्वतंत्र नमूनों के लिए नहीं

संगणनात्मक विचार

Fisher के exact test के साथ प्रदर्शन चिंता का विषय हो सकता है क्योंकि 2×2 कंटीजेंसी टेबल से आगे बढ़ने पर गणनाएँ अच्छी तरह स्केल नहीं होतीं। हालाँकि Freeman–Halton विस्तार इस परीक्षण को 2×3 और 3×3 टेबल तक लागू करने की अनुमति देता है, लेकिन टेबल के आकार के साथ संगणनात्मक लागत तेज़ी से बढ़ती है। परिणामस्वरूप, अनुवांशिकी और नैदानिक अनुसंधान जैसे क्षेत्रों में कुशल एल्गोरिद्म और अनुकूलन विशेष रूप से महत्त्वपूर्ण हैं, जहाँ छोटे लेकिन जटिल डेटासेट्स पर बार-बार exact परीक्षण करने पड़ सकते हैं।

व्याख्या और सांख्यिकीय रिपोर्टिंग

Fisher के exact test के परिणामों की व्याख्या और रिपोर्टिंग करते समय, सटीक p-मूल्य शामिल करना, odds ratio को 95% confidence interval के साथ प्रदान करना, और यह स्पष्ट रूप से बताना महत्त्वपूर्ण है कि एक-पक्षीय या दो-पक्षीय परीक्षण किया गया था। पाठकों को निष्कर्षों के वास्तविक-जीवन महत्त्व को समझाने के लिए परिणामों को व्यावहारिक संदर्भ से भी समर्थित किया जाना चाहिए। उदाहरण के लिए, आप लिख सकते हैं: “Fisher के exact test ने उपचार और रिकवरी के बीच महत्त्वपूर्ण संबद्धता दिखाई (OR=11.0, p=0.02, दो-पक्षीय)।”

विस्तार और उन्नत अनुप्रयोग

Fisher के exact test के विस्तार और उन्नत अनुप्रयोग अधिक जटिल डेटा परिदृश्यों से निपटने और छोटे या विरल डेटासेट्स के साथ काम करते समय सटीकता में सुधार करने में मदद करते हैं। Freeman–Halton विस्तार इस परीक्षण को मानक 2×2 प्रारूप से परे, जैसे 2×3 या 3×3 टेबल्स पर लागू करने की अनुमति देता है। mid-P exact test Fisher के परीक्षण का कम रूढ़िवादी विकल्प प्रदान करता है, जिससे सांख्यिकीय शक्ति में सुधार होता है, जबकि विश्वसनीयता बनी रहती है। Bayesian exact tests विश्लेषण में पूर्व ज्ञान को शामिल करते हैं, जो विशेष रूप से तब उपयोगी होते हैं जब डेटा सीमित हो या जब विशेषज्ञ निर्णय निष्कर्ष का मार्गदर्शन कर सके। इसके अतिरिक्त, छोटे नमूना आकारों या शून्य गणनाओं वाले अध्ययनों में odds ratio के लिए पक्षपात-सुधार विधियाँ प्रभाव आकार के अधिक सटीक अनुमान प्रदान करती हैं, जिससे संबद्धताओं की ताकत और दिशा की बेहतर व्याख्या सुनिश्चित होती है।

सीमाएँ और कार्यप्रणाली संबंधी विचार

Fisher का exact test रूढ़िवादी हो सकता है, जिससे सांख्यिकीय शक्ति कम हो सकती है और वास्तविक प्रभावों का पता लगाना, विशेष रूप से छोटे अध्ययनों में, कठिन हो सकता है। जब डेटा अत्यंत विरल हो, तो परिणामों की व्याख्या चुनौतीपूर्ण हो सकती है क्योंकि confidence interval चौड़े हो जाते हैं और अनुमान अस्थिर हो जाते हैं। साथ ही, अनेक चरों पर बार-बार परीक्षण लागू करने से झूठी खोजों का जोखिम बढ़ता है, इसलिए बहु-परीक्षण के लिए सावधानीपूर्वक नियंत्रण आवश्यक है।

कंटीजेंसी टेबल्स का दृश्यांकन

कंटीजेंसी टेबल परिणाम प्रस्तुत करने के लिए अच्छे दृश्य विकल्पों में स्टैक्ड बार चार्ट, साइड-बाय-साइड बार चार्ट, और मोज़ेक प्लॉट शामिल हैं। ये विज़ुअल श्रेणीबद्ध चरों के बीच संबंध को स्पष्ट रूप से संप्रेषित करने में मदद करते हैं और पैटर्न या समूह अंतरों को समझना आसान बनाते हैं।

यहाँ Python का एक उदाहरण है:

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

निष्कर्ष

Fisher का exact test छोटे श्रेणीबद्ध डेटासेट्स का विश्लेषण करने के लिए स्वर्ण-मानक बना हुआ है। एक बगीचे में चाय के प्याले से जन्मा यह परीक्षण अब चिकित्सा, अनुवांशिकी, मानव-विषयक अनुसंधान, और व्यवसायिक प्रयोगों में एक महत्त्वपूर्ण और व्यापक रूप से प्रयुक्त उपकरण बन चुका है।

सीखना जारी रखने के लिए हमारे Statistics Fundamentals in Python कौशल ट्रैक में नामांकन करें, जो परिकल्पना परीक्षण के अलावा, आपको रैखिक और लॉजिस्टिक प्रतिगमन के साथ सांख्यिकीय मॉडल निर्माण का अभ्यास करने में मदद करेगा।

Vidhi Chugh

लेखक

Vidhi Chugh

मैं एक एआई रणनीतिकार और नैतिकतावादी हूं, जो डेटा साइंस, प्रोडक्ट और इंजीनियरिंग के संगम पर स्केलेबल मशीन लर्निंग सिस्टम बनाने का काम करता/करती हूं। दुनिया के "टॉप 200 बिज़नेस और टेक्नोलॉजी इनोवेटर्स" में सूचीबद्ध, मेरा लक्ष्य मशीन लर्निंग को सबके लिए सुलभ बनाना और जटिल शब्दावली को सरल करना है, ताकि हर कोई इस परिवर्तन का हिस्सा बन सके।

FAQs

Fisher का exact test काई-स्क्वेयर परीक्षण से कैसे भिन्न है?

Fisher का exact test एक सटीक प्रायिकता की गणना करता है और छोटे नमूना आकारों या कम अपेक्षित सेल गणनाओं के लिए आदर्श है, जबकि काई-स्क्वेयर परीक्षण बड़े-नमूने के सन्निकटन का उपयोग करता है जो अपेक्षित गणनाएँ 5 से कम होने पर अशुद्ध हो सकता है।

चिकित्सा अनुसंधान में Fisher के exact test के व्यावहारिक अनुप्रयोग क्या हैं?

इसे सामान्यतः उपचार की प्रभावशीलता का मूल्यांकन करने, नैदानिक परीक्षणों के परिणामों का विश्लेषण करने, रोग-संबंधों की जाँच करने, और अनुवांशिक जोखिम कारकों का अध्ययन करने के लिए उपयोग किया जाता है—विशेष रूप से तब जब रोगी नमूना आकार छोटे हों।

क्या Fisher का exact test 2×2 से बड़े कंटीजेंसी टेबल्स के लिए उपयोग किया जा सकता है?

हाँ, Fisher का exact test Freeman–Halton विस्तार जैसी विधियों का उपयोग करके बड़ी टेबल्स तक विस्तारित किया जा सकता है, हालाँकि टेबल का आकार बढ़ने के साथ गणनाएँ अधिक मांग वाली हो जाती हैं।

Fisher का exact test उपयोग करने के लिए किन अनुमानों की आवश्यकता होती है?

डेटा श्रेणीबद्ध होना चाहिए, कंटीजेंसी टेबल में व्यवस्थित, प्रेक्षण स्वतंत्र हों, और शून्य परिकल्पना के तहत पंक्ति और स्तंभ योग नियत हों।

हाइपरज्योमेट्रिक वितरण Fisher के exact test से कैसे संबंधित है?

Fisher का exact test अपनी प्रायिकता गणनाओं का आधार हाइपरज्योमेट्रिक वितरण पर रखता है, जो नियत सीमांत योगों के दिए गए किसी विशिष्ट गणनाओं की व्यवस्था को देखने की संभावना का मॉडल करता है।

विषय