पाइथन में सांख्यिकीय परिकल्पना परीक्षण में महारत हासिल करें। यह मार्गदर्शिका डेटा साइंस के लिए अवधारणाओं, विधियों और व्यावहारिक अनुप्रयोगों को शामिल करती है।
पाइथन डेटा साइंस: सांख्यिकीय परिकल्पना परीक्षण के लिए एक व्यापक मार्गदर्शिका
सांख्यिकीय परिकल्पना परीक्षण डेटा विज्ञान का एक महत्वपूर्ण पहलू है, जो हमें डेटा के आधार पर सूचित निर्णय लेने की अनुमति देता है। यह सबूतों का मूल्यांकन करने और यह निर्धारित करने के लिए एक ढांचा प्रदान करता है कि आबादी के बारे में कोई दावा सच होने की संभावना है या नहीं। यह व्यापक मार्गदर्शिका पाइथन का उपयोग करके सांख्यिकीय परिकल्पना परीक्षण की मुख्य अवधारणाओं, विधियों और व्यावहारिक अनुप्रयोगों का पता लगाएगी।
सांख्यिकीय परिकल्पना परीक्षण क्या है?
अपने मूल में, परिकल्पना परीक्षण आबादी के बारे में दावे का मूल्यांकन करने के लिए नमूना डेटा का उपयोग करने की एक प्रक्रिया है। इसमें दो प्रतिस्पर्धी परिकल्पनाओं का निर्माण शामिल है: शून्य परिकल्पना (H0) और वैकल्पिक परिकल्पना (H1)।
- शून्य परिकल्पना (H0): यह वह कथन है जिसका परीक्षण किया जा रहा है। यह आमतौर पर यथास्थिति या प्रभाव की कमी का प्रतिनिधित्व करता है। उदाहरण के लिए, "पुरुषों और महिलाओं की औसत ऊंचाई समान है।"
- वैकल्पिक परिकल्पना (H1): यह वह कथन है जिसका समर्थन करने के लिए हम साक्ष्य खोजने की कोशिश कर रहे हैं। यह शून्य परिकल्पना का खंडन करता है। उदाहरण के लिए, "पुरुषों और महिलाओं की औसत ऊंचाई अलग है।"
परिकल्पना परीक्षण का लक्ष्य यह निर्धारित करना है कि वैकल्पिक परिकल्पना के पक्ष में शून्य परिकल्पना को अस्वीकार करने के लिए पर्याप्त सबूत हैं या नहीं।
परिकल्पना परीक्षण में मुख्य अवधारणाएँ
निम्नलिखित अवधारणाओं को समझना परिकल्पना परीक्षण करने और उसकी व्याख्या करने के लिए आवश्यक है:
पी-मान
पी-मान नमूना डेटा से गणना किए गए एक परीक्षण आँकड़े को शून्य परिकल्पना को सही मानते हुए, जितना चरम या उससे अधिक चरम अवलोकन की संभावना है। एक छोटा पी-मान (आमतौर पर महत्व स्तर, अल्फा से कम) शून्य परिकल्पना के खिलाफ मजबूत सबूत का सुझाव देता है।
महत्व स्तर (अल्फा)
महत्व स्तर (α) एक पूर्वनिर्धारित सीमा है जो शून्य परिकल्पना को अस्वीकार करने के लिए आवश्यक सबूत की मात्रा को परिभाषित करती है। अल्फा के लिए आमतौर पर उपयोग किए जाने वाले मान 0.05 (5%) और 0.01 (1%) हैं। यदि पी-मान अल्फा से कम है, तो हम शून्य परिकल्पना को अस्वीकार करते हैं।
टाइप I और टाइप II त्रुटियाँ
परिकल्पना परीक्षण में, दो प्रकार की त्रुटियाँ हैं जो हम कर सकते हैं:
- टाइप I त्रुटि (गलत सकारात्मक): शून्य परिकल्पना को अस्वीकार करना जब यह वास्तव में सत्य है। टाइप I त्रुटि करने की संभावना अल्फा (α) के बराबर है।
- टाइप II त्रुटि (गलत नकारात्मक): शून्य परिकल्पना को अस्वीकार करने में विफल रहना जब यह वास्तव में गलत है। टाइप II त्रुटि करने की संभावना को बीटा (β) द्वारा दर्शाया गया है।
एक परीक्षण की शक्ति
एक परीक्षण की शक्ति शून्य परिकल्पना को सही ढंग से अस्वीकार करने की संभावना है जब यह गलत हो (1 - β)। एक उच्च-शक्ति परीक्षण एक वास्तविक प्रभाव का पता लगाने की अधिक संभावना है।
परीक्षण आँकड़ा
एक परीक्षण आँकड़ा नमूना डेटा से गणना की गई एक एकल संख्या है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि शून्य परिकल्पना को अस्वीकार करना है या नहीं। उदाहरणों में टी-आँकड़ा, जेड-आँकड़ा, एफ-आँकड़ा और ची-स्क्वायर आँकड़ा शामिल हैं। परीक्षण आँकड़े का चुनाव डेटा के प्रकार और परीक्षण की जा रही परिकल्पना पर निर्भर करता है।
आत्मविश्वास अंतराल
एक आत्मविश्वास अंतराल मानों की एक सीमा प्रदान करता है जिसके भीतर वास्तविक जनसंख्या पैरामीटर के कुछ स्तर के आत्मविश्वास (जैसे, 95% आत्मविश्वास) के साथ गिरने की संभावना है। आत्मविश्वास अंतराल परिकल्पना परीक्षण से संबंधित हैं; यदि शून्य परिकल्पना मान आत्मविश्वास अंतराल के बाहर आता है, तो हम शून्य परिकल्पना को अस्वीकार कर देंगे।
पाइथन में सामान्य परिकल्पना परीक्षण
पाइथन का scipy.stats मॉड्यूल सांख्यिकीय परिकल्पना परीक्षण करने के लिए कार्यों की एक विस्तृत श्रृंखला प्रदान करता है। यहां कुछ सबसे अधिक इस्तेमाल किए जाने वाले परीक्षण दिए गए हैं:
1. टी-टेस्ट
टी-टेस्ट का उपयोग एक या दो समूहों के माध्य की तुलना करने के लिए किया जाता है। टी-टेस्ट के तीन मुख्य प्रकार हैं:
- एक-नमूना टी-टेस्ट: एक ज्ञात जनसंख्या माध्य के लिए एक एकल नमूने के माध्य की तुलना करने के लिए उपयोग किया जाता है।
- स्वतंत्र नमूना टी-टेस्ट (दो-नमूना टी-टेस्ट): दो स्वतंत्र समूहों के माध्य की तुलना करने के लिए उपयोग किया जाता है। यह परीक्षण मानता है कि दो समूहों के प्रसरण बराबर हैं (या उन्हें समायोजित किया जा सकता है यदि वे नहीं हैं)।
- युग्मित नमूना टी-टेस्ट: दो संबंधित समूहों के माध्य की तुलना करने के लिए उपयोग किया जाता है (उदाहरण के लिए, एक ही विषयों पर माप से पहले और बाद में)।
उदाहरण (एक-नमूना टी-टेस्ट):
मान लीजिए कि हम यह परीक्षण करना चाहते हैं कि जापान के एक विशेष स्कूल के छात्रों का औसत परीक्षा स्कोर राष्ट्रीय औसत (75) से काफी अलग है या नहीं। हम 30 छात्रों के परीक्षा अंकों का एक नमूना एकत्र करते हैं।
```python import numpy as np from scipy import stats # नमूना डेटा (परीक्षा अंक) scores = np.array([82, 78, 85, 90, 72, 76, 88, 80, 79, 83, 86, 74, 77, 81, 84, 89, 73, 75, 87, 91, 71, 70, 92, 68, 93, 95, 67, 69, 94, 96]) # जनसंख्या माध्य population_mean = 75 # एक-नमूना टी-टेस्ट करें t_statistic, p_value = stats.ttest_1samp(scores, population_mean) print("टी-आँकड़ा:", t_statistic) print("पी-वैल्यू:", p_value) # जांचें कि पी-वैल्यू अल्फा से कम है या नहीं (उदाहरण के लिए, 0.05) alpha = 0.05 if p_value < alpha: print("शून्य परिकल्पना को अस्वीकार करें") else: print("शून्य परिकल्पना को अस्वीकार करने में विफल") ```उदाहरण (स्वतंत्र नमूना टी-टेस्ट):
मान लीजिए कि हम दो अलग-अलग देशों (कनाडा और ऑस्ट्रेलिया) में सॉफ्टवेयर इंजीनियरों की औसत आय की तुलना करना चाहते हैं। हम प्रत्येक देश में सॉफ्टवेयर इंजीनियरों के नमूनों से आय डेटा एकत्र करते हैं।
```python import numpy as np from scipy import stats # कनाडा में सॉफ्टवेयर इंजीनियरों के लिए आय डेटा (हजारों डॉलर में) canada_income = np.array([80, 85, 90, 95, 100, 105, 110, 115, 120, 125]) # ऑस्ट्रेलिया में सॉफ्टवेयर इंजीनियरों के लिए आय डेटा (हजारों डॉलर में) australia_income = np.array([75, 80, 85, 90, 95, 100, 105, 110, 115, 120]) # स्वतंत्र नमूना टी-टेस्ट करें t_statistic, p_value = stats.ttest_ind(canada_income, australia_income) print("टी-आँकड़ा:", t_statistic) print("पी-वैल्यू:", p_value) # जांचें कि पी-वैल्यू अल्फा से कम है या नहीं (उदाहरण के लिए, 0.05) alpha = 0.05 if p_value < alpha: print("शून्य परिकल्पना को अस्वीकार करें") else: print("शून्य परिकल्पना को अस्वीकार करने में विफल") ```उदाहरण (युग्मित नमूना टी-टेस्ट):
मान लीजिए कि जर्मनी की एक कंपनी एक नया प्रशिक्षण कार्यक्रम लागू करती है और देखना चाहती है कि क्या यह कर्मचारी के प्रदर्शन में सुधार करता है। वे प्रशिक्षण कार्यक्रम से पहले और बाद में कर्मचारियों के प्रदर्शन को मापते हैं।
```python import numpy as np from scipy import stats # प्रशिक्षण से पहले प्रदर्शन डेटा before_training = np.array([60, 65, 70, 75, 80, 85, 90, 95, 100, 105]) # प्रशिक्षण के बाद प्रदर्शन डेटा after_training = np.array([70, 75, 80, 85, 90, 95, 100, 105, 110, 115]) # युग्मित नमूना टी-टेस्ट करें t_statistic, p_value = stats.ttest_rel(after_training, before_training) print("टी-आँकड़ा:", t_statistic) print("पी-वैल्यू:", p_value) # जांचें कि पी-वैल्यू अल्फा से कम है या नहीं (उदाहरण के लिए, 0.05) alpha = 0.05 if p_value < alpha: print("शून्य परिकल्पना को अस्वीकार करें") else: print("शून्य परिकल्पना को अस्वीकार करने में विफल") ```2. जेड-टेस्ट
जेड-टेस्ट का उपयोग एक या दो समूहों के माध्य की तुलना करने के लिए किया जाता है जब जनसंख्या मानक विचलन ज्ञात होता है या जब नमूना आकार पर्याप्त रूप से बड़ा होता है (आमतौर पर n > 30)। टी-टेस्ट के समान, एक-नमूना और दो-नमूना जेड-टेस्ट हैं।
उदाहरण (एक-नमूना जेड-टेस्ट):
वियतनाम में लाइट बल्ब बनाने वाली एक फैक्ट्री का दावा है कि उनके लाइट बल्ब का औसत जीवनकाल 1000 घंटे का है, जिसमें 50 घंटे का ज्ञात मानक विचलन है। एक उपभोक्ता समूह 40 लाइट बल्ब का एक नमूना परीक्षण करता है।
```python import numpy as np from scipy import stats from statsmodels.stats.weightstats import ztest # नमूना डेटा (लाइट बल्ब का जीवनकाल) lifespan = np.array([980, 1020, 990, 1010, 970, 1030, 1000, 960, 1040, 950, 1050, 940, 1060, 930, 1070, 920, 1080, 910, 1090, 900, 1100, 995, 1005, 985, 1015, 975, 1025, 1005, 955, 1045, 945, 1055, 935, 1065, 925, 1075, 915, 1085, 895, 1095]) # जनसंख्या माध्य और मानक विचलन population_mean = 1000 population_std = 50 # एक-नमूना जेड-टेस्ट करें z_statistic, p_value = ztest(lifespan, value=population_mean) print("जेड-आँकड़ा:", z_statistic) print("पी-वैल्यू:", p_value) # जांचें कि पी-वैल्यू अल्फा से कम है या नहीं (उदाहरण के लिए, 0.05) alpha = 0.05 if p_value < alpha: print("शून्य परिकल्पना को अस्वीकार करें") else: print("शून्य परिकल्पना को अस्वीकार करने में विफल") ```3. अनोवा (विचरण का विश्लेषण)
अनोवा का उपयोग तीन या अधिक समूहों के माध्य की तुलना करने के लिए किया जाता है। यह परीक्षण करता है कि समूह माध्य के बीच कोई महत्वपूर्ण अंतर है या नहीं। अनोवा के विभिन्न प्रकार हैं, जिनमें एक-तरफा अनोवा और दो-तरफा अनोवा शामिल हैं।
उदाहरण (एक-तरफा अनोवा):
ब्राजील की एक मार्केटिंग कंपनी यह परीक्षण करना चाहती है कि क्या तीन अलग-अलग विज्ञापन अभियानों का बिक्री पर महत्वपूर्ण प्रभाव पड़ता है। वे प्रत्येक अभियान द्वारा उत्पन्न बिक्री को मापते हैं।
```python import numpy as np from scipy import stats # प्रत्येक अभियान के लिए बिक्री डेटा campaign_A = np.array([100, 110, 120, 130, 140]) campaign_B = np.array([110, 120, 130, 140, 150]) campaign_C = np.array([120, 130, 140, 150, 160]) # एक-तरफा अनोवा करें f_statistic, p_value = stats.f_oneway(campaign_A, campaign_B, campaign_C) print("एफ-आँकड़ा:", f_statistic) print("पी-वैल्यू:", p_value) # जांचें कि पी-वैल्यू अल्फा से कम है या नहीं (उदाहरण के लिए, 0.05) alpha = 0.05 if p_value < alpha: print("शून्य परिकल्पना को अस्वीकार करें") else: print("शून्य परिकल्पना को अस्वीकार करें") ```4. ची-स्क्वायर परीक्षण
ची-स्क्वायर परीक्षण का उपयोग श्रेणीबद्ध डेटा का विश्लेषण करने के लिए किया जाता है। यह परीक्षण करता है कि क्या दो श्रेणीबद्ध चरों के बीच कोई महत्वपूर्ण संबंध है।
उदाहरण (ची-स्क्वायर परीक्षण):
दक्षिण अफ्रीका में एक सर्वेक्षण लोगों से उनकी राजनीतिक संबद्धता (डेमोक्रेट, रिपब्लिकन, स्वतंत्र) और एक विशेष नीति (समर्थन, विरोध, तटस्थ) पर उनकी राय पूछता है। हम यह देखना चाहते हैं कि क्या राजनीतिक संबद्धता और नीति पर राय के बीच कोई संबंध है।
```python import numpy as np from scipy.stats import chi2_contingency # अवलोकित आवृत्तियाँ (आकस्मिकता तालिका) observed = np.array([[50, 30, 20], [20, 40, 40], [30, 30, 40]]) # ची-स्क्वायर परीक्षण करें chi2_statistic, p_value, dof, expected = chi2_contingency(observed) print("ची-स्क्वायर आँकड़ा:", chi2_statistic) print("पी-वैल्यू:", p_value) print("स्वतंत्रता की डिग्री:", dof) print("अपेक्षित आवृत्तियाँ:", expected) # जांचें कि पी-वैल्यू अल्फा से कम है या नहीं (उदाहरण के लिए, 0.05) alpha = 0.05 if p_value < alpha: print("शून्य परिकल्पना को अस्वीकार करें") else: print("शून्य परिकल्पना को अस्वीकार करने में विफल") ```व्यावहारिक विचार
1. परिकल्पना परीक्षण की धारणाएँ
कई परिकल्पना परीक्षणों में विशिष्ट धारणाएँ होती हैं जिन्हें परिणामों के मान्य होने के लिए पूरा किया जाना चाहिए। उदाहरण के लिए, टी-टेस्ट और अनोवा अक्सर मानते हैं कि डेटा सामान्य रूप से वितरित है और समान प्रसरण हैं। परीक्षणों के परिणामों की व्याख्या करने से पहले इन धारणाओं की जांच करना महत्वपूर्ण है। इन धारणाओं का उल्लंघन गलत निष्कर्षों का कारण बन सकता है।
2. नमूना आकार और शक्ति विश्लेषण
नमूना आकार एक परिकल्पना परीक्षण की शक्ति में महत्वपूर्ण भूमिका निभाता है। एक बड़ा नमूना आकार आम तौर पर परीक्षण की शक्ति को बढ़ाता है, जिससे एक सच्चे प्रभाव का पता लगाने की अधिक संभावना होती है। पावर विश्लेषण का उपयोग वांछित स्तर की शक्ति प्राप्त करने के लिए आवश्यक न्यूनतम नमूना आकार निर्धारित करने के लिए किया जा सकता है।
उदाहरण (पावर विश्लेषण):
मान लीजिए कि हम एक टी-टेस्ट की योजना बना रहे हैं और 5% के महत्व स्तर के साथ 80% की शक्ति प्राप्त करने के लिए आवश्यक नमूना आकार निर्धारित करना चाहते हैं। हमें प्रभाव आकार (उन साधनों के बीच का अंतर जिसे हम पता लगाना चाहते हैं) और मानक विचलन का अनुमान लगाने की आवश्यकता है।
```python from statsmodels.stats.power import TTestIndPower # पैरामीटर effect_size = 0.5 # Cohen's d alpha = 0.05 power = 0.8 # पावर विश्लेषण करें analysis = TTestIndPower() sample_size = analysis.solve_power(effect_size=effect_size, power=power, alpha=alpha, ratio=1) print("प्रति समूह आवश्यक नमूना आकार:", sample_size) ```3. एकाधिक परीक्षण
एकाधिक परिकल्पना परीक्षण करते समय, टाइप I त्रुटि (गलत सकारात्मक) करने की संभावना बढ़ जाती है। इस मुद्दे को हल करने के लिए, पी-मानों को समायोजित करने के लिए विधियों का उपयोग करना महत्वपूर्ण है, जैसे कि बोनफेरोनी सुधार या बेंजामिनी-हॉकबर्ग प्रक्रिया।
4. संदर्भ में परिणामों की व्याख्या
परिकल्पना परीक्षणों के परिणामों की अनुसंधान प्रश्न और विश्लेषण किए जा रहे डेटा के संदर्भ में व्याख्या करना महत्वपूर्ण है। एक सांख्यिकीय रूप से महत्वपूर्ण परिणाम जरूरी नहीं कि व्यावहारिक महत्व का संकेत दे। प्रभाव के परिमाण और इसके वास्तविक दुनिया के निहितार्थ पर विचार करें।
उन्नत विषय
1. बेयसियन परिकल्पना परीक्षण
बेयसियन परिकल्पना परीक्षण पारंपरिक (अक्सरवादी) परिकल्पना परीक्षण के लिए एक वैकल्पिक दृष्टिकोण प्रदान करता है। इसमें बेयस कारक की गणना शामिल है, जो एक परिकल्पना पर दूसरी परिकल्पना पर साक्ष्य की मात्रा निर्धारित करता है।
2. गैर-पैरामीट्रिक परीक्षण
गैर-पैरामीट्रिक परीक्षणों का उपयोग तब किया जाता है जब पैरामीट्रिक परीक्षणों की धारणाएँ (जैसे, सामान्यता) पूरी नहीं होती हैं। उदाहरणों में मैन-व्हिटनी यू टेस्ट, विल्कोक्सन हस्ताक्षरित-रैंक टेस्ट और क्रुस्कल-वालिस टेस्ट शामिल हैं।
3. पुनः नमूनाकरण विधियाँ (बूटस्ट्रैपिंग और क्रमपरिवर्तन परीक्षण)
पुनः नमूनाकरण विधियाँ, जैसे बूटस्ट्रैपिंग और क्रमपरिवर्तन परीक्षण, अंतर्निहित जनसंख्या वितरण के बारे में मजबूत धारणाएँ बनाए बिना एक परीक्षण आँकड़े के नमूनाकरण वितरण का अनुमान लगाने का एक तरीका प्रदान करती हैं।
निष्कर्ष
सांख्यिकीय परिकल्पना परीक्षण विज्ञान, व्यवसाय और इंजीनियरिंग सहित विभिन्न क्षेत्रों में डेटा-संचालित निर्णय लेने के लिए एक शक्तिशाली उपकरण है। मुख्य अवधारणाओं, विधियों और व्यावहारिक विचारों को समझकर, डेटा वैज्ञानिक डेटा से अंतर्दृष्टि प्राप्त करने और सार्थक निष्कर्ष निकालने के लिए प्रभावी ढंग से परिकल्पना परीक्षण का उपयोग कर सकते हैं। पाइथन का scipy.stats मॉड्यूल परिकल्पना परीक्षणों की एक विस्तृत श्रृंखला करने के लिए कार्यों का एक व्यापक सेट प्रदान करता है। प्रत्येक परीक्षण की धारणाओं, नमूना आकार और एकाधिक परीक्षण की संभावना पर सावधानीपूर्वक विचार करना और अनुसंधान प्रश्न के संदर्भ में परिणामों की व्याख्या करना याद रखें। यह मार्गदर्शिका आपको वास्तविक दुनिया की समस्याओं के लिए इन शक्तिशाली विधियों को लागू करना शुरू करने के लिए एक ठोस नींव प्रदान करती है। अपनी समझ को गहरा करने और अपने डेटा विज्ञान कौशल को बढ़ाने के लिए विभिन्न परीक्षणों और तकनीकों के साथ अन्वेषण और प्रयोग करना जारी रखें।
आगे सीखना:
- सांख्यिकी और डेटा विज्ञान पर ऑनलाइन पाठ्यक्रम (उदाहरण के लिए, Coursera, edX, DataCamp)
- सांख्यिकीय पाठ्यपुस्तकें
- पाइथन के
scipy.statsमॉड्यूल के लिए दस्तावेज़ - विशिष्ट परिकल्पना परीक्षण तकनीकों पर शोध पत्र और लेख