I'm very new to this topic/posting on a discussion board, so I apologize in advance if something is unclear.
I'm interested in performing a stochastic search variable seleciton (SSVS) in JAGS. I've seen codes online of people performing SSVS (e.g. http://www4.stat.ncsu.edu/~reich/ABA/code/SSVS which I've copied the code below) but my understanding is that to perform this method, I need to use a spike-slab prior in JAGS. The spike can be either a point mass or a distribution with a very narrow variance. Looking at most people's codes, there's only one distribution being defined (in the one above, they define a distribution on gamma, with beta = gamma * delta) and I believe they're assuming a point mass on the spike.
So my questions are:
1) Can someone explain why the code below is using the SSVS method? For example, how do we know this isn't using GVS, which is also another method that uses a Gibbs sampler?
2) Is this a point mass on the spike?
3) If I wanted to use simulated data to test whether the Gibbs sampler is correctly drawing from the spike/slab, how would I go about doing that? Would I code for a spike and a slab and what would I be looking for in the posterior to see that it is drawing correctly?
model_string <- "model{
# Likelihood
for(i in 1:n){
Y[i] ~ dpois(lambda[I])
log(lambda[i]) <- log(N[i]) + alpha + inprod(beta[],X[i,])
}
#Priors
for(j in 1:p){
gamma[j] ~ dnorm(0,tau)
delta[j] ~ dbern(prob)
beta[j] <- gamma[j]*delta[j]
}
prob ~ dunif(0,1)
tau ~ dgamma(.1,.1)
alpha ~ dnorm(0,0.1)
}"
I've also asked on the JAGS help page too: https://sourceforge.net/p/mcmc-jags/discussion/610036/thread/a44343e0/#ab47