From 4f656ebfaaace5a53e84f218df86f1f53f00a336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20M=C3=A9tivier?= <46794064+dmetivie@users.noreply.github.com> Date: Fri, 22 Sep 2023 09:26:09 +0200 Subject: [PATCH] add link to SmoothPeriodicStatsModels --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index a5bf5f0..2395439 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,10 @@ This package is an extension of the package [HMMBase.jl](https://github.com/maxmouchet/HMMBase.jl) that originally define, use, fit Hidden Markov Models. The extension adds the subtype `PeriodicHMM` to the type `HMMBase.AbstractHMM` that deals with non-constant transition matrix `A(t)` and emission distribution `B(t)`. +WARNING: As it is `fit_mle` does not enforce smoothness of hidden states with `t` i.e. because HMM are identifiable up to a relabeling nothing prevents that after fitting `ν[k=1, t=1]` and `ν[k=1, t=2]` mean the same hidden state (same for `Q` matrix). +To enforce smoothness and identifiability (up to a global index relabeling), one can be inspired by seasonal Hidden Markov Model, see [A. Touron (2019)](https://link.springer.com/article/10.1007/s11222-019-09854-4). +I implement that idea and generalization to other statistic model like HMM, Mixture, Auto Regressive in [SmoothPeriodicStatsModels.jl](https://github.com/dmetivie/SmoothPeriodicStatsModels.jl). + ## Simple example ```julia @@ -80,6 +84,7 @@ end plot(p..., size=(1000, 500)) ``` ![Time dependent transition matrix coefficient](img/Q_estiamated.svg) + #### Emission distribution ```julia @@ -92,4 +97,5 @@ for i in 1:K end plot(p..., size=(1000, 500)) ``` + ![Emission distribution parameters](img/nu_estiamated.svg) \ No newline at end of file