मैं समझता हूं कि एक बार जब हम एक चार्ट के रूप में मूल्यों की साजिश करते हैं, तो हम जुड़वां चोटियों का अवलोकन करके एक द्विस्तरीय वितरण की पहचान कर सकते हैं, लेकिन कोई इसे प्रोग्रामेटिक रूप से कैसे पाता है? (मैं एक एल्गोरिथ्म की तलाश में हूं।)
मैं समझता हूं कि एक बार जब हम एक चार्ट के रूप में मूल्यों की साजिश करते हैं, तो हम जुड़वां चोटियों का अवलोकन करके एक द्विस्तरीय वितरण की पहचान कर सकते हैं, लेकिन कोई इसे प्रोग्रामेटिक रूप से कैसे पाता है? (मैं एक एल्गोरिथ्म की तलाश में हूं।)
जवाबों:
एक निरंतर वितरण के लिए एक मोड की पहचान करने के लिए डेटा को चौरसाई या बायनिंग की आवश्यकता होती है।
बिनिंग आमतौर पर बहुत उपयोगी है: परिणाम अक्सर इस बात पर निर्भर करते हैं कि आप बिन कटपॉइंट्स कहां रखते हैं।
कर्नेल स्मूदी (विशेष रूप से, कर्नेल घनत्व अनुमान के रूप में ) एक अच्छा विकल्प है। हालांकि कई कर्नेल आकार संभव हैं, आमतौर पर परिणाम आकार पर बहुत निर्भर नहीं करता है। यह कर्नेल बैंडविड्थ पर निर्भर करता है। इस प्रकार, लोग या तो एक अनुकूली कर्नेल चिकनी का उपयोग करते हैंया पहचाने गए मोड की स्थिरता की जांच करने के लिए निश्चित बैंडविथ को अलग करने के लिए कर्नेल स्मूथ का एक क्रम संचालित करते हैं। हालांकि एक अनुकूली या "इष्टतम" चिकनी का उपयोग करना आकर्षक है, ध्यान रखें कि इनमें से अधिकांश (सभी?) को सटीक और औसत सटीकता के बीच संतुलन प्राप्त करने के लिए डिज़ाइन किया गया है: वे मोड के स्थान के अनुमान को अनुकूलित करने के लिए डिज़ाइन नहीं किए गए हैं।
जहां तक कार्यान्वयन जाता है, कर्नेल स्थानीय रूप से शिफ्ट हो जाते हैं और डेटा को फिट करने के लिए एक पूर्व निर्धारित फ़ंक्शन को स्केल करते हैं। बशर्ते कि यह मूल कार्य अलग-अलग हो - गॉसियन एक अच्छा विकल्प है क्योंकि आप उन्हें जितनी बार चाहें उतनी बार अंतर कर सकते हैं - फिर आपको यह करना होगा कि इसे सुचारू रूप से प्राप्त करने के लिए इसके व्युत्पन्न द्वारा प्रतिस्थापित किया जाए। फिर यह महत्वपूर्ण बिंदुओं का पता लगाने और परीक्षण करने के लिए एक मानक शून्य-खोज प्रक्रिया को लागू करने की बात है। ( ब्रेंट की विधि अच्छी तरह से काम करती है।) निश्चित रूप से आप किसी भी महत्वपूर्ण बिंदु पर स्थानीय अधिकतम - यानी एक मोड है, का त्वरित परीक्षण प्राप्त करने के लिए दूसरी व्युत्पन्न के साथ एक ही चाल कर सकते हैं।
सिल्वरमैन द्वारा एक प्रसिद्ध पेपर है जो इस मुद्दे से संबंधित है। यह कर्नेल-घनत्व आकलन को नियोजित करता है। देख
बीडब्ल्यू सिल्वरमैन, मल्टीमॉडैलिटी , जे रॉयल स्टेट की जांच के लिए कर्नेल घनत्व अनुमान का उपयोग करते हैं । समाज। बी , वॉल्यूम। 43, सं। 1, 1981, पीपी। 97-99
ध्यान दें कि पेपर की तालिकाओं में कुछ त्रुटियां हैं। यह सिर्फ एक शुरुआती बिंदु है, लेकिन एक बहुत अच्छा है। यह उपयोग करने के लिए एक अच्छी तरह से परिभाषित एल्गोरिथ्म प्रदान करता है, उस घटना में जो आप सबसे अधिक देख रहे हैं। आप Google विद्वान को ऐसे कागजात पर देख सकते हैं जो इसे और अधिक "आधुनिक" दृष्टिकोणों के लिए उद्धृत करते हैं।
मैं पार्टी के लिए देर से आया है, लेकिन अगर तुम सिर्फ है कि क्या यह बहुविध या नहीं है, जिसका अर्थ है आप मोड की संख्या में कोई दिलचस्पी नहीं कर रहे हैं में रुचि रखते हैं, तो आप को देखना चाहिए diptest ।
में R
पैकेज कहा जाता है diptest
।
विकी में परिभाषा मेरे लिए थोड़ी भ्रमित करने वाली है। एक निरंतर डेटा सेट की संभावना केवल एक मोड शून्य है। बिमोडल डिस्ट्रिब्यूटन प्रोग्राम करने का एक सरल तरीका दो अलग-अलग सामान्य वितरणों के साथ अलग-अलग केंद्रित है। यह दो चोटियों या विकी कॉल मोड बनाता है। आप वास्तव में लगभग किसी भी दो वितरणों का उपयोग कर सकते हैं, लेकिन कठिन सांख्यिकीय अवसरों में से एक यह है कि दो यादृच्छिक डेटा वितरणों के संयोजन के बाद डेटा सेट कैसे बनाया गया था।