Jethro's Braindump

Rejection Sampling

Goal: To sample from unknown distribution p(x).

Assumptions

  • we cannot sample from p(x)
  • we have a simple proposal density q(x) we can evaluate within a multiplicative factor Zq
  • We know the value of a constant c, such that cq(x)>p(x) for all x

Method

  1. Sample from proposal density q(x)
  2. Evaluate cq(x)
  3. Generate a uniform distribution [0,cq(x)] and sample u from it
  4. Evaluate p(x)
  5. If u>p(x), reject, else accept, and add x to the set of samples

Difficulties

  1. Works well only when q(x) is a good approximation to p(x), keeping c small
  2. In high-dimensional settings, c will generally be so large that acceptances will be rare