संभाव्य प्रोग्रामिंग (pymc) के साथ स्विचपॉइंट का पता लगाना


9

मैं वर्तमान में हैकर्स "पुस्तक" के लिए प्रोबेबिलिस्टिक प्रोग्रामिंग और बायेसियन तरीके पढ़ रहा हूं । मैंने कुछ अध्याय पढ़े हैं और मैं पहले अध्याय पर विचार कर रहा था जहाँ pymc के साथ पहला उदाहरण पाठ संदेश में एक विचयन का पता लगाने से मिलकर बना है। उस उदाहरण में यादृच्छिक चर को इंगित करने के लिए जब स्विचपॉइंट हो रहा है, साथ इंगित किया गया है । MCMC कदम के बाद का पीछे वाला वितरण दिया गया है:ττयहाँ छवि विवरण दर्ज करें

सबसे पहले इस ग्राफ़ से जो सीखा जा सकता है वह यह है कि लगभग 50% की एक संभावना है कि स्विचपॉइंट 45 दिन पर ही ख़त्म हो जाता है। हालाँकि अगर स्विचपॉइंट नहीं होता तो क्या होता है? मानने के बजाय एक स्विचपॉइंट है और फिर इसे खोजने की कोशिश कर रहा है, मैं यह पता लगाना चाहता हूं कि क्या वास्तव में एक स्विचपॉइंट है।

लेखक इस सवाल का जवाब देता है कि "क्या कोई बदलाव नहीं हुआ है" द्वारा "कोई परिवर्तन नहीं हुआ था, या समय के साथ धीरे-धीरे परिवर्तन हुआ था, के पीछे वितरण अधिक फैल गया होगा"। लेकिन आप इसका जवाब किस तरह से दे सकते हैं, इस बात के लिए एक 90% संभावना है कि एक स्विचपॉइंट हैप्पीनेस, और 45% पर यह 50% मौका है।τ

क्या मॉडल को बदलने की आवश्यकता है? या वर्तमान मॉडल के साथ इसका जवाब दिया जा सकता है?


पुस्तक के लेखक @ Cam.Davidson.Pilon का उल्लेख, जिनके पास मेरे मुकाबले बेहतर जवाब हो सकता है।
शॉन ईस्टर

जवाबों:


6

सीनियर की कुछ अच्छी सलाह है। Bayes factor की गणना करना कठिन हो सकता है, लेकिन विशेष रूप से PyMC2 में Bayes factor के लिए कुछ अच्छे ब्लॉग पोस्ट हैं

एक करीबी संबंधित प्रश्न एक मॉडल की अच्छाई-से-फिट है। इसके लिए एक उचित तरीका सिर्फ निरीक्षण है - डाकिया हमें अच्छाई के फिट होने का सबूत दे सकते हैं। जैसे उद्धृत:

"यदि कोई परिवर्तन नहीं हुआ था, या समय के साथ परिवर्तन धीरे-धीरे हुआ था, तो के बाद के वितरण अधिक बाहर हो गए होंगे"τ

यह सच है। पोस्ट 45 के पास का समय काफी कम हो जाता है। जैसा कि आप कहते हैं> 50% द्रव्यमान 45 पर है, जबकि अगर कोई स्विच पॉइंट नहीं था तो द्रव्यमान को (सैद्धांतिक रूप से) 45 के समय 1/80 = 1.125% के करीब होना चाहिए।

आप जो करने का लक्ष्य बना रहे हैं, वह आपके मॉडल को देखते हुए आस्थगित डेटा सेट को फिर से बनाने का है। में अध्याय 2 , उनके नकली डेटा पैदा करने की सिमुलेशन कर रहे हैं। यदि आपका देखा गया डेटा आपके कृत्रिम डेटा से बेतहाशा अलग दिखता है, तो संभावना है कि आपका मॉडल सही फिट नहीं है।

मैं गैर-कठोर जवाब के लिए माफी मांगता हूं, लेकिन वास्तव में यह एक बड़ी कठिनाई है जिसे मैंने कुशलता से दूर नहीं किया है।


हो सकता है कि आपके उत्तर से असंबंधित हो, मैं बस जोर से सोच रहा हूं। क्या डेटा के लिए एक सिग्मॉइड को फिट करना संभव नहीं होगा और बीटा पैरामीटर के आधार पर तय होगा कि ढलान एक बदलाव को इंगित करता है या नहीं। हो सकता है कि अगर कोई स्विचपॉइंट है, तो यह निर्धारित करना कि उदाहरणों से सीखा जा सकता है। शायद यह मापदंडों के साथ भी संभव है । यदि 1 2 से बहुत अधिक भिन्न होता है, तो स्विचपॉइंट नहीं होता है। यह शायद एक सीमा के साथ भी किया जा सकता है जो उदाहरणों से सीखा जाता हैλλλ
ओलिवियर_स_ज

1
उदाहरण के लिए, मॉडल फिट करें: , जहां ? मुझे लगता है कि काम करेगा, और चिकनी बदलाव के लिए अनुमति देगा। आप सही हैं कि एक स्विच बिंदु मौजूद होने पर के ढलान पर अनुमान निर्धारित कर सकता है। मुझे वास्तव में यह पसंद है, आपको इसे और अधिक एक्सप्लोर करना चाहिए। λ1p+λ2(1p)p=1/(1+exp(βt))β
Cam.Davidson.Pilon

मॉडल के फिट होने के सवाल पर, मैं यह जोड़ना चाहूंगा कि पोस्टीरियर प्रेडिक्टिव पी-वैल्यू फिट का आकलन करने का एक तरीका है। इस कागज को देखें
शॉन ईस्टर

2

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

K=Pr(D|M1)Pr(D|M2)=Pr(θ1|M1)Pr(D|θ1,M1)dθ1Pr(θ2|M2)Pr(D|θ2,M2)dθ2

यदि एक स्विचपॉइंट का उपयोग करने वाला मॉडल है, और बिना मॉडल है, तो लिए उच्च मूल्य को स्विचपॉइंट मॉडल का दृढ़ता से पक्ष लेने के रूप में व्याख्या की जा सकती है। (ऊपर उल्लिखित विकिपीडिया लेख K मूल्यों के बारे में दिशा निर्देश देता है जो उल्लेखनीय हैं।)M1M2K

यह भी ध्यान दें कि एक MCMC संदर्भ में उपरोक्त इंटीग्रल को MCMC श्रृंखलाओं से पैरामीटर मानों के साथ प्रतिस्थापित किया जाएगा। उदाहरणों के साथ बेयस कारकों का अधिक गहन उपचार यहां उपलब्ध है

स्विचपॉइंट की संभावना की गणना करने के प्रश्न के लिए, यह को हल करने के बराबर है । यदि आप दो मॉडलों के बराबर पुजारी मानते हैं, तो मॉडल के पीछे के हिस्से बेयस कारक के बराबर हैं। (स्लाइड 5 यहां देखें ।) फिर फैक्टर का उपयोग करके को हल करने की बात है और आवश्यकता है कि for n (अनन्य) विचार के तहत मॉडल की घटनाओं।P(M1|D)P(M1|D)i=1nP(Mi|D)=1

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.