बिमोडल वितरण की पहचान कैसे करें?


48

मैं समझता हूं कि एक बार जब हम एक चार्ट के रूप में मूल्यों की साजिश करते हैं, तो हम जुड़वां चोटियों का अवलोकन करके एक द्विस्तरीय वितरण की पहचान कर सकते हैं, लेकिन कोई इसे प्रोग्रामेटिक रूप से कैसे पाता है? (मैं एक एल्गोरिथ्म की तलाश में हूं।)


5
गूढ़ प्रश्न। मुझे पता है कि इसके बारे में कुछ नहीं पता है, इसलिए जवाब देने का प्रयास नहीं किया जाएगा, लेकिन गमगीनता + परीक्षण बहुत कुछ आशाजनक सुराग देता है। google.co.uk/search?q=bimodality+test
onestop

मल्टीमॉडलिटी के परीक्षण के लिए एक प्रोग्राम कोड www.estima.com पर उपलब्ध है और इसे MODES.SRC कहा जाता है। आप इसे आसानी से मतलाब, आर या अन्य सॉफ्टवेयर्स में बदल सकते हैं। सादर, गाईडू

1
आप मोड की संख्या की पहचान नहीं कर सकते हैं (वितरण की छोटी विगलों की संख्या की कोई सीमा नहीं है), लेकिन आप कम सीमा प्राप्त कर सकते हैं। उदाहरण के लिए यहाँ देखें projecteuclid.org/euclid.aos/117635101045
Glen_b

जवाबों:


27

एक निरंतर वितरण के लिए एक मोड की पहचान करने के लिए डेटा को चौरसाई या बायनिंग की आवश्यकता होती है।

बिनिंग आमतौर पर बहुत उपयोगी है: परिणाम अक्सर इस बात पर निर्भर करते हैं कि आप बिन कटपॉइंट्स कहां रखते हैं।

कर्नेल स्मूदी (विशेष रूप से, कर्नेल घनत्व अनुमान के रूप में ) एक अच्छा विकल्प है। हालांकि कई कर्नेल आकार संभव हैं, आमतौर पर परिणाम आकार पर बहुत निर्भर नहीं करता है। यह कर्नेल बैंडविड्थ पर निर्भर करता है। इस प्रकार, लोग या तो एक अनुकूली कर्नेल चिकनी का उपयोग करते हैंया पहचाने गए मोड की स्थिरता की जांच करने के लिए निश्चित बैंडविथ को अलग करने के लिए कर्नेल स्मूथ का एक क्रम संचालित करते हैं। हालांकि एक अनुकूली या "इष्टतम" चिकनी का उपयोग करना आकर्षक है, ध्यान रखें कि इनमें से अधिकांश (सभी?) को सटीक और औसत सटीकता के बीच संतुलन प्राप्त करने के लिए डिज़ाइन किया गया है: वे मोड के स्थान के अनुमान को अनुकूलित करने के लिए डिज़ाइन नहीं किए गए हैं।

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


2
@venkasub, आप मूल-खोज के लिए मुलर की विधि को भी देख सकते हैं। यह ब्रेंट की विधि की तुलना में सरल है और "लगभग" न्यूटन की विधि के रूप में कुशल है, लेकिन लक्ष्य फ़ंक्शन के डेरिवेटिव को जानने की आवश्यकता के बिना।
कार्डिनल

25

सिल्वरमैन द्वारा एक प्रसिद्ध पेपर है जो इस मुद्दे से संबंधित है। यह कर्नेल-घनत्व आकलन को नियोजित करता है। देख

बीडब्ल्यू सिल्वरमैन, मल्टीमॉडैलिटी , जे रॉयल स्टेट की जांच के लिए कर्नेल घनत्व अनुमान का उपयोग करते हैं समाज। बी , वॉल्यूम। 43, सं। 1, 1981, पीपी। 97-99

ध्यान दें कि पेपर की तालिकाओं में कुछ त्रुटियां हैं। यह सिर्फ एक शुरुआती बिंदु है, लेकिन एक बहुत अच्छा है। यह उपयोग करने के लिए एक अच्छी तरह से परिभाषित एल्गोरिथ्म प्रदान करता है, उस घटना में जो आप सबसे अधिक देख रहे हैं। आप Google विद्वान को ऐसे कागजात पर देख सकते हैं जो इसे और अधिक "आधुनिक" दृष्टिकोणों के लिए उद्धृत करते हैं।


4
+1 यह पेपर इस बारे में जानकारी का उपयोग करता है कि उपयुक्त चौड़ाई का चयन करने के लिए कर्नेल चौड़ाई (गॉसियन गुठली के लिए) पर स्पष्ट मोड की संख्या कैसे निर्भर करती है और फिर मेरे उत्तर में वर्णित है।
whuber

2

मैं पार्टी के लिए देर से आया है, लेकिन अगर तुम सिर्फ है कि क्या यह बहुविध या नहीं है, जिसका अर्थ है आप मोड की संख्या में कोई दिलचस्पी नहीं कर रहे हैं में रुचि रखते हैं, तो आप को देखना चाहिए diptest

में Rपैकेज कहा जाता है diptest


2
पूरा नाम हार्टिगन के डिप टेस्ट ऑफ यूनीमोडिटी है। मूल पेपर वर्णन इस विवरण को देता है: डुबकी परीक्षण एक नमूना में बहुविधता को मापता है, सभी नमूना बिंदुओं पर, अनुभवजन्य वितरण समारोह के बीच, और अधिकतम अंतर को कम करने वाले एकात्मक वितरण समारोह। एल्गोरिथ्म तुच्छ नहीं है, लेकिन आप आसानी से सी, पायथन, MATLAB और आधुनिक फोरट्रान अनुवादों को यूनीोडिटी के लिए टेस्ट करने के लिए डिप स्टैटिस्टिक की गणना में मूल फोरट्रान कार्यान्वयन पर आधारित पा सकते हैं
मृत्युंजय

1
MATLAB कोड: nicprice.net/diptest और एक अन्य - gist.github.com/schluppeck/e7635dcf0e80ca54efb0
रॉय १

0

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


आप दो सामान्य वितरण के केंद्रों की पहचान कैसे करेंगे?
venkasub

@venkasub, सामान्य वितरण का केंद्र इसका मतलब है। यदि आप जानते हैं कि दो सामान्य वितरणों से बिमोडैलिटी आती है तो आप साधनों का अनुमान लगाने के लिए मिश्रण मॉडल फिट कर सकते हैं, जो दो मोड होंगे।
mpiktas
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.