Y a-t-il un échantillonneur Monte Carlo / MCMC mis en œuvre qui peut traiter des maxima locaux isolés de distribution postérieure?


10

J'utilise actuellement une approche bayésienne pour estimer les paramètres d'un modèle composé de plusieurs ODE. Comme j'ai 15 paramètres à estimer, mon espace d'échantillonnage est à 15 dimensions et ma distribution postérieure recherchée semble avoir de nombreux maxima locaux qui sont très isolés par de grandes régions de très faible probabilité.

Cela conduit à des problèmes de mélange de mes chaînes Monte Carlo car il est très peu probable qu'une chaîne "saute" d'un maximum local et frappe accidentellement l'un des autres maxima.

Il semble y avoir beaucoup de recherches dans ce domaine car il est facile de trouver des articles traitant de ce problème (voir ci-dessous), mais trouver une mise en œuvre réelle est difficile. Je n'ai trouvé que des packages relatifs à la dynamique moléculaire, mais pas l'inférence bayésienne. Existe-t-il des implémentations d'échantillonneurs (MC) MC capables de gérer des maxima locaux isolés?

Je suis obligé de travailler avec Matlab car c'est ce que mon modèle ODE est écrit, donc les propositions concernant Matlab sont les bienvenues ;-). Cependant, s'il y a une "application tueur" dans une autre langue, je peux peut-être convaincre mon IP de changer ;-).

Je travaille actuellement avec un échantillonneur Monte Carlo à rejet différé / adaptatif écrit par Haario, Laine et al. , et c'est aussi le seul échantillonneur que j'ai pu trouver jusqu'à présent qui soit plus sophistiqué que l'algorithme standard de Metropolis-Hastings


Les approches notables semblent être:

EDIT Mis à jour le 2017-mars-07 avec ce que j'ai appris entre-temps

Plusieurs chaînes similaires avec différents points de départ

Adaptation inter-chaîne. Utilisez la matrice de covariance empirique des échantillons regroupés générés par plusieurs chaînes indépendantes pour mettre à jour les matrices de covariance des distributions de proposition de la chaîne. (1)

Plusieurs chaînes avec une trempe différente

Tempérage: Une sorte de "température" semble modifier le paysage postérieur, rendant plus probable le mélange des chaînes. (Je n'ai pas encore plongé dans ce sujet) (1) Le but du tempérage est d'aplatir le paysage de probabilité (de grande dimension) formé par la distribution de probabilité postérieure. Il est généralement accompli en prenant la probabilité postérieure à la puissance de , où le paysage postérieur est aplati pour (3, p.298). Cela signifie qu'au lieu de calculer la probabilité postérieure d'un état , étant donné les données la probabilité postérieure tempérée est calculéeT > 11/TT>1p(θ)θ

p(θ)1/T(p(θ)p(θ))1/T

Plus le est élevé , plus les pics sont plats et larges dans le paysage de probabilité. Par conséquent, des valeurs plus élevées de conduisent à une plus grande probabilité que l'échantillonneur passe d'un maximum local à un autre. Cependant, n'est pas la distribution postérieure recherchée si . Par conséquent, la chaîne d'échantillons de cette distribution doit être utilisée pour permettre l'échantillonnage de par la suite.TTp(θ)1/TT1p(θ)

Des échantillons de la distribution postérieure originale non tempérée, des échantillons donnés d'une version tempérée de cette distribution peuvent être obtenus par plusieurs méthodes:

  • Metropolis couplé MCMC exécuter plusieurs chaînes simultanément, chacune ayant une valeur différente mais constante . Changez les états de deux chaînes de manière probabiliste. Utilisez uniquement les échantillons de la chaîne avec pour les estimations en aval; les autres chaînes s'assurent juste que tous les pics sont échantillonnés. Réf. (4) a un algorithme parallèle et cite un article de conférence et un manuel pour l'idée (5,6)TT=1

  • MCMC Small-World. Sampler bascule entre deux propositions. Le plus souvent, une distribution de proposition avec une petite variance est utilisée, rarement une proposition avec une grande variance est utilisée. Le choix entre ces deux propositions est stochastique. Les propositions avec une grande variance peuvent également être tirées d'une autre chaîne qui ne fait que de très grands sauts, échantillonnant autant que possible l'espace d'échantillonnage de manière approximative. (2,7)

Hamiltonian Monte Carlo (HMC)

Je ne sais pas grand-chose à ce sujet, mais l'échantillonneur No-U-Turn (NUTS) de JAGS semble l'utiliser. Voir réf. (8). Alex Rogozhnikov a créé un didacticiel visuel sur le sujet.


Références:

(1) Craiu et al., 2009: Apprenez de votre voisin: MCMC à chaînes parallèles et régionales adaptatives. J Am Stat Assoc 104: 488, p. 1454-1466. http://www.jstor.org/stable/40592353

(2) Guam et al., 2012: Small World MCMC with tempering: Ergocity and spectral gap. https://arxiv.org/abs/1211.4675 ( uniquement sur arXiv )

(3): Brooks et al. (2011). Manuel de la chaîne Markov Monte Carlo. Presse CRC.

(4): Altekar et al. (2004): Parallel Metropolis couplé chaîne de Markov Monte Carlo pour l'inférence phylogénétique bayésienne. Bioinformatics 20 (3) 2004, pp. 407–415, http://dx.doi.org/10.1093/bioinformatics/btg427

(5): Geyer CJ (1991) Chaîne de Markov Monte Carlo maximum de vraisemblance. Dans: Keramidas (éd.), Computing Science and Statistics: Proceedings of the 23rd Symposium on the Interface . Interface Foundation, Fairfax Station, p. 156–163.

(6): Gilks ​​WR et Roberts GO (1996). Stratégies pour améliorer MCMC. Dans: Gilks ​​WR, Richardson S et Spiegelhalter (éditeurs) Markov chain Monte Carlo in Practice . Chapman & Hall, p. 89-114.

(7): Guan Y et al. Markov Chain Monte Carlo dans les petits mondes. Statistics and Computing (2006) 16 (2), pp. 193-202. http://dx.doi.org/10.1007/s11222-006-6966-6

(8): Hoffmann M et Gelman A (2014): The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo. Journal of Machine Learning Research , 15, p. 1351-1381. https://arxiv.org/abs/1111.4246

Réponses:


1

Aucune des stratégies ci-dessus n'est particulièrement adaptée à plusieurs optima.

Un meilleur choix est MCMC à évolution différentielle et MCMC dérivés tels que DREAM. Ces algorithmes fonctionnent avec plusieurs chaînes MCMC qui sont mélangées pour générer des propositions. Si vous avez au moins une chaîne dans chaque optima, ils pourront sauter efficacement entre les optima. Une implémentation en R est disponible ici https://cran.r-project.org/web/packages/BayesianTools/index.html

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.