Quel algorithme adaptatif Metropolis Hastings est implémenté dans le package R MHadaptive?

7

Il existe plusieurs versions des algorithmes adaptatifs de Metropolis Hastings. L'une est implémentée dans la fonction Metro_Hastingsde Rpackage MHadaptive, voir ici . La référence qui y figure, Spiegelhalter et al. (2002), ne contient malheureusement pas de description d'aucun algorithme adaptatif, à ma connaissance. Cependant, l' Metro_Hastingsalgorithme fonctionne très bien dans l'échantillonnage de la distribution postérieure du modèle que je considère, c'est pourquoi je veux comprendre ses détails.

J'ai un peu inversé l'algorithme. Quelqu'un reconnaît-il cet algorithme MH adaptatif? Voilà ce que cela fait:

Soit la densité cible. Initialisez .qθ0,je=0,Σ

Pour itérations :n{je=1,...,n}

  1. Proposer .θ1N(θ1|θ0,je-1,Σ)
  2. Acceptez avec une probabilité . Si vous acceptez, définissez \ theta_ {0, i}: = \ theta_1 . Si rejet: \ theta_ {0, i}: = \ theta_ {0, i-1} .θ1UNE=min{1,q(θ1)/q(θ0,je)}θ0,je: =θ1θ0,je: =θ0,je-1

Si je=j , où j un vecteur défini de sorte que tout élément de j>X (par défaut X=100 ), il y a un espacement de y itérations entre les éléments (par défaut y=20 ), et aucun élément j>z (par défaut z=0,75n ), faites:

  1. Sélectionnez θ~={θ0k,...,θ0,je} (par défaut k=0,5je ).
  2. Mise à jour: Σ: =S(θ~)S l'estimateur du maximum de vraisemblance de la matrice de covariance de la variance de θ~ supposant une normalité multivariée.

Les étapes 1 et 2 sont MH standard. Les étapes 3 et 4 sont les adaptations qui se produisent aux étapes et utilisent les itérations passées pour mettre à jour vers la matrice de covariance des itérations passées.jj-kΣ

tomka
la source
1
désolé pour la question idiote, mais avez-vous essayé de contacter le propriétaire du package (premier) et David Spiegelhalter (second)? Le propriétaire du forfait a quitté McGill il y a quelques années, il est donc tout à fait possible que l'adresse e-mail du colis ne soit plus surveillée. Cependant, avec juste un peu de Google-fu, vous pouvez facilement trouver ses contacts actuels (bien sûr, je ne partage pas ici parce que je ne sais pas s'il le souhaite). Si vous ne pouvez pas le contacter, David Spiegelhalter est un gars vraiment sympa, et je pense qu'il vous répondrait si vous lui envoyiez un mail.
DeltaIV
@DeltaIV Je l'ai contacté mais je n'ai pas reçu de réponse. Je n'ai pas envisagé d'écrire à Spiegelhalter à la place, car il est simplement cité (à tort, à mon humble avis) et je ne sais pas s'il connaît le paquet. J'ai contacté l'auteur à l'adresse e-mail indiquée dans le colis. Il est toujours actif apparemment et je n'ai donc pas envisagé de le trouver ailleurs. Je vais essayer ça.
tomka
Je suis d'accord qu'il est peu probable que Spiegelhalter connaisse les packages: c'est pourquoi j'ai suggéré de contacter d'abord le propriétaire du package. Cependant, il peut connaître l'algorithme que vous décrivez (ou peut-être pas, s'il a été cité à tort comme vous le suspectez). Si vous parvenez à obtenir une réponse à votre question, faites-le nous savoir, je suis curieux.
DeltaIV
1
@DeltaIV Je ne peux pas identifier une adresse e-mail dans son établissement actuel. Je devrai probablement en rester là à moins que vous ne puissiez me le signaler.
Tomka
bien sûr, discutons-en dans le chat . J'espère qu'il est clair que je veux aider, j'étais juste préoccupé par la confidentialité du propriétaire du colis.
DeltaIV

Réponses:

1

Votre description ressemble à l' algorithme adaptatif de Haario et al (1999) . L'idée est en effet de mettre à jour la matrice de covariance de la distribution de la proposition en utilisant un nombre fixe d'échantillons récents.

Notez que l'algorithme décrit dans Haario et al (1999) fonctionne bien, mais n'est PAS ergodique. Haario et al (2001) ont décrit un algorithme amélioré ergodique. L'idée est de mettre à jour la matrice de covariance de la distribution de la proposition en utilisant tous les échantillons précédents.

Heisenberg
la source