Ich verwende einen Metropolis-Sampler (C ++) und möchte die Konvergenzrate anhand der vorherigen Samples schätzen.
Eine einfach zu implementierende Diagnose, die ich gefunden habe, ist die Geweke-Diagnose , die die Differenz zwischen den beiden Stichprobenmitteln dividiert durch ihren geschätzten Standardfehler berechnet. Der Standardfehler wird aus der spektralen Dichte bei Null geschätzt.
wobei , B zwei Fenster innerhalb der Markov-Kette sind. Ich habe einige Nachforschungen angestellt, was ^ S A θ ( 0 ) und ^ S B θ ( 0 ) sind , bin aber in ein Durcheinander von Literatur über spektrale Energiedichte und -leistung geratenLeistungsdichtespektrum , aber ich bin kein Experte zu diesen Themen; Ich brauche nur eine kurze Antwort: Entsprechen diese Größen der Stichprobenvarianz? Wenn nicht, wie lautet die Formel für die Berechnung?
Ein weiterer Zweifel an dieser Geweke-Diagnose ist, wie man auswählt . Die obige Literatur gesagt , dass es einige funktionelle ist θ ( X ) und sollte eine Existenz einer Spektraldichte implizieren ^ S A θ ( 0 ) halber besteht der einfachste Weg jedoch darin, die Identitätsfunktion zu verwenden (verwenden Sie die Proben selbst). Ist das richtig?
Das R- Coda-Paket enthält eine Beschreibung, gibt jedoch auch nicht an, wie die Werte berechnet werden sollen.
quelle
coda
Funktion schauen, umgeweke.diag
zu sehen, was es tut ...Antworten:
Sie können den Code für die
geweke.diag
Funktion imcoda
Paket durchsehen, um zu sehen, wie die Varianz über den Aufruf derspectrum.ar0
Funktion berechnet wird .Hier ist eine kurze Begründung für die Berechnung der spektralen Dichte eines AR (p ) bei Null verarbeiten.
Die spektrale Dichte eines AR (p ) mit der Frequenz verarbeiten λ ist gegeben durch den Ausdruck:
Dieser Ausdruck vereinfacht die Berechnung der spektralen Dichte eines AR (p ) verarbeiten um 0 :
Die Berechnung würde dann ungefähr so aussehen (anstelle der üblichen Schätzer für Parameter):
quelle
Überprüfen Sie die Wikipedia-Seite . Du wirst sehenSx x( ω ) , das ist die spektrale Dichte. In Ihrem Fall sollten Sie verwendenSx x( 0 ) .
quelle