This is an old version, view current version.

26.1 Stan functions

real hmm_marginal(matrix log_omega, matrix Gamma, vector rho)
Returns the log probability density of \(y\), with \(x_n\) integrated out at each iteration. The arguments represent (1) the log density of each output, (2) the transition matrix, and (3) the initial state vector.

  • log_omega: \(\log \omega_{kn} = \log p(y_n \mid x_n = k, \phi)\), log density of each output,

  • Gamma: \(\Gamma_{ij} = p(x_n = j | x_{n - 1} = i, \phi)\), the transition matrix,

  • rho: \(\rho_k = p(x_0 = k \mid \phi)\), the initial state probability.

int[] hmm_latent_rng(matrix log_omega, matrix Gamma, vector rho)
Returns a length \(N\) array of integers over \(\{1, ..., K\}\), sampled from the joint posterior distribution of the hidden states, \(p(x \mid \phi, y)\). May be only used in transformed data and generated quantities.

matrix hmm_hidden_state_prob(matrix log_omega, matrix Gamma, vector rho)
Returns the matrix of marginal posterior probabilities of each hidden state value. This will be a \(K \times N\) matrix. The \(i^\mathrm{th}\) column is a simplex of probabilities for the \(n^\mathrm{th}\) variable. Moreover, let \(A\) be the output. Then \(A_{ij} = p(x_j = i \mid \phi, y)\). This function may only be used in transformed data and generated quantities.