आर में शापिरो-विल्क परीक्षण कैसे करें (उदाहरण के साथ)
शापिरो-विल्क परीक्षण सामान्यता का परीक्षण है। इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि कोई नमूना सामान्य वितरण से आता है या नहीं।
इस प्रकार का परीक्षण यह निर्धारित करने के लिए उपयोगी है कि दिया गया डेटा सेट सामान्य वितरण से आता है या नहीं, जो कि प्रतिगमन , एनोवा , टी-परीक्षण और कई अन्य सहित कई सांख्यिकीय परीक्षणों में आमतौर पर इस्तेमाल की जाने वाली धारणा है। ‘अन्य।
हम आर में निम्नलिखित अंतर्निहित फ़ंक्शन का उपयोग करके किसी दिए गए डेटासेट पर आसानी से शापिरो-विल्क परीक्षण कर सकते हैं:
शापिरो.टेस्ट(x)
सोना:
- x: डेटा मानों का एक संख्यात्मक वेक्टर।
यह फ़ंक्शन संगत पी-वैल्यू के साथ डब्ल्यू परीक्षण आँकड़ा तैयार करता है। यदि पी-मान α = 0.05 से कम है, तो यह कहने के लिए पर्याप्त सबूत हैं कि नमूना सामान्य रूप से वितरित आबादी से नहीं है।
नोट: shapiro.test() फ़ंक्शन का उपयोग करने के लिए नमूना आकार 3 और 5,000 के बीच होना चाहिए।
यह ट्यूटोरियल इस फ़ंक्शन के व्यावहारिक उपयोग के कई उदाहरण दिखाता है।
उदाहरण 1: सामान्य डेटा पर शापिरो-विल्क परीक्षण
निम्नलिखित कोड दिखाता है कि नमूना आकार n=100 वाले डेटासेट पर शापिरो-विल्क परीक्षण कैसे करें:
#make this example reproducible set.seed(0) #create dataset of 100 random values generated from a normal distribution data <- rnorm(100) #perform Shapiro-Wilk test for normality shapiro.test(data) Shapiro-Wilk normality test data:data W = 0.98957, p-value = 0.6303
परीक्षण का पी-मान 0.6303 निकला। चूँकि यह मान 0.05 से कम नहीं है, हम मान सकते हैं कि नमूना डेटा सामान्य रूप से वितरित आबादी से आता है।
यह परिणाम आश्चर्यजनक नहीं होना चाहिए क्योंकि हमने rnorm() फ़ंक्शन का उपयोग करके नमूना डेटा तैयार किया है, जो माध्य = 0 और मानक विचलन = 1 के साथ सामान्य वितरण से यादृच्छिक मान उत्पन्न करता है।
संबंधित: R में dnorm, pnorm, qnorm और rnorm के लिए एक गाइड
हम यह सत्यापित करने के लिए एक हिस्टोग्राम भी बना सकते हैं कि नमूना डेटा सामान्य रूप से वितरित किया गया है:
hist(data, col=' steelblue ')
हम देख सकते हैं कि वितरण काफी घंटी के आकार का है और वितरण के केंद्र में एक शिखर है, जो सामान्य रूप से वितरित डेटा का विशिष्ट है।
उदाहरण 2: गैर-सामान्य डेटा पर शापिरो-विल्क परीक्षण
निम्नलिखित कोड दिखाता है कि नमूना आकार n=100 वाले डेटासेट पर शापिरो-विल्क परीक्षण कैसे किया जाए जिसमें मान पॉइसन वितरण से यादृच्छिक रूप से उत्पन्न होते हैं:
#make this example reproducible set.seed(0) #create dataset of 100 random values generated from a Poisson distribution data <- rpois(n=100, lambda=3) #perform Shapiro-Wilk test for normality shapiro.test(data) Shapiro-Wilk normality test data:data W = 0.94397, p-value = 0.0003393
परीक्षण का पी-मान 0.0003393 निकला। चूँकि यह मान 0.05 से कम है, हमारे पास यह कहने के लिए पर्याप्त सबूत हैं कि नमूना डेटा सामान्य रूप से वितरित आबादी से नहीं आता है।
यह परिणाम आश्चर्यजनक नहीं होना चाहिए क्योंकि हमने rpois() फ़ंक्शन का उपयोग करके नमूना डेटा तैयार किया है, जो पॉइसन वितरण से यादृच्छिक मान उत्पन्न करता है।
संबंधित: R में dpois, ppois, qpois और rpois के लिए एक मार्गदर्शिका
हम यह देखने के लिए एक हिस्टोग्राम भी तैयार कर सकते हैं कि नमूना डेटा सामान्य रूप से वितरित नहीं है:
hist(data, col=' coral2 ')
हम देख सकते हैं कि वितरण दाएं-तिरछा है और इसमें सामान्य वितरण से जुड़ा विशिष्ट “घंटी आकार” नहीं है। इस प्रकार, हमारा हिस्टोग्राम शापिरो-विल्क परीक्षण के परिणामों से मेल खाता है और पुष्टि करता है कि हमारा नमूना डेटा सामान्य वितरण से नहीं आता है।
गैर-सामान्य डेटा का क्या करें
यदि कोई दिया गया डेटा सेट सामान्य रूप से वितरित नहीं है , तो हम इसे अधिक सामान्य बनाने के लिए अक्सर निम्नलिखित परिवर्तनों में से एक कर सकते हैं:
1. लॉग परिवर्तन: प्रतिक्रिया चर को y से log(y) में बदलें।
2. वर्गमूल परिवर्तन: प्रतिक्रिया चर को y से √y में बदलें।
3. घनमूल परिवर्तन: प्रतिक्रिया चर को y से y 1/3 में बदलें।
इन परिवर्तनों को निष्पादित करके, प्रतिक्रिया चर आम तौर पर सामान्य वितरण का अनुमान लगाता है।
इन परिवर्तनों को व्यवहार में कैसे लाया जाए यह देखने के लिए इस ट्यूटोरियल को देखें।
अतिरिक्त संसाधन
आर में एंडरसन-डार्लिंग परीक्षण कैसे करें
आर में कोलमोगोरोव-स्मिरनोव परीक्षण कैसे करें
पायथन में शापिरो-विल्क परीक्षण कैसे करें