पायथन में टू-वे एनोवा कैसे निष्पादित करें
दो-तरफा एनोवा का उपयोग यह निर्धारित करने के लिए किया जाता है कि दो कारकों में विभाजित तीन या अधिक स्वतंत्र समूहों के साधनों के बीच सांख्यिकीय रूप से महत्वपूर्ण अंतर है या नहीं।
दो-तरफा एनोवा का उद्देश्य एक प्रतिक्रिया चर पर दो कारकों के प्रभाव को निर्धारित करना है और यह निर्धारित करना है कि प्रतिक्रिया चर पर दो कारकों के बीच कोई बातचीत है या नहीं।
यह ट्यूटोरियल बताता है कि पायथन में दो-तरफ़ा एनोवा कैसे निष्पादित करें।
उदाहरण: पायथन में दो-तरफा एनोवा
एक वनस्पतिशास्त्री जानना चाहता है कि क्या पौधे की वृद्धि सूर्य के प्रकाश के संपर्क और पानी देने की आवृत्ति से प्रभावित होती है। वह 30 बीज लगाती है और उन्हें सूरज के संपर्क और पानी देने की आवृत्ति की विभिन्न स्थितियों में दो महीने तक बढ़ने देती है। दो महीने के बाद, वह प्रत्येक पौधे की ऊंचाई इंच में दर्ज करती है।
यह निर्धारित करने के लिए कि क्या पानी देने की आवृत्ति और सूर्य के संपर्क का पौधों की वृद्धि पर महत्वपूर्ण प्रभाव पड़ता है, और यह निर्धारित करने के लिए कि क्या पानी की आवृत्ति और सूर्य के संपर्क के बीच कोई परस्पर प्रभाव है, दो-तरफ़ा एनोवा निष्पादित करने के लिए निम्नलिखित चरणों का उपयोग करें। पानी देना और सूरज के संपर्क में आना।
चरण 1: डेटा दर्ज करें.
सबसे पहले, हम एक पांडा डेटाफ़्रेम बनाएंगे जिसमें निम्नलिखित तीन चर होंगे:
- पानी: प्रत्येक पौधे को कितनी बार पानी दिया गया: दैनिक या साप्ताहिक
- सूर्य: प्रत्येक पौधे को प्राप्त सूर्य के प्रकाश की मात्रा: निम्न, मध्यम या उच्च
- ऊँचाई: दो महीने के बाद प्रत्येक पौधे की ऊँचाई (इंच में)।
import numpy as np import pandas as pd #create data df = pd.DataFrame({'water': np.repeat(['daily', 'weekly'], 15), 'sun': np.tile(np.repeat(['low', 'med', 'high'], 5), 2), 'height': [6, 6, 6, 5, 6, 5, 5, 6, 4, 5, 6, 6, 7, 8, 7, 3, 4, 4, 4, 5, 4, 4, 4, 4, 4, 5, 6, 6, 7, 8]}) #view first ten rows of data df[:10] water sun height 0 daily low 6 1 daily low 6 2 daily low 6 3 daily low 5 4 daily low 6 5 daily med 5 6 daily med 5 7 daily med 6 8 daily med 4 9 daily med 5
चरण 2: दो-तरफ़ा एनोवा निष्पादित करें।
इसके बाद, हम statsmodels लाइब्रेरी से anova_lm() फ़ंक्शन का उपयोग करके दो-तरफ़ा ANOVA निष्पादित करेंगे:
import statsmodels.api as sm from statsmodels.formula.api import ols #perform two-way ANOVA model = ols('height ~ C(water) + C(sun) + C(water):C(sun)', data=df).fit() sm.stats.anova_lm(model, typ=2) sum_sq df F PR(>F) C(water) 8.533333 1.0 16.0000 0.000527 C(sun) 24.866667 2.0 23.3125 0.000002 C(water):C(sun) 2.466667 2.0 2.3125 0.120667 Residual 12.800000 24.0 NaN NaN
चरण 3: परिणामों की व्याख्या करें।
हम तालिका में प्रत्येक कारक के लिए निम्नलिखित पी-मान देख सकते हैं:
- पानी: पी-मान = 0.000527
- सूर्य: पी-मान = 0.0000002
- जल*सूर्य: पी-मान = 0.120667
चूँकि पानी और सूरज दोनों के लिए पी-वैल्यू 0.05 से कम है, इसका मतलब है कि दोनों कारकों का पौधे की ऊंचाई पर सांख्यिकीय रूप से महत्वपूर्ण प्रभाव पड़ता है।
और चूँकि अंतःक्रिया प्रभाव (0.120667) के लिए पी-मान 0.05 से कम नहीं है, यह हमें बताता है कि सूर्य के संपर्क और पानी की आवृत्ति के बीच कोई महत्वपूर्ण अंतःक्रिया प्रभाव नहीं है।
ध्यान दें: हालांकि एनोवा के परिणाम हमें बताते हैं कि पानी देने की आवृत्ति और सूर्य के संपर्क का पौधे की ऊंचाई पर सांख्यिकीय रूप से महत्वपूर्ण प्रभाव पड़ता है, हमें यह निर्धारित करने के लिए पोस्ट-हॉक परीक्षण करने की आवश्यकता होगी कि पानी और सूरज की रोशनी के विभिन्न स्तर पौधे की ऊंचाई को कैसे प्रभावित करते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य कार्य कैसे करें:
पायथन में वन-वे एनोवा कैसे निष्पादित करें
पायथन में थ्री-वे एनोवा कैसे निष्पादित करें