Pourquoi MCMC: quand le posterior n'a plus de formule
Les deux modules précédents vivaient dans un monde confortable: prior conjugue, posterior avec formule exacte (Beta, gaussienne). Ce confort est l'exception, pas la règle.
Où le confort s'arrête. Des que le modèle devient réaliste, le posterior
$$P(\theta \mid \text{données}) = \frac{P(\text{données} \mid \theta) \, P(\theta)}{\int P(\text{données} \mid \theta') \, P(\theta') \, d\theta'}$$
bute sur son dénominateur: une intégrale sur TOUTES les valeurs possibles des paramètres. Avec 2 paramètres, on peut encore quadriller numériquement. Avec 50 (un modèle hiérarchique modeste), l'intégrale est hors de portée de toute machine: c'est la malédiction de la dimension.
L'idée géniale de MCMC (Markov Chain Monte Carlo):
On n'a pas besoin de CALCULER le posterior. On a besoin d'en tirer des ÉCHANTILLONS: avec 10000 tirages de $\theta$, on estime tout ce qu'on veut (moyenne, intervalles, $P(\theta > 0.1)$...) par simple comptage.
Et le coup de maître: pour échantillonner, le numérateur $P(\text{données} \mid \theta) P(\theta)$ suffit. L'intégrale impossible du dénominateur disparaît dans l'algorithme, car il ne manipule que des RAPPORTS de densités entre deux points (le dénominateur, identique en haut et en bas, se simplifie).
La famille d'algorithmes:
| Algorithme | Idée | Usage |
|---|---|---|
| Metropolis-Hastings (1953-1970) | marche aléatoire + règle d'acceptation | pédagogie, cas simples |
| Gibbs (1984) | échantillonner un paramètre à la fois | modèles conditionnellement conjugues |
| HMC / NUTS (2011) | utiliser le GRADIENT pour proposer loin et bien | le standard actuel (PyMC, Stan) |
Dans ce module: on code Metropolis-Hastings à la main pour comprendre la mécanique, puis on délègue à PyMC/NUTS pour le travail sérieux.