0
$\begingroup$

I want to do an MCMC algorithm and need to sample a proposed value from a proposed distribution. In the Metropolis algorithm, people usually use a normal distribution as proposal. But if the prior distribution is a beta distribution. a realised value of a normal random variable may fall outside [0,1]. In such circumstances, how should we sample a value?

$\endgroup$
4
  • $\begingroup$ There is no need to adapt the proposal to the support of the target.If the proposed value has density zero, it is rejected. $\endgroup$
    – Xi'an
    Dec 3, 2019 at 9:19
  • $\begingroup$ you are right. But the acceptance rate will be so low. $\endgroup$
    – yu zhang
    Dec 3, 2019 at 10:31
  • $\begingroup$ @Xi'an So if I want to realize this algorithm, using R to unteract with Openbugs seems to be flexible but time consuming. It seems that MCMCpack in the R is more efficient. But I can only set normal prior distribution instead of the beta distribution I need. Is there any other package to use? If I write it by myself, the scale determing the proposed value each time is difficult to set, it may result in the large unacceptance rate. $\endgroup$
    – yu zhang
    Dec 3, 2019 at 13:43
  • $\begingroup$ (i) the acceptance rate is high or low depending on the scale of the Normal; (ii) I have no advice to provide on a particular package. $\endgroup$
    – Xi'an
    Dec 3, 2019 at 13:58

0