I want to obtain random variates from a random variable whose probability density function is $$q(log(\sigma_t)|a_1, b_1, a_2, b_2, \sigma_{t-1},\lambda) = \frac{1}{C}\frac{\mathcal{B}(a_1; \sigma_ta_1, \sigma_tb_1)}{\mathcal{B}(a_1; \sigma_{t-1}a_2, \sigma_{t-1}b_2))}\mathcal{N}(log(\sigma_t); log(\sigma_{t-1}),\lambda)$$
for $\sigma, \sigma_{t-1}\in(0,+\infty)$, $a_1, b_1, a_2, b_2 \in (0,1)$, and $\lambda\gt 0$. $\mathcal{B}$ is the Beta distribution pdf, $\mathcal{N}$ is the Normal distribution pdf, and $C$ is the normalizing constant (for further details see equation 28 in this article). I can use adaptive rejection sampling as the distribution is log-concave. However, I wonder if I can find an envelope distribution in closed form that I can use in rejection sampling.

My idea was the following: both $\mathcal{B}$ and $\mathcal{N}$ are from exponential families and so perhaps I can find another distribution from an exponential family that is easy to sample from at the same time. However, I couldn't find such a distribution.

Any suggestions on how to obtain the random variates?

  • 4
    $\begingroup$ What do you mean by "uniform"? Presumably not uniform as in U(0,1). And what is the meaning of this product of three distributions? $\endgroup$ – Xi'an May 23 '17 at 14:13
  • 2
    $\begingroup$ Why not just generate three random variables from the three distributions involved and perform the requisite operations to get $q$? This will save you a huge amount of time, probably far more than developing a custom RNG will ever gain you in runtime. $\endgroup$ – jbowman May 23 '17 at 14:23
  • 1
    $\begingroup$ I have edited the question to clrafiy. @Xi'an I want to obtain random variates from a distribution whose probability density function (pdf) is product and division of other pdfs. For example, $q(3) = (\mathcal{B}(3; a_1, b_1)/\mathcal{B}(3; a_2, b_2))*\mathcal{N}(3; \mu, \sigma^2)$. $\endgroup$ – yasin_alm May 24 '17 at 8:30
  • 1
    $\begingroup$ @jbowman I don't want to calculate the pdf at a given point. If I want to calculate $q(3)$, for instance, I could do that as you said. However, I want to generate random variates from the distribution. $\endgroup$ – yasin_alm May 24 '17 at 8:33
  • 2
    $\begingroup$ $q$ doesn't integrate to 1, it's not a density as your question claims. Do you mean $q$ is proportional to a density? If so, how confident are you that this will be the case with all combinations of parameter values? $\endgroup$ – Glen_b May 24 '17 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.