MCMC एक एकल मूल्य में परिवर्तित?


13

मैं jags और rjags पैकेज का उपयोग करके एक पदानुक्रमित मॉडल फिट करने की कोशिश कर रहा हूं। मेरा परिणाम चर y है, जो बर्नौली परीक्षणों का एक क्रम है। मेरे पास 38 मानव विषय हैं जो दो श्रेणियों के तहत प्रदर्शन कर रहे हैं: पी और एम। मेरे विश्लेषण के आधार पर, प्रत्येक वक्ता को श्रेणी पी के of में सफलता की संभावना है और श्रेणी M के में सफलता की संभावना है । मैं यह भी मान रहा हूं कि P और M: और लिए कुछ सामुदायिक स्तर का ।θ p × θ m μ p μ mθpθp×θmμpμm

तो, प्रत्येक वक्ता के लिए: और जहां और नियंत्रित करते हैं कि वितरण कितना चरम पर है और ।θ मीटर ~ टी एक ( μ मीटर × κ मीटर , ( 1 - μ मीटर ) × κ मीटर ) κ पी κ मीटर μ पी μ मीटरθpbeta(μp×κp,(1μp)×κp)θmbeta(μm×κm,(1μm)×κm)κpκmμpμm

इसके अलावा , ।μ मीटर ~ टी एक ( एक मीटर , बी एम )μpbeta(Ap,Bp)μmbeta(Am,Bm)

यहाँ मेरा jags मॉडल है:

model{
## y = N bernoulli trials
## Each speaker has a theta value for each category
for(i in 1:length(y)){
    y[i] ~ dbern( theta[ speaker[i],category[i]])
}

## Category P has theta Ptheta
## Category M has theta Ptheta * Mtheta
## No observed data for pure Mtheta
##
## Kp and Km represent how similar speakers are to each other 
## for Ptheta and Mtheta
for(j in 1:max(speaker)){
    theta[j,1] ~ dbeta(Pmu*Kp, (1-Pmu)*Kp)
    catM[j] ~ dbeta(Mmu*Km, (1-Mmu)*Km)
    theta[j,2] <- theta[j,1] * catM[j]
}

## Priors for Pmu and Mmu
Pmu ~ dbeta(Ap,Bp)
Mmu ~ dbeta(Am,Bm)

## Priors for Kp and Km
Kp ~ dgamma(1,1/50)
Km ~ dgamma(1,1/50)

## Hyperpriors for Pmu and Mmu
Ap ~ dgamma(1,1/50)
Bp ~ dgamma(1,1/50)
Am ~ dgamma(1,1/50)
Bm ~ dgamma(1,1/50)
}

मेरे पास मुद्दा यह है कि जब मैं इस मॉडल को अपनाने के लिए 5000 पुनरावृत्तियों के साथ चलाता हूं, तो 1000 नमूने ले लो, Mmuऔर Kmएकल मूल्यों में परिवर्तित कर दिया है। मैं इसे 4 श्रृंखलाओं के साथ चला रहा हूं, और प्रत्येक श्रृंखला का समान मूल्य नहीं है, लेकिन प्रत्येक श्रृंखला के भीतर सिर्फ एक ही मूल्य है।

मैं MCMC विधियों का उपयोग करके फिटिंग पदानुक्रमित मॉडल के लिए बहुत नया हूं, इसलिए मैं सोच रहा हूं कि यह कितना बुरा है। क्या मुझे यह संकेत के रूप में लेना चाहिए कि यह मॉडल फिट होने के लिए निराशाजनक है, कि मेरे पुजारियों के साथ कुछ गलत है, या क्या यह पाठ्यक्रम के लिए बराबर है?

संपादित करें: यदि यह मायने रखता है, तो लिए इसका मान (श्रृंखलाओं में औसतन) 0.91 और का 1.78 थाκ मीμmκm


यदि मैं आपको सही तरीके से समझ रहा हूं, तो ये पैरामीटर प्रत्येक श्रृंखला में एक निश्चित मूल्य पर "अभिसरण" करते हैं (कुछ पुनरावृत्तियों के बाद यह बिल्कुल भी नहीं बदलता है), लेकिन आपके द्वारा चलाए जाने वाले प्रत्येक श्रृंखला के लिए यह मान अलग है? यह बुरा लगता है, शायद एक बहुत भद्दा महानगर हेस्टिंग्स कदम की तरह। यह आपका मॉडल हो सकता है, यह JAGS हो सकता है, यह दोनों का संयोजन हो सकता है। संभवत: इस मॉडल को फिट होने में बहुत समय नहीं लगता है, इसलिए मैं विशेष रूप से विशेषण अवधि के लिए पहले (अधिक) लंबी श्रृंखलाएं चलाने की कोशिश करूंगा।
JMS

इसलिए, मैंने 5000 से अधिक पुनरावृत्तियों के साथ मॉडल को अपडेट किया, और प्रश्न में पैरामीटर नहीं आया। मुझे नहीं पता था कि वे इस तरह से स्थानीय मिनीमाता में गिर सकते हैं।
जोफ्रवल्ड

1
त्वरित उपदंश: १। एन = 1 के साथ, डबिन का उपयोग करने का प्रयास करें। और पी के मूल्य को सीमित करने के लिए सीमा का उपयोग करें। कुछ इस तरह: p.bound [i] <- max (0, min (1, p [i]))
Manoel Galdino

1
स्पष्ट सवालों के एक जोड़े: 1. आप श्रेणी पी के तहत 38 विषयों और श्रेणी एम के तहत 38 विषयों, जैसे लंबाई (y) = 76 है? 2. क्या आप हाइपरपरमैटर्स और प्रयोग के औचित्य के बारे में अधिक जानकारी दे सकते हैं? यह मेरे लिए थोड़ा भ्रमित करने वाला है।
मैनलो गेल्डिनो

1
मैं शायद सभी हाइपरपैरामीटर को ठीक कर दूंगा, जैसे कि थीटा [जे, 1] ~ dbeta (1.1, 1.1) या कुछ और, और देखें कि हाइपरपैर पर जाने से पहले आपको क्या परिणाम मिलते हैं। इसके अलावा, थीटा [जे, 2] का पूर्ववर्ती दो बेटों का उत्पाद है, जो सामान्य तौर पर, एक बीटा ही, और निश्चित रूप से थीटा [जे, 2] <थीटा [जे, 1] के परिणामस्वरूप नहीं है। ऐसा लगता है कि आपने यह इरादा किया है; सिर्फ जिज्ञासा से बाहर, क्यों?
3

जवाबों:


2

यह एक टिप्पणी है, लेकिन जैसा कि मेरे पास पर्याप्त प्रतिष्ठा नहीं है, मैं इसका उत्तर भी दे सकता हूं।

MCMC सैंपलर्स के साथ अपने सीमित अनुभव से, मैंने जो कुछ देखा है वह यह है कि जब हाइपरपरैमीटर बहुत संकीर्ण होते हैं तो पैरामीटर तय रहते हैं। चूंकि वे मापदंडों के प्रसार को नियंत्रित करते हैं, वे समाधान स्थान को कुशलता से नमूना करने से रोकते हैं।

हाइपरपैरामीटर के लिए बड़े मान लेने की कोशिश करें और देखें कि क्या होता है।

इस तकनीकी पेपर ने मुझे MCMC के नमूना समझने में बहुत मदद की। यह दो नमूनों से बना है, गिब्स (आप जो उपयोग कर रहे हैं), और हाइब्रिड मोंटे कार्लो, और तेजी से यह समझाते हैं कि मापदंडों और हाइपरपैरमीटर के लिए पुजारी, हाइपरप्रियर्स और मूल्यों का चयन कैसे करें।


0

यह श्रृंखला की संरचना की समस्या हो सकती है। जहां आप अंत करते हैं, आप कहां से शुरू करते हैं, इस पर निर्भर करता है। MCMC का उपयोग करने के लिए आप चाहते हैं कि श्रृंखला आवर्तक हो जिसका अर्थ है कि कोई भी बात नहीं जहाँ आप शुरू करते हैं, आप राज्य के हर दूसरे राज्य में जा सकते हैं। यदि श्रृंखला आवर्तक नहीं है, तो आप राज्य स्थान के सबसेट में फंस सकते हैं। MCMC का विचार एक मौजूदा स्थिर वितरण है जिसे श्रृंखला अंततः हवा देगी। इस स्थिर वितरण में आमतौर पर श्रृंखला में किसी भी राज्य में होने की सकारात्मक संभावना होती है और आपके द्वारा वर्णित एक बिंदु पर नहीं फंसती है। । मैं आपके एल्गोरिथ्म की जाँच नहीं कर सकता, लेकिन शायद इसमें आपकी कोई गलती हो। यह भी संभव है कि आपने एक समस्या को परिभाषित किया है जहां आपकी मार्कोव श्रृंखला आवर्तक नहीं है।

यदि आप MCMC के जानकार होना चाहते हैं तो मेरी सलाह है कि आप मार्कोव चेन मोंटे कार्लो की हैंडबुक पर एक नज़र डालें जिसमें ऐसे लेख हैं जो MCMC के हर पहलू का वर्णन करते हैं। यह 2011 में CRC प्रेस द्वारा प्रकाशित किया गया था।

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