\subsection{Chaînes de Markov cachées}
\label{subsec:Generatif-cmc}
Les \index{chaînes de Markov cachées}chaînes de Markov cachées (\index{CMC}CMC) sont des processus aléatoires, permettant de modéliser des séquences $\ts{\RVAR}{1}{n}$ qui comportent des changements de régime (de comportement stochastique) au cours du temps, séparées par des zones homogènes où les $\VAR_t$ ont même \<~loi~\> (techniquement, même loi conditionnelle). Ce modèle se distingue des approches par détection de ruptures, % \citep{fearnhead:2006} 
où les instants des ruptures sont considérés comme des paramètres du modèle et où le processus ne revient pas dans un régime déjà visité. A contrario dans les CMC, les ruptures sont liées à des variables latentes et non pas directement à des paramètres du modèle; un régime donné peut être visité plusieurs fois.
Les CMC se distinguent également des modèles de mélanges indépendants évoqués en section \ref{subsec:Generatif-melanges}, car une dépendance est introduite entre les $\VAR_t$, pour éviter qu'une observation isolée dans une zone ne crée à elle seule un changement de zone. Les CMC ont été utilisées pour de nombreuses applications, entre autres en traitement du signal et de la parole, analyse d'électroencéphalogrammes et de séquences génomiques.% \citep{ephraim:2002}.

Ces propriétés sont obtenues, comme pour les mélanges, en incorporant dans le modèle des variables latentes catégorielles $\VARC_t \in \set{1,\ldots,\NVARC}$ qui à la fois représentent le régime du processus à l'instant $t$ et permettent d'introduire indirectement des dépendances entre les $\VAR_t$.

Les CMC peuvent être vues comme un modèle probabiliste graphique, dont le graphe correspond à la figure \ref{fig:Generatif-cmc:graphe} et satisfaisant la propriété de factorisation \eqref{eq:Generatif:fact} associée, qui s'écrit donc ici :
\begin{equation*}
	p(\ts{\RVARC}{1}{n}, \ts{\RVAR}{1}{n}) 
	= p(\RVARC_1) \prod_{t=2}^n p(\RVARC_t|\RVARC_{t-1}) \prod_{t=1}^n p(\RVAR_t|\RVARC_{t})
	%\label{eq:Generatif:fact_cmc}
\end{equation*}

\begin{figure}[h!]
	\centering
	\includegraphics[width=.76\textwidth]{./Figs/chapter-Generatif/cmc_graphe.pdf}
	\caption{Modèle graphique définissant les dépendances entre variables aléatoires d'une CMC.}
	\label{fig:Generatif-cmc:graphe}
\end{figure}

En supposant une loi uniforme pour $\VARC_1$ et en paramétrant le modèle par la matrice des probabilités de transition de la chaîne de Markov non observée $A = (P(\VARC_{t}=k|\VARC_{t-1}=j))_{j=1\ldots,\NVARC\atop k=1\ldots,\NVARC}$ et les lois d'émission $p(\RVAR_t|\RVARC_{t}=k)=p_{\theta_k}(\RVAR_t)$, on obtient dans un cadre bayésien la vraisemblance des données complètes (observées et cachées) :
\begin{equation*}
p(\ts{\RVARC}{1}{n}, \ts{\RVAR}{1}{n}|\lambda) 
= \pi_{\RVARC_1} \prod_{t=2}^n A_{\RVARC_{t-1},\RVARC_t} \prod_{t=1}^n p_{\theta_{\RVARC_t}}(\RVAR_t)
%\label{eq:Generatif:cmc_vraisemblance_compl}
\end{equation*}
où $\lambda = (\pi, A, \theta_1, \ldots, \theta_\NVARC)$. On munit alors $\lambda$ d'une loi a priori
%, en reprenant ici l'approche proposée par \citep{robert:1993} 
: les lignes de~$A$ et les $\theta_k$ sont supposés indépendants et la $\kieme$ ligne de~$A$ est de loi de Dirichlet $\MD(\alpha_1^k,\ldots, \alpha_1^k)$. Comme pour les modèles de mélanges indépendants, l'analyse statistique du modèle est basée sur le calcul de $p(\ts{\RVARC}{1}{n},\lambda|\ts{\RVAR}{1}{n})$ approché à l'aide d'un échantillonneur de Gibbs basé sur l'itération $m$ suivante :
\begin{enumerate}
	\item Pour $t=1,\ldots,n$, simuler $\VARC_{t,m} \sim p(\VARC_t|\RMVARC_{m,-t},\ts{\RVAR}{1}{n},\lambda_m)$.
	\item Pour $k=1,\ldots,\NVARC$, simuler $\theta_{k,m+1} \sim p(\theta_k|\MVARC_m, \ts{\RVAR}{1}{n},\lambda_{m+1,-\theta_k})$.
	\item Pour $k=1,\ldots,\NVARC$, simuler $A_{k,m+1} \sim p(A_k|\MVARC_m, \ts{\RVAR}{1}{n},\lambda_{m+1,-A_k})$
\end{enumerate}
où $A_k$ désigne la $\kieme$ ligne de $A$, $\lambda_{m+1,-A_k}$ le paramètre $\lambda$ courant privé de~$A_k$ et de même pour $\lambda_{m+1,-\theta_k}$.

L'étape 1 est basée sur le fait que $p(\RVARC_t|\RMVARC_{-t},\ts{\RVAR}{1}{n},\lambda)=p(\RVARC_t|\RVARC_{t-1},\RVARC_{t+1}, \RVAR_t,\lambda)$, car $\condindep{\VARC_t}{\ts{\VARC}{1}{t-2}, \ts{\VARC}{t+2}{n}, \ts{\VAR}{1}{t-1}, \ts{\VAR}{t+1}{n}, } {\VARC_{t-1}, \VARC_{t+1},\VAR_t,\lambda}$ (voir figure \ref{fig:Generatif-cmc:graphe} et la propriété de séparation associée). On en déduit, pour $1 < t < n$ :
\begin{align*}
& p(\RVARC_t|\RMVARC_{-t},\ts{\RVAR}{1}{n},\lambda)=p(\RVARC_t|\RVARC_{t-1},\RVARC_{t+1}, \RVAR_t,\lambda) 
= \frac{p(\RVARC_{t+1}, \RVARC_t | \RVARC_{t-1}, \RVAR_t, \lambda)}{p(\RVARC_{t+1}| \RVARC_{t-1}, \RVAR_t, \lambda)} \\ 
& = \frac{p(\RVARC_{t+1} |\RVARC_t, \RVAR_t, \lambda)p(\RVARC_{t} |\RVARC_{t-1}, \RVAR_t, \lambda)}{p(\RVARC_{t+1}| \RVARC_{t-1}, \RVAR_t, \lambda)} 
= \frac{p(\RVARC_{t+1} |\RVARC_t, \lambda)p(\RVAR_{t}, \RVARC_t|\RVARC_{t-1}, \lambda)}{p(\RVARC_{t+1}| \RVARC_{t-1}, \RVAR_t, \lambda)p(\RVAR_t| \RVARC_{t-1}, \lambda)} \\
& = \frac{p(\RVARC_{t+1} |\RVARC_t, \lambda)p(\RVAR_{t} |\RVARC_{t}, \lambda)p(\RVARC_{t} |\RVARC_{t-1}, \lambda)}{p(\RVARC_{t+1}| \RVARC_{t-1}, \RVAR_t, \lambda)p(\RVAR_t| \RVARC_{t-1}, \lambda)} 
= \frac{A_{\RVARC_t, \RVARC_{t+1}}p_{\theta_{\RVARC_t}}(\RVAR_{t})A_{\RVARC_{t-1},\RVARC_t}}{\sum_{k=1}^\NVARC A_{k,\RVARC_{t+1}}p_{\theta_{k}}(\RVAR_{t})A_{\RVARC_{t-1},k}}
\end{align*}
Les cas particuliers de $t=1$ et $t=n$ sont à traiter en exercice.

L'étape 2 est identique à l'étape équivalente des modèles de mélanges indépendants, l'équation \eqref{eq:Generatif:melanges_theta_post} restant valide.

L'étape 3 est basée sur le fait que les lois de Dirichlet forment une famille conjuguée et que $p(A_k|\MVARC_m, \ts{\RVAR}{1}{n},\lambda_{m+1,-A_k})$ a l'expression explicite~$\MD(\alpha_1^k~+~\nu_1^k,~\ldots,~\alpha_\NVARC^k~+~\nu_\NVARC^k)$ où $\nu_j^k$ est le nombre de transitions de l'état $j$ vers l'état $k$ dans $\ts{\RVARC}{1}{n}$.

En général, il est utile pour la validation et l'interprétation du modèle de donner une valeur aux $\VARC_t$. On peut alors utiliser l'ensemble des valeurs simulées lors des itérations en gardant les séquences les plus probables. Une alternative est de faire une estimation ponctuelle de $\lambda$, puis d'utiliser la valeur de $\ts{\VARC}{1}{n}$ la plus probable sachant $\lambda$ et $\ts{\RVAR}{1}{n}$ (voir exercice). Comme pour les mélanges indépendants, on peut utiliser le critère BIC pour déterminer le nombre d'états cachés $\NVARC$.