स्टेन में परिभाषित पुजारियों के बिना पैरामीटर


15

मैंने अभी स्टेन का उपयोग करना सीखना शुरू किया है और rstan। जब तक मैं हमेशा इस बारे में भ्रमित नहीं होता कि JAGS / BUGS ने कैसे काम किया है, तो मैंने सोचा कि आपको हमेशा मॉडल से तैयार किए जाने वाले प्रत्येक पैरामीटर के लिए किसी न किसी प्रकार के पूर्व वितरण को परिभाषित करना होगा। ऐसा प्रतीत होता है कि आपको स्टेन में इसके प्रलेखन के आधार पर ऐसा करने की आवश्यकता नहीं है। यहाँ एक नमूना मॉडल है जो वे यहाँ देते हैं

data {
  int<lower=0> J; // number of schools 
  real y[J]; // estimated treatment effects
  real<lower=0> sigma[J]; // s.e. of effect estimates 
} 
parameters {
  real theta[J]; 
  real mu; 
  real<lower=0> tau; 
} 
model {
  theta ~ normal(mu, tau); 
  y ~ normal(theta, sigma);
} 

न तो muहै और न ही tauपरिभाषित महंतों की है। मेरे कुछ जेएजीएस मॉडल को स्टेन में परिवर्तित करने में, मैंने पाया है कि वे काम करते हैं अगर मैं कई, या अधिकांश, अपरिभाषित पादरियों के साथ मापदंडों को छोड़ देता हूं।

समस्या यह है कि मुझे समझ में नहीं आता है कि स्टेन क्या कर रहा है जब मेरे पास परिभाषित पुजारियों के बिना पैरामीटर हैं। क्या यह समान वितरण की तरह कुछ डिफॉल्ट कर रहा है? क्या यह एचएमसी के विशेष गुणों में से एक है, कि इसे हर पैरामीटर के लिए एक परिभाषित पूर्व की आवश्यकता नहीं है?

जवाबों:


18

से (पुराने संस्करण के) स्टेन संदर्भ मैनुअल:

एक पूर्व निर्दिष्ट नहीं एक समान पूर्व निर्दिष्ट करने के लिए बराबर है।

एक समान पूर्व केवल तभी उचित है जब पैरामीटर बाध्य हो [...]

स्टेन कार्यक्रमों में अनुचित पुजारियों को भी अनुमति दी जाती है; वे नमूने के बयानों के बिना असंबंधित मापदंडों से उत्पन्न होते हैं। कुछ मामलों में, एक अनुचित पूर्व एक उचित पोस्टीरियर हो सकता है, लेकिन यह उपयोगकर्ता पर निर्भर है कि पैरामीटर (ओं) पर बाधाएं या डेटा पोस्टीरियर की स्वामित्व सुनिश्चित करता है।

( 1.0.1 संस्करण में अनुभाग C.3 भी देखें )।

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

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


8

से स्टेन संदर्भ v1.0.2 (पृष्ठ 6, फुटनोट 1)

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

दोनों muऔर sigmaअनुचित वर्दी के पुजारी हैं।

हुड के तहत, muऔर sigmaअलग तरह से व्यवहार किया जाता है। sigmaएक कम बाध्य के साथ परिभाषित किया गया है; से स्टेन नमूनों log(sigma)(परिवर्तन के लिए एक याकूब समायोजन) के साथ। परिवर्तनों के बारे में अधिक जानकारी के लिए, अध्याय 27 (पृष्ठ 153) देखें।


बस इसलिए मैं इस बारे में स्पष्ट हूं, अगर लॉग (सिग्मा) स्तर पर STAN के नमूने, फ्लैट से पहले अभी भी सिग्मा पर है और लॉग (सिग्मा) से अधिक नहीं है?
रासमस बैथ

1
हां, पहले की वर्दी अभी भी खत्म sigmaनहीं हुई है log(sigma)। स्टेन पैरामीटर को बदलकर और याकूबियन का उपयोग करके चर समायोजन के सही परिवर्तन को लागू करके इसे पूरा करता है।
साइक्लिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.