Je conçois un algorithme d'échantillonnage hybride de Monte Carlo pour PyMC , et j'essaie de le rendre aussi simple et général que possible, donc je cherche de bons conseils sur la conception d'un algorithme HMC. J'ai lu le chapitre d'enquête de Radford et Beskos et. L'article récent de al. sur l'optimisation optimale (taille de pas) de la console HMC et j'ai rassemblé les conseils suivants:
- Les variables de momentum devraient être distribuées avec la covariance , où C est généralement quelque chose comme la matrice de covariance de la distribution (pour les distributions simples), mais pourrait en théorie être différent (pour les distributions de forme amusante). Par défaut, j'utilise la toile de jute en mode.
- Les trajectoires doivent être calculées avec la méthode du saute-mouton (les autres intégrateurs ne semblent pas en valoir la peine)
- Le taux d'acceptation optimal est de 0,651 pour les très gros problèmes et sinon plus élevé.
- La taille de l' étape doit être mis à l' échelle comme , où L est une variable libre et d est le nombre de dimensions.
- La taille des marches doit être plus petite lorsqu'il y a des queues légères ou autrement des régions avec des caractéristiques de stabilité impaires. La randomisation de la taille des pas peut aider à cela.
Y a-t-il d'autres idées que je devrais adopter ou au moins considérer? D'autres papiers que je devrais lire? Par exemple, existe-t-il des algorithmes de taille de pas adaptatifs qui en valent la peine? Y a-t-il de bons conseils sur la longueur de la trajectoire? Existe-t-il en fait de meilleurs intégrateurs?
Quelqu'un veuillez en faire un wiki communautaire.