I'm trying to understand how the Gibbs sampling algorithm works. I've simplified it into a bivariate case to help my understanding but I'm unsure how to go from conditioning on $X^{t-1},Y^{t-1},X^t$ to $Y^{t-1},X^t$.

Lets say we want to sample from $f_{X,Y}$ but we only have access to $f_{X|Y}$ and $f_{Y|X}$.

We construct a transition kernel that generates samples from our joint distribution;

$\begin{align*} K((x^{t-1},y^{t-1}),(x^t,y^t))= f_{X^t,Y^t|X^{t-1},Y^{t-1}} &= f_{Y^t|X^{t-1},Y^{t-1},X^t}\cdot f_{X^t|X^{t-1},Y^{t-1}}\\&\ldots \\ &= f_{Y^t|Y^{t-1},X^t}\cdot f_{X^t|X^{t-1},Y^{t-1}} \end{align*}$

  • $\begingroup$ @jbowman That question seems to be about some convergence issues in Gibbs samplers, not about proving convergence $\endgroup$ Nov 29 '17 at 19:11
  • $\begingroup$ @JuhoKokkala That's the answer that I was looking for, thank you! How do I mark it as the solution? $\endgroup$ Nov 30 '17 at 8:33

The Markov kernel associated with a bivariate Gibbs sampler is $$K((x,y),(x',y')=f_{Y|X}(y'|x')f_{X|Y}(x'|y)$$ which means that the move from $(x^{t-1},y^{t-1})$ to $(x^t,y^t)$ is decomposed into two steps:

  1. Generate $X^t|Y^{t-1}=y^{t-1} \sim f_{X|Y}(x|y^{t-1})$
  2. Generate $Y^t|X^t=x^t \sim f_{Y|X}(y|x^t)$

As an answer to an earlier question on X validated, here is a detailed answer of mine about the convergence of the Gibbs sampler.


Not the answer you're looking for? Browse other questions tagged or ask your own question.