Filtering/MCMC methods for this HMM

39 Views Asked by At

I have a Discrete HMM with hidden Markovian signals of the form $\{X_t\}_{t \in [0, \infty)} \in \{ 1,2,3\}$ and observed outputs of the form $\{Y_n\}_{n \in \mathbb{N}} \in \{ 1,2\}$. Each observation $Y_n$ occurs at time $n\gamma$, where $\gamma>0$ is known.

Since the Markovian signal is in continuous time, I use the transition probability matrix: $\textbf{P}_{\gamma} = \exp(\textbf G \gamma)$, where $\textbf G$ is the generator matrix of the continuous time Markov Process.

Further to this, I use an emission probability matrix $\textbf{B}_{\gamma}$ which gives the probability of emission of a particular $Y_n = y_n$ given $X_{n \gamma} = x$.

Now $\textbf{G}$ depends on some $\textit{unknown}$ transiton rates $\boldsymbol \lambda$ and also $\textbf{B}_{\gamma}$ is dependent on these same rates.

I have build a HMM using discretization of continuous-time as explained above, however using the log-likelihood of observations (done by the forward-backward algorithm), my ML estimates for $\boldsymbol \lambda$ are turning out to be quite wrong.

Furthermore, I have also tried to sample from $X_t$ using the viterbi algorithm in discrete time, and via using the full likelihood, I also get similar errors in the estimation procedure.

Does anyone have any further suggestions (e.g. MCMC or particle methods) which I might be able to use to estimate $\boldsymbol \lambda$ correctly?

Thanks in advance!