Il y a un peu de latin qui dit "omne trium perfectum" ou "tout ce qui vient par trois est parfait". Je n'avais pas l'intention d'écrire trois posts d'affilée sur Markov Chain Monte Carlo (MCMC), mais parfois les étoiles s’alignent de telle sorte que l’histoire continue de s’écrire.
Mais d'abord, une blague:
Un Bayésien et Frequentist postulent pour le même travail. L’intervieweur dit au Frequentist: «Désolé de te dire ça. Vous êtes une excellente candidate, mais nous avons décidé d'aller avec le Bayésien. "La Frequentist est déçue, mais elle dit:" Je comprends, mais pouvez-vous me dire ce qui a fait pencher la balance en sa faveur? " vous avez tous les deux les mêmes qualifications. Cependant, le Bayésien a une expérience antérieure. "
Ce message est en réalité le résultat de commentaires que nous avons reçus de l’un de nos JMP les utilisateurs qui s’intègrent fréquemment aux modèles utilisant WinBUGS. Alors qu'il a trouvé le Diagnostic MCMC complément utile pour explorer les échantillons postérieurs, il a trouvé difficile d’obtenir la sortie WinBUGS sous la forme appropriée. Il m'a envoyé l'exemple suivant: Wolfinger (1998) analyse les mesures de résistance à la traction d'un matériau composite utilisé dans les composants d'aéronef (données du tableau 4 dans Vangel (1992) ) en utilisant un modèle à 8 paramètres. Demander 11 000 échantillons postérieurs (en supposant que les 1 000 premiers soient des échantillons à graver qui seront lancés) pour une seule chaîne génère deux fichiers de sortie dans WinBUGS. Le premier, index.txt, est une liste de paramètres avec les numéros d’observation de début et de fin. Pour cet exemple, le contenu de index.txt ressemble à ceci:
a [1] 1 11000
a [2] 11001 22000
un [3] 22001 33000
un [4] 33001 44000
un [5] 44001 55000
mu 55001 66000
sigma2.a 66001 77000
sigma2.e 77001 88000
Le deuxième fichier appelé chain 1.txt contient 2 colonnes. La première colonne est le numéro d'itération 1 à 11 000 répété 8 fois, tandis que la deuxième colonne contient les valeurs échantillonnées pour les 8 paramètres; essentiellement une matrice de 88 000 x 2. Comment ces fichiers de sortie peuvent-ils être utilisés par le complément JMP MCMC Diagnostic (qui suppose que les lignes sont des exemples dans des chaînes et que les colonnes sont des paramètres)? Il suffit d'appliquer le disponible gratuitement Complément de conversion WinBUGS vers JMP ! (Le téléchargement nécessite un profil SAS gratuit.) Le complément demande l'emplacement du répertoire des fichiers de sortie WinBUGS (index.txt et chaîne 1.txt, chaîne 2.txt, etc.) et crée une table JMP appelée Exemples MCMC avec un nouveau nom). Voir la figure 1.

Figure 1. Tableau JMP des échantillons MCMC convertis à partir des fichiers de sortie WinBUGS
Quelques points à considérer. Premièrement, le tableau de données de la figure 1 inclut les 1 000 premiers échantillons destinés au rodage. Je peux soit supprimer les lignes de la table, soit exclure les lignes de l'analyse en sélectionnant les 1000 premières lignes, en cliquant avec le bouton droit de la souris et en choisissant "Exclure / Unexclude". Ainsi, le complément MCMC Diagnostics ignore ces lignes comme si elles n'étaient pas présentes. Je peux toujours exclure plus tard si je souhaite examiner les échantillons de rodage plus en détail, par exemple, pour évaluer la vitesse de convergence des tracés de trace. Deuxièmement, remarquez comment les paramètres a ont été renommés en a_i. Cela était intentionnel afin que les noms de variables ne soient pas interprétés comme un tableau par le processus de conversion. Notez-le lorsque vous nommez vos paramètres dans WinBugs, car la conversion peut générer des colonnes avec des noms dupliqués.
Référence
Wolfinger RD. (1998). Intervalles de tolérance pour les modèles à composantes de variance utilisant la simulation bayésienne. Journal of Quality Technology 30: 18-32.