Es gibt ein bisschen Latein, das besagt "omne trium perfectum" oder "alles, was zu dritt kommt, ist perfekt." Ich hatte nicht vor, drei Beiträge hintereinander zu schreiben Markov-Kette Monte Carlo (MCMC), aber manchmal sind die Sterne so ausgerichtet, dass sich die Geschichte weiter schreibt.
Aber zuerst ein Witz:
Ein Bayesianer und ein Frequentist bewerben sich für den gleichen Job. Der Interviewer sagt dem Frequentisten: "Tut mir leid, das zu sagen. Sie sind ein großartiger Kandidat, aber wir haben uns für den Bayesian entschieden. "Der Frequentist ist enttäuscht, sagt aber:" Ich verstehe, aber können Sie mir sagen, was das Gleichgewicht zu ihren Gunsten ausmachte? "Der Interviewer sagt:" Auf dem Papier, Sie haben beide die gleiche Qualifikation. Der Bayesianer hat jedoch bereits Erfahrung. "
Dieser Beitrag ist eigentlich das Ergebnis einiger Rückmeldungen, die wir von einem unserer Mitglieder erhalten haben JMP Benutzer, die häufig Modelle verwenden, die WinBUGS verwenden. Während er das gefunden hat MCMC-Diagnose Da das Add-In für die Untersuchung der hinteren Samples nützlich war, fiel es ihm schwer, die WinBUGS-Ausgabe in die entsprechende Form zu bringen. Er sandte mir folgendes Beispiel: Wolfinger (1998) analysiert Zugfestigkeitsmessungen für ein Verbundmaterial, das in Flugzeugkomponenten verwendet wird (Daten in Tabelle 4 in Vangel (1992) ) mit einem Modell mit 8 Parametern. Wenn Sie 11.000 hintere Samples (vorausgesetzt, die ersten 1.000 sind Burn-In-Samples, die geworfen werden) anfordern, werden für eine einzelne Kette zwei Ausgabedateien in WinBUGS generiert. Die erste, index.txt, ist eine Liste von Parametern mit den Start- und Stopp-Beobachtungsnummern. In diesem Beispiel sieht der Inhalt von index.txt so aus:
a [1] 1 11000
a [2] 11001 22000
a [3] 22001 33000
a [4] 33001 44000
a [5] 44001 55000
mu 55001 66000
Sigma2.a 66001 77000
Sigma2.e 77001 88000
Die zweite Datei namens chain 1.txt enthält 2 Spalten. Die erste Spalte ist die Iterationsnummer 1 bis 11.000, die achtmal wiederholt wird, während die zweite Spalte die abgetasteten Werte für die 8 Parameter enthält. im Wesentlichen eine 88.000 x 2 Matrix. Wie können diese Ausgabedateien vom JMP MCMC-Diagnose-Add-In verwendet werden (wobei davon ausgegangen wird, dass Zeilen Proben innerhalb von Ketten und Spalten Parameter sind)? Wenden Sie einfach das frei verfügbare an WinBUGS in JMP-Konvertierungs-Add-In ! (Zum Herunterladen wird ein kostenloses SAS-Profil benötigt.) Das Add-In fragt nach dem Verzeichnispfad der WinBUGS-Ausgabedateien (index.txt und chain 1.txt, chain 2.txt usw.) und erstellt eine JMP-Tabelle mit dem Namen MCMC-Beispiele (die gespeichert werden kann) mit einem neuen Namen). Siehe Abbildung 1.

Abbildung 1. JMP-Tabelle mit MCMC-Beispielen, die aus WinBUGS-Ausgabedateien konvertiert wurden
Ein paar Punkte zu beachten. Zunächst enthält die Datentabelle in Abbildung 1 die ersten 1.000 Proben, die zum Einbrennen vorgesehen waren. Ich kann entweder die Zeilen aus der Tabelle löschen oder die Zeilen aus der Analyse ausschließen, indem Sie die ersten 1000 Zeilen auswählen, mit der rechten Maustaste klicken und "Ausschließen / Unexclude" auswählen. Dies bewirkt, dass das MCMC-Diagnose-Add-In diese Zeilen ignoriert, als ob sie nicht vorhanden wären. Ich kann es später immer wieder aufheben, wenn ich die Burn-In-Stichproben genauer untersuchen möchte, beispielsweise um die Konvergenzgeschwindigkeit in Spurzeichnungen zu beurteilen. Zweitens beachten Sie, wie die Parameter a wurden in a_i umbenannt. Dies war beabsichtigt, sodass Variablennamen vom Konvertierungsprozess nicht als Array interpretiert wurden. Notieren Sie dies, wenn Sie Ihre Parameter innerhalb von WinBugs benennen, da die Konvertierung Spalten mit doppelten Namen ergeben kann.
Referenz
Wolfinger RD. (1998). Toleranzintervalle für Varianzkomponentenmodelle unter Verwendung der Bayes'schen Simulation. Journal für Qualitätstechnologie 30: 18–32.