Pourquoi MCMC: quand le posterior n'a plus de formule
Les deux modules precedents vivaient dans un monde confortable: prior conjugue,
posterior avec formule exacte (Beta, gaussienne). Ce confort est l'exception, pas la regle.
Ou le confort s'arrete. Des que le modele devient realiste, le posterior
$$P(\theta \mid \text{donnees}) = \frac{P(\text{donnees} \mid \theta) \, P(\theta)}{\int P(\text{donnees} \mid \theta') \, P(\theta') \, d\theta'}$$
bute sur son denominateur: une integrale sur TOUTES les valeurs possibles des parametres.
Avec 2 parametres, on peut encore quadriller numeriquement. Avec 50 (un modele hierarchique
modeste), l'integrale est hors de portee de toute machine: c'est la malediction de la dimension.
L'idee geniale de MCMC (Markov Chain Monte Carlo):
On n'a pas besoin de CALCULER le posterior. On a besoin d'en tirer des ECHANTILLONS:
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 maitre: pour echantillonner, le numerateur $P(\text{donnees} \mid \theta) P(\theta)$
suffit. L'integrale impossible du denominateur disparait dans l'algorithme, car il ne
manipule que des RAPPORTS de densites entre deux points (le denominateur, identique en haut
et en bas, se simplifie).
La famille d'algorithmes:
| Algorithme | Idee | Usage |
|---|---|---|
| Metropolis-Hastings (1953-1970) | marche aleatoire + regle d'acceptation | pedagogie, cas simples |
| Gibbs (1984) | echantillonner un parametre a la fois | modeles 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 a la main pour comprendre la mecanique,
puis on delegue a PyMC/NUTS pour le travail serieux.