ผมได้เริ่มต้นเพียงเพื่อเรียนรู้ที่จะใช้สแตนrstan
และ นอกจากว่าฉันมักจะสับสนเกี่ยวกับวิธีการทำงานของ JAGS / BUGS ฉันคิดว่าคุณต้องกำหนดการแจกจ่ายก่อนหน้าบางชนิดสำหรับพารามิเตอร์ทุกตัวในโมเดลที่จะดึงมา ดูเหมือนว่าคุณไม่จำเป็นต้องทำสิ่งนี้ใน Stan ตามเอกสารประกอบของมัน นี่คือรูปแบบตัวอย่างที่พวกเขาให้ที่นี่
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
มีการกำหนดไพรเออร์ ในการแปลงแบบจำลอง JAGS ของฉันเป็นสแตนฉันพบว่ามันใช้งานได้หากฉันปล่อยพารามิเตอร์จำนวนมาก
ปัญหาคือฉันไม่เข้าใจสิ่งที่สแตนกำลังทำอยู่เมื่อฉันมีพารามิเตอร์ที่ไม่มีนักบวชที่กำหนดไว้ มันเป็นค่าเริ่มต้นกับสิ่งที่ต้องการกระจายเครื่องแบบหรือไม่ นี่เป็นหนึ่งในคุณสมบัติพิเศษของ HMC ซึ่งไม่จำเป็นต้องมีการกำหนดไว้ล่วงหน้าสำหรับทุกพารามิเตอร์หรือไม่