For a hidden Markov model with observation y, hidden state x, and parameters theta, generate samples from the posterior distribution of the hidden states, x.
In this setting, the hidden states are discrete and takes values over the finite space {1, ..., K}. log_omegas is a matrix of observational densities, where the (i, j)th entry corresponds to the density of the ith observation, y_i, given x_i = j. The transition matrix Gamma is such that the (i, j)th entry is the probability that x_n = j given x_{n - 1} = i. The rows of Gamma are simplexes.
- Template Parameters
-
T_omega | type of the log likelihood matrix |
T_Gamma | type of the transition matrix |
T_rho | type of the initial guess vector |
- Parameters
-
[in] | log_omegas | log matrix of observational densities. |
[in] | Gamma | transition density between hidden states. |
[in] | rho | initial state |
[in] | rng | random number generator |
- Returns
- sample from the posterior distribution of the hidden states.
- Exceptions
-
`std::invalid_argument` | if Gamma is not square, when we have at least one transition, or if the size of rho is not the number of rows of log_omegas. |
`std::domain_error` | if rho is not a simplex and of the rows of Gamma are not a simplex (when there is at least one transition). |
Definition at line 44 of file hmm_latent_rng.hpp.