क्या शापिरो-विलक सबसे अच्छा सामान्यता परीक्षण है? यह एंडरसन-डार्लिंग जैसे अन्य परीक्षणों से बेहतर क्यों हो सकता है?


24

मैंने साहित्य में कहीं पढ़ा है कि शापिरो-विल्क परीक्षण को सबसे अच्छा सामान्यता परीक्षण माना जाता है क्योंकि किसी दिए गए महत्व स्तर, , शून्य परिकल्पना को अस्वीकार करने की संभावना यदि यह झूठी है तो दूसरे के मामले की तुलना में अधिक है सामान्यता परीक्षण।α

क्या आप कृपया मुझे समझा सकते हैं, यदि संभव हो तो गणितीय तर्कों का उपयोग करते हुए, यह कुछ अन्य सामान्यता परीक्षणों की तुलना में कैसे काम करता है (एंडरसन-डार्लिंग परीक्षण कहते हैं)?


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

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

जवाबों:


17

पहले एक सामान्य टिप्पणी: ध्यान दें कि एंडरसन-डार्लिंग परीक्षण पूरी तरह से निर्दिष्ट वितरण के लिए है, जबकि शापिरो-विल्क किसी भी मतलब और विचरण वाले मानदंडों के लिए है। हालाँकि, जैसा कि डी'ऑगस्टीनो और स्टीफेंस में उल्लेख किया गया है , एंडरसन-डार्लिंग अनुमान के मामले में बहुत सुविधाजनक तरीके से अपनाता है, (लेकिन तेजी से रूपांतरित होता है और इसे एक तरह से संशोधित किया जाता है, जो इससे आसान नहीं है) कोलमोगोरोव-स्मिरनोव मामले के लिए लिलिफर्स परीक्षण)। विशेष रूप से, सामान्य पर, , के स्पर्शोन्मुख मान की तालिकाएँ। का उपयोग किया जा सकता है (n <5 के लिए फिट की अच्छाई का परीक्षण न करें)। एन= =(+ ४)[1]n=5A=A2(1+4n25n2)

मैंने साहित्य में कहीं पढ़ा है कि शापिरो-विल्क परीक्षण को सबसे अच्छा सामान्य परीक्षण माना जाता है क्योंकि किसी दिए गए महत्व स्तर, α के लिए, शून्य परिकल्पना को अस्वीकार करने की संभावना यदि यह झूठी है तो यह अन्य सामान्यता के मामले की तुलना में अधिक है। परीक्षण।

एक सामान्य कथन के रूप में यह गलत है।

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

यह विकल्प खोजना काफी आसान है जिसके तहत यह कम शक्तिशाली है।

उदाहरण के लिए, हल्के पूंछ वाले विकल्पों के खिलाफ, इसमें अक्सर छात्र की सीमा से कम शक्ति होती है (समान डेटा पर सामान्यता के परीक्षण पर उनकी तुलना करें , उदाहरण के लिए - , पर आधारित एक परीक्षण में शापिरो विलक के लिए 38% से थोड़ा अधिक की तुलना में लगभग 63% की शक्ति है)। n=30uu=max(x)min(x)sd(x)n=30u

एंडरसन-डार्लिंग (पैरामीटर अनुमान के लिए समायोजित) डबल घातीय पर बेहतर करता है। क्षण-तिरछापन कुछ तिरछा विकल्पों के खिलाफ बेहतर करता है।

क्या आप कृपया मुझे समझा सकते हैं, यदि संभव हो तो गणितीय तर्कों का उपयोग करते हुए, यह कुछ अन्य सामान्यता परीक्षणों की तुलना में कैसे काम करता है (एंडरसन-डार्लिंग परीक्षण कहते हैं)?

मैं सामान्य शब्दों में समझाऊंगा (यदि आप अधिक विशिष्ट विवरण चाहते हैं तो मूल कागजात और कुछ बाद के कागजात जो उन पर चर्चा करते हैं, वे आपके सर्वोत्तम दांव होंगे):

एक सरल लेकिन बारीकी से संबंधित परीक्षण पर विचार करें, शापिरो-फ्रांसिया; यह प्रभावी रूप से सामान्यता के तहत आदेश के आँकड़ों और अपेक्षित क्रम आँकड़ों के बीच सहसंबंध का एक कार्य है (और इस तरह, सामान्य QQ प्लॉट में "लाइन कितनी सीधी है" का एक सुंदर प्रत्यक्ष उपाय)। जैसा कि मुझे याद है, शापिरो-विल्क अधिक शक्तिशाली है क्योंकि यह QQ प्लॉट से सर्वश्रेष्ठ रैखिक अनुमानक का उत्पादन करते हुए, ऑर्डर के आँकड़ों के बीच सहसंबंधों को भी ध्यान में रखता है , जो तब द्वारा बढ़ाया जाता है । जब वितरण सामान्य से दूर होता है, तो अनुपात 1 के करीब नहीं होता है।sσs

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

शापिरो और चेन (1995) (ऑर्डर आँकड़ों के बीच स्पेसिंग के आधार पर) परीक्षण अक्सर शापिरो-विल्क (लेकिन हमेशा नहीं) की तुलना में थोड़ी अधिक शक्ति का प्रदर्शन करता है; वे अक्सर बहुत समान प्रदर्शन करते हैं।[2]

-

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

[1]: डी 'Agostino, आरबी और स्टीफंस, एमए (1986)
फ़िट तकनीक की अच्छाई ,
मार्सेल डेकर, न्यूयॉर्क।

[२]: चेन, एल। और शापिरो, एस। (१ ९९ ५)
"सामान्यीकृत वर्तनी के आधार पर सामान्यता के लिए एक वैकल्पिक परीक्षण।"
सांख्यिकीय संगणना और सिमुलेशन की पत्रिका 53 , 269-287।


मेरे सहपाठी ने मुझे बताया: "यदि नमूना आकार> 50, तो आपको कोलमोगोरोव-स्मिर्नोव का उपयोग करना चाहिए।" क्या वो सही है?
किटीगर्ल

मेरी याद करने के लिए नहीं। मूल 1965 कागज शापिरो और विल्क द्वारा केवल आवश्यक स्थिरांक (दिया ) के रैखिक अनुमान में इस्तेमाल किया के लिए अप करने के लिए लेकिन यह है कि सदी से भी अधिक आधे से एक पहले हुआ था। तब से चीजें थोड़ी बढ़ गई हैं। यहां तक ​​कि इसके बिना, शापिरो फ्रांसिया या एंडरसन-डार्लिंग (पैरामीटर अनुमान के लिए भी समायोजित) आमतौर पर बेहतर विकल्प हैं; इनमें अक्सर आम तौर पर दिलचस्प विकल्पों के मुकाबले काफी कम शक्ति होती है। ((यदि आप नमूने से माध्य और sd का अनुमान लगा रहे हैं, तो आप कल्मोगोरोव-स्मिरनोव को कड़ाई से नहीं कर रहे हैं, बल्कि एक लिलिफोरस परीक्षण कर रहे हैं) σ n 50aiσn50
Glen_b -Reinstate Monica

संक्षेप में, 1967 के बाद के कुछ वर्षों की एक संक्षिप्त अवधि थी (लिलिफ़ोर्स के काम का प्रारंभिक प्रकाशन) जहाँ यह सलाह का एक उचित हिस्सा हो सकता था, लेकिन लंबे समय से नहीं
ग्लेन_ब -इंस्टाइन मोनिका

जब नमूना आकार> 5000, shapiro.testआर में चलाने के लिए त्रुटि मिलेगी। sample size must be between 3 and 5000फिर, परीक्षण का और क्या उपयोग किया जाना चाहिए?
किटीगर्ल

1. बड़े एन में आप लगभग हमेशा किसी भी सरल वितरण मॉडल को अस्वीकार कर सकते हैं (तब भी जब यह काफी उपयुक्त सन्निकटन हो); यह कुछ और करने की सलाह दी जा सकती है (आप सामान्यता का परीक्षण क्यों कर रहे हैं?) 2. यह वास्तव में इसके बारे में "चाहिए" की बात नहीं है; परीक्षण की कोई एक अच्छाई नहीं है जो हमेशा किसी अन्य की तुलना में बेहतर हो। यह सिर्फ ऐसा होता है कि शापिरो विलक यथोचित रूप से अच्छा है। हालांकि, बड़े एन में एक उपयुक्त विकल्प शापिरो-फ्रांसिया परीक्षण है। यदि आप बड़े n पर चेन-शापिरो परीक्षण का कार्यान्वयन पा सकते हैं (यह मानते हुए कि परीक्षण करने का एक अच्छा कारण है), तो इसके बजाय विचार करें।
Glen_b -Reinstate मोनिका

12

स्पष्ट रूप से आपके द्वारा पढ़ी गई तुलना शामिल नहीं थी SnowsPenultimateNormalityTest ( http://cran.r-project.org/web/packages/TeachingDemos/TeachingDemos.pdf ) क्योंकि इसमें सभी विकल्पों में उच्चतम संभव शक्ति है। तो इसे "सर्वश्रेष्ठ" माना जाना चाहिए, यदि शक्ति एकमात्र विचार है (ध्यान दें कि मेरी राय स्पष्ट रूप से पक्षपाती है, लेकिन लिंक या दस्तावेज में प्रलेखित है)।

हालांकि, मैं निक कॉक्स की टिप्पणी से सहमत हूं कि "नॉर्मल पर्याप्त" का प्रश्न "एक्चुअली नॉर्मल" की तुलना में बहुत महत्वपूर्ण है क्योंकि सबसे अच्छा परीक्षण एक औपचारिक परीक्षण के बजाय एक साजिश है। यदि आप एक सार्थक परीक्षा चाहते हैं तो मैं इस पत्र में कार्यप्रणाली के साथ qq प्लॉट के संयोजन का सुझाव दूंगा:

बुजा, ए।, कुक, डी। हॉफमैन, एच।, लॉरेंस, एम। ली।, ई। के।, स्वेन, डीएफ और विकम, एच। (2009) सांख्यिकीय इन्वेंटरी फॉर एक्सप्लोरेटरी डेटा एनालिसिस एंड मॉडल डायग्नोस्टिक्स फिल। ट्रांस। आर। ए 2009 367, 4361-4383 डोई: 10.1098 / rsta.2009.0120

इसका एक कार्यान्वयन vis.testआर के लिए टीचिंगडेमोस पैकेज में कार्य है (उसी पैकेज के रूप में SnowsPenultimateNormalityTest)।


1
मैं भावुकता से सहमत हूं, लेकिन QQ के भूखंडों पर टकटकी लगाना एक समाधान नहीं है यदि कोई 10-20 से अधिक चर के साथ कुछ भी करना चाहता है।
एंड्रयू एम

हम सामान्य परीक्षण के अलावा QQ भूखंडों को प्रिंट करते हैं। वे अनन्य नहीं हैं, लेकिन पूरक उपकरण हैं।
अक्कल

2
@Andrew M So, 100 या 1000 या तो Shapiro-Wilk या अन्य परीक्षणों के परिणामों के माध्यम से देख रहा है कि आप क्या पसंद करते हैं? एक बार में 25 का कहना है कि QQ भूखंडों को देखना मुश्किल नहीं है। अक्सर एक झलक एक वास्तविक समस्या को देखने के लिए पर्याप्त है (शाब्दिक रूप से)।
निक कॉक्स

10

मुझे पार्टी के लिए देर हो रही है, लेकिन प्रकाशित सहकर्मी की समीक्षा के संदर्भ में जवाब देंगे। ओपी के सवाल का हां / नहीं में जवाब देने का कारण यह है कि यह अधिक जटिल है जितना कि यह प्रतीत हो सकता है। एक ऐसा परीक्षण नहीं है जो किसी भी वितरण से या बिना आउटलेर के आने वाले नमूनों के लिए सबसे शक्तिशाली होगा। आउटलेर्स गंभीर रूप से एक परीक्षण की शक्ति को कम कर सकते हैं और दूसरे के लिए बढ़ा सकते हैं। कुछ परीक्षण बेहतर काम करते हैं जब नमूना सममित वितरण आदि से आता है।

  • हेनरी सी। थोडे, सामान्यता के लिए परीक्षण , 2002 - यह इस विषय पर सबसे व्यापक पुस्तक है। अगर मुझे इसे एक सरल जवाब के लिए गूंगा करना था, तो सभी मामलों में एड की तुलना में एसडब्ल्यू अधिक शक्तिशाली नहीं है। यहाँ आपके पढ़ने के आनंद के दो अंश हैं।

खंड 7.1.5 से: शक्ति के आधार पर, परीक्षण का विकल्प सीधे उपलब्ध जानकारी या विकल्प से संबंधित मान्यताओं से संबंधित होता है। विकल्प जितना अधिक विशिष्ट होगा, परीक्षण उतना ही विशिष्ट और अधिक शक्तिशाली होगा; यह भी सबसे विश्वसनीय सिफारिशों में परिणाम होगा।

तथा

एक संयुक्त तिरछापन और परीक्षण जैसे विकल्प की एक विस्तृत श्रृंखला के खिलाफ उच्च शक्ति प्रदान करता है, जैसा कि एंडरसन-डार्लिंग । विल्क-शापिरो डब्ल्यू ने अन्य परीक्षणों की तुलना में तिरछी और छोटी पूंछ वाले सममित विकल्पों के बीच अपेक्षाकृत उच्च शक्ति दिखाई और लंबे समय से पूंछ वाले सममित विकल्पों के लिए सम्मानजनक शक्ति।2Ks2A2

  • रोमाओ, ज़ेवियर, रायमुंडो डेलगाडो और एनीबल कोस्टा। "सामान्यता के लिए अविभाज्य अच्छाई-की-फिट परीक्षणों की एक अनुभवजन्य शक्ति तुलना।" सांख्यिकीय संगणना और सिमुलेशन की पत्रिका 80.5 (2010): 545-591। यह मेरे द्वारा ज्ञात विषय पर सबसे हाल ही में प्रकाशित शोध है।

अध्ययन में विभिन्न नमूना आकारों के लिए 33 सामान्यता परीक्षणों के प्रदर्शन को संबोधित किया गया है, कई महत्व स्तरों पर विचार किया गया है और कई सममित, असममित और संशोधित सामान्य वितरणों के लिए। अध्ययन से उत्पन्न सामान्यता परीक्षण के लिए सामान्य सिफारिशें गैर-सामान्यता की प्रकृति के अनुसार परिभाषित की जाती हैं

यदि आप वास्तव में हां / ना में उनके शोध को उबालना चाहते हैं, तो इसका उत्तर हां है। एंडरसन-डार्लिंग की तुलना में शापिरो-विल्क्स परीक्षण ज्यादातर मामलों में थोड़ा अधिक शक्तिशाली लगता है। जब आप किसी विशेष वैकल्पिक वितरण को ध्यान में नहीं रखते हैं तो वे Shapiro Wilk परीक्षण की सलाह देते हैं। हालाँकि, यदि आप इस विषय में रुचि रखते हैं, तो पेपर पढ़ने लायक है। कम से कम तालिकाओं को देखो।

  • एडिथ सीनियर, नॉर्मलिटी टेस्ट: पॉवर कम्पेरिजन , इंटरनेशनल इनसाइक्लोपीडिया ऑफ स्टेटिकल साइंस, 2014 - इस विषय पर प्रकाशित शोध का एक सर्वेक्षण। फिर, उत्तर नमूना और वैकल्पिक वितरण के बारे में आपके ज्ञान पर निर्भर करता है, लेकिन तुच्छ उत्तर हां, शापिरो-विलक आमतौर पर अधिक शक्तिशाली होता है, लेकिन हमेशा नहीं।

  • हेनरी सी। थोडे, सामान्यता परीक्षण , सांख्यिकीय विज्ञान के अंतर्राष्ट्रीय विश्वकोश में, 2014 - लोकप्रिय सामान्यता परीक्षणों का विवरण। उनकी सिफारिश:

जैसा कि पहले संकेत दिया गया है, सामान्यता परीक्षणों की संख्या बड़ी है, यहां तक ​​कि उनमें से अधिकांश के लिए भी बहुत बड़ा है। कुल मिलाकर सबसे अच्छे परीक्षण पल परीक्षण, शापिरो-विलक डब्ल्यू, एंडरसन-डार्लिंग (गुडनेस-ऑफ-फिट के एंडरसन-डार्लिंग टेस्ट देखें), और जर्क-बेरा परीक्षण प्रतीत होते हैं। इन और कई अन्य सामान्यता परीक्षणों और उनकी विशेषताओं पर विशिष्ट विवरण थोडे (2002) में पाए जा सकते हैं और टी मुद्दों की सामान्य अच्छाई पर, सामान्य परीक्षण सहित, डी'ऑगस्टिनो और स्टीफेंस (1986) में।A2

अब, यह सभी एकतरफा परीक्षणों के बारे में था। थोडे (2002) में मल्टीवेरेट टेस्ट, सेंसर डेटा, सामान्य मिश्रण, आउटलेर की उपस्थिति में परीक्षण और भी बहुत कुछ है।


9

इस सवाल का और अधिक गंभीर उत्तर और विशेष रूप से @ सिल्वरफ़िश की निरंतर रुचि। इस तरह के सवालों के जवाब देने के लिए एक दृष्टिकोण तुलना करने के लिए कुछ सिमुलेशन चलाने के लिए है। नीचे कुछ आर कोड है जो विभिन्न विकल्पों के तहत डेटा का अनुकरण करता है और कई सामान्य परीक्षण करता है और शक्ति की तुलना करता है (और शक्ति पर एक विश्वास अंतराल अनुकरण के माध्यम से अनुमान लगाया गया है)। मैंने नमूना आकारों को कुछ हद तक बदल दिया क्योंकि यह दिलचस्प नहीं था जब कई शक्तियां 100% या 5% के करीब थीं, मुझे गोल संख्याएं मिलीं जिन्होंने 80% के करीब शक्तियां दीं। कोई भी इच्छुक व्यक्ति इस कोड को आसानी से ले सकता है और विभिन्न मान्यताओं, विभिन्न विकल्पों आदि के लिए इसे संशोधित कर सकता है।

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

> library(nortest)
> 
> simfun1 <- function(fun=function(n) rnorm(n), n=250) {
+   x <- fun(n)
+   c(sw=shapiro.test(x)$p.value, sf=sf.test(x)$p.value, ad=ad.test(x)$p.value,
+     cvm=cvm.test(x)$p.value, lillie=lillie.test(x)$p.value, 
+     pearson=pearson.test(x)$p.value, snow=0)
+ }
> 
> ### Test size using null hypothesis near true
> 
> out1 <- replicate(10000, simfun1())
> apply(out1, 1, function(x) mean(x<=0.05))
     sw      sf      ad     cvm  lillie pearson    snow 
 0.0490  0.0520  0.0521  0.0509  0.0531  0.0538  1.0000 
> apply(out1, 1, function(x) prop.test(sum(x<=0.05),length(x))$conf.int)  #$
             sw         sf         ad        cvm     lillie    pearson      snow
[1,] 0.04489158 0.04776981 0.04786582 0.04671398 0.04882619 0.04949870 0.9995213
[2,] 0.05345887 0.05657820 0.05668211 0.05543493 0.05772093 0.05844785 1.0000000
> 
> ### Test again with mean and sd different
> 
> out2 <- replicate(10000, simfun1(fun=function(n) rnorm(n,100,5)))
> apply(out2, 1, function(x) mean(x<=0.05))
     sw      sf      ad     cvm  lillie pearson    snow 
 0.0482  0.0513  0.0461  0.0477  0.0515  0.0506  1.0000 
> apply(out2, 1, function(x) prop.test(sum(x<=0.05),length(x))$conf.int)  #$
             sw         sf         ad        cvm     lillie    pearson      snow
[1,] 0.04412478 0.04709785 0.04211345 0.04364569 0.04728982 0.04642612 0.9995213
[2,] 0.05262633 0.05585073 0.05043938 0.05210583 0.05605860 0.05512303 1.0000000
> 
> #### now for the power under different forms of non-normality
> 
> ## heavy tails, t(3)
> rt3 <- function(n) rt(n, df=3)
> 
> out3 <- replicate(10000, simfun1(fun=rt3, n=75))
There were 50 or more warnings (use warnings() to see the first 50)
> round(apply(out3, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.788   0.831   0.756   0.726   0.624   0.440   1.000 
> round(apply(out3, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.780 0.824 0.748 0.717  0.614   0.431    1
[2,] 0.796 0.838 0.765 0.734  0.633   0.450    1
> 
> 
> ## light tails, uniform
> u <- function(n) runif(n)
> 
> out4 <- replicate(10000, simfun1(fun=u, n=65))
> round(apply(out4, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.906   0.712   0.745   0.591   0.362   0.270   1.000 
> round(apply(out4, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.900 0.703 0.737 0.581  0.353   0.261    1
[2,] 0.911 0.720 0.754 0.600  0.372   0.279    1
> 
> ## double exponential, Laplace
> de <- function(n) sample(c(-1,1), n, replace=TRUE) * rexp(n)
> 
> out5 <- replicate(10000, simfun1(fun=de, n=100))
> round(apply(out5, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.796   0.844   0.824   0.820   0.706   0.477   1.000 
> round(apply(out5, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.788 0.837 0.817 0.813  0.697   0.467    1
[2,] 0.804 0.851 0.832 0.828  0.715   0.486    1
> 
> ## skewed, gamma(2,2)
> g22 <- function(n) rgamma(n,2,2)
> 
> out6 <- replicate(10000, simfun1(fun=g22, n=50))
Warning message:
In cvm.test(x) :
  p-value is smaller than 7.37e-10, cannot be computed more accurately
> round(apply(out6, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.954   0.930   0.893   0.835   0.695   0.656   1.000 
> round(apply(out6, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.950 0.925 0.886 0.827  0.686   0.646    1
[2,] 0.958 0.935 0.899 0.842  0.704   0.665    1
> 
> ## skewed, gamma(2,2)
> g99 <- function(n) rgamma(n,9,9)
> 
> out7 <- replicate(10000, simfun1(fun=g99, n=150))
> round(apply(out7, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.844   0.818   0.724   0.651   0.526   0.286   1.000 
> round(apply(out7, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.836 0.810 0.715 0.642  0.516   0.277    1
[2,] 0.851 0.826 0.732 0.660  0.536   0.294    1
> 
> ## tails normal, middle not
> mid <- function(n) {
+   x <- rnorm(n)
+   x[ x > -0.5 & x < 0.5 ] <- 0
+   x
+ }
> 
> out9 <- replicate(10000, simfun1(fun=mid, n=30))
Warning messages:
1: In cvm.test(x) :
  p-value is smaller than 7.37e-10, cannot be computed more accurately
2: In cvm.test(x) :
  p-value is smaller than 7.37e-10, cannot be computed more accurately
> round(apply(out9, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.374   0.371   0.624   0.739   0.884   0.948   1.000 
> round(apply(out9, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.365 0.362 0.614 0.730  0.878   0.943    1
[2,] 0.384 0.381 0.633 0.747  0.890   0.952    1
> 
> ## mixture on variance
> mv <- function(n, p=0.1, sd=3) {
+   rnorm(n,0, ifelse(runif(n)<p, sd, 1))
+ }
> 
> out10 <- replicate(10000, simfun1(fun=mv, n=100))
Warning message:
In cvm.test(x) :
  p-value is smaller than 7.37e-10, cannot be computed more accurately
> round(apply(out10, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.800   0.844   0.682   0.609   0.487   0.287   1.000 
> round(apply(out10, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.792 0.837 0.673 0.599  0.477   0.278    1
[2,] 0.808 0.851 0.691 0.619  0.497   0.296    1
> 
> ## mixture on mean
> mm <- function(n, p=0.3, mu=2) {
+   rnorm(n, ifelse(runif(n)<p, mu, 0), 1)
+ }
> 
> out11 <- replicate(10000, simfun1(fun=mm, n=400))
> round(apply(out11, 1, function(x) mean(x<=0.05, na.rm=TRUE)),3)
     sw      sf      ad     cvm  lillie pearson    snow 
  0.776   0.710   0.808   0.788   0.669   0.354   1.000 
> round(apply(out11, 1, function(x){ 
+ prop.test(sum(x<=0.05,na.rm=TRUE),sum(!is.na(x)))$conf.int),3) }  #$
        sw    sf    ad   cvm lillie pearson snow
[1,] 0.768 0.701 0.801 0.780  0.659   0.344    1
[2,] 0.784 0.719 0.816 0.796  0.678   0.363    1

इस उत्तर को जोड़ने के लिए धन्यवाद, जो आपके पहले वाले के लिए एक अच्छा पूरक है। आपके अन्य उत्तर के लिए कोई असमानता नहीं थी, जो एसई पर मेरे पसंदीदा में से एक है!
सिल्वरफिश

1
मैंने कोड स्वरूपण जोड़ने के लिए और विंडो के भीतर सब कुछ फिट करने के लिए आपके कोड को संपादित करने की स्वतंत्रता ली, ग्रेग। मुझे लगता है कि इस तरह से पढ़ना आसान होगा, लेकिन अगर आपको यह पसंद नहीं है, तो इसे वापस w / my माफी के रूप में रोल करें।
गूँग - मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.