mvGammaScale
x : | RealPos (<stochastic> pass by reference) |
The variable this move operates on. | |
lambda : | RealPos (pass by value) |
The strength of the proposal. | |
Default : 1 | |
tune : | Bool (pass by value) |
Should we tune lambda during burnin? | |
Default : TRUE | |
weight : | RealPos (pass by value) |
The weight how often on average this move will be used per iteration. | |
Default : 1 | |
tuneTarget : | Probability (pass by value) |
The acceptance probability targeted by auto-tuning. | |
Default : 0.44 |
# Here is a simple example for conducting MCMC on the mean and sd of a Normal distribution.
# Uniform(0,1) priors on the mean and sd
mean ~ dnUnif(0,1)
sd ~ dnUnif(0,1)
# Dummy data (will not actually be analyzed)
data <- v(0.4,0.5,0.6)
# Clamping data
for (i in 1:data.size()){ outcomes[i] ~ dnNorm(mean,sd); outcomes[i].clamp(data[i]) }
# Initializing move and monitor counters
mvi = 1
mni = 1
# Adding Gamma scale moves for the mean and sd (THIS MOVE IS HERE)
moves[mvi++] = mvGammaScale(mean)
moves[mvi++] = mvGammaScale(sd)
# Instantiating the model
mymodel = model(outcomes)
# Adding screen monitor for the mean
monitors[mni++] = mnScreen(mean, printgen=1000)
# Creating MCMC object
mymcmc = mcmc(mymodel, moves, monitors)
# Running MCMC under the prior
mymcmc.run(30000,underPrior=TRUE);