Suppose that g is an easy probability density function to generate from, and h is a nonnegative function. Take a close look at the following algorithm pseudo-code: Step 1. Generate Y ∼ g. Step 2. Generate E ∼ Exp(1) in the way that E = −log(U), U ∼ Unif(0,1). Step 3. If E ≥ h(Y ), set X = Y . Otherwise go to Step 1. Step 4. Return X. This is a rejection algorithm and we want to find the density function of the generated samples. (a) Note that E ∼ Exp(1). What is the probability that P(E ≤ t) for any constant t > 0? (b) Given Y = x, what is the probability that Y will be accepted? (c) What is the joint probability that P(Y ≤ x |Y is accepted)?
Suppose that g is an easy
Step 1. Generate Y ∼ g.
Step 2. Generate E ∼ Exp(1) in the way that E = −log(U), U ∼ Unif(0,1).
Step 3. If E ≥ h(Y ), set X = Y . Otherwise go to Step 1.
Step 4. Return X.
This is a rejection algorithm and we want to find the density function of the generated samples.
(a) Note that E ∼ Exp(1). What is the probability that P(E ≤ t) for any constant t > 0?
(b) Given Y = x, what is the probability that Y will be accepted?
(c) What is the joint probability that P(Y ≤ x |Y is accepted)?
(d) Note that the density function f(x) in the samples is the conditional prob. f(x|accepted).
Find f for X, subject to a constant.
(e) With the results, write the pseudo-code for the density
f(x) = c/x2 * e-(x^2)/2, x>1
(Hint. Find g and h to generate f. For g, you may consider the inversion algorithm.)
Step by step
Solved in 2 steps