আমি কীভাবে জেএজেএস-এ একটি শূন্য-স্ফীত পোষক সেট আপ করতে পারি?


12

আমি আর আর জেজিএসে শূন্য-স্ফীত পোইসন মডেল স্থাপনের চেষ্টা করছি। আমি জেজিএসে নতুন এবং এটি কীভাবে করা যায় সে সম্পর্কে আমার কিছু গাইডেন্স দরকার।

আমি নিম্নলিখিতগুলির সাথে চেষ্টা করছিলাম যেখানে y [i] পর্যবেক্ষণযোগ্য পরিবর্তনশীল

model {
for (i in 1:I) {

    y.null[i] <- 0
    y.pois[i] ~ dpois(mu[i])
    pro[i] <- ilogit(theta[i])
    x[i] ~ dbern(pro[i])

    y[i] <- step(2*x[i]-1)*y.pois[i] + (1-step(2*x[i]-1))*y.null[i]

    log(mu[i]) <- bla + bla +bla + ....
    theta[i] <- bla + bla + bla + ....
}

}

তবে এটি কাজ করে না কারণ আপনি <- পর্যবেক্ষণের পরিবর্তনশীলটিতে ব্যবহার করতে পারবেন না।

এটিকে কীভাবে পরিবর্তন করবেন / ঠিক করবেন? জেজেএস-এ শূন্য-স্ফীত পোয়েসন মডেল স্থাপনের অন্য কোনও উপায় আছে কি?


এটি সহায়ক হতে পারে:
বিভাগীয়

উত্তর:


3

ল্যাম্বডা প্যারামিটারটি শূন্য হলে পোইসন আপনাকে জিরো দেবে এই সত্যটি ব্যবহার করে এখানে একটি সহজ সমাধান। তবে খেয়াল করুন যে ল্যাম্বদা ঠিক শূন্য হলে JAGS ভেঙে যায় thus "+ 0.00001"।

model {
  for (i in 1:I) {

    y[i] ~ dpois(mu1[i])

    mu1[i] <- mu[i]*x[i] + 0.00001

    x[i] ~ dbern(pro[i])
    logit(pro[i]) <- theta[i]

    mu[i] <- bla + bla +bla + ....
    theta[i] <- bla + bla + bla + ....
  }

4
C <- 10000 #Constant 1/0 trick

# Likelihood:
for ( i in 1:ny ) {

#Likelihood of the count model component
LikCountModel[i] <- pow(mu[i],y[i])/y_fact[i]*exp(-mu[i])

#Count model component
eta[i] <- bet0 + inprod( beta[] , B[i,] )
mu[i] <- exp(eta[i])

#ZI Component
zeta[i] <- gamm0 + inprod( gamma[] , G[i,] )
w[i] <- exp(zeta[i])/(1+exp(zeta[i]))

#1/0 Tricks: ones is a column containing only ones, with the same size of y
  p[i] <- L[i] / C
  ones[i] ~ dbern(p[i])

#Full likelihood expression
L[i] <- LikCountModel[i] * (1-w[i]) + equals(y[i],0)*w[i]
}

#then set your priors for all beta and gamma
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.