In a hidden Markov model, I can't get my mind around why I can't sample the full hidden state $\vec x$ using only a forward sampling algorithm.
Let $\vec y$ be the observed data and $\theta$ the model parameters. Let each time step $t$ be an independent realization so that $p(\vec y|\vec x, \theta) = \prod_t p(y_t|x_t, \theta)$. Also assume that $p(\vec x|\theta) = p(\vec x) = \prod_tp(x_t|x_{t-1})$, since I assume $x_t$ only depends on $x_{t-1}$.
I can write $p(\vec x|\theta, \vec y) = p(\vec y|\theta, \vec x) p(\theta, \vec x)/p(\vec y, \theta) \propto p(\vec y|\theta, \vec x)p(\vec x) = \prod_tp(y_t|x_t, \theta)p(x_t|x_{t-1})$.
Doesn't this mean I can simply sample using the forward algorithm, since I can rewrite $p(\vec x|\theta, \vec y) = \prod_tp(x_t|x_{t-1},y_t,\theta)$, where $p(x_t|x_{t-1},y_t,\theta) \propto p(y_t|x_t, \theta)p(x_t|x_{t-1})$? Since the label of states is arbitrary I can just set $x_0=0$ and run the sampler forward.
I'm sure something is wrong with my math, because I'm just sampling each $x_t$ using past information, which shouldn't give me a marginal sample of $\vec x$, but I can't pinpoint where my error is.