Ich habe einen Vektor X
von N=900
Beobachtungen, die am besten mit einem globalen Bandbreitenkerndichteschätzer modelliert werden können (parametrische Modelle, einschließlich dynamischer Mischungsmodelle, erwiesen sich als nicht gut passend):
Jetzt möchte ich von diesem KDE aus simulieren. Ich weiß, dass dies durch Bootstrapping erreicht werden kann.
In R kommt es auf diese einfache Codezeile an (die fast Pseudocode ist): x.sim = mean(X) + { sample(X, replace = TRUE) - mean(X) + bw * rnorm(N) } / sqrt{ 1 + bw^2 * varkern/var(X) }
Hier wird der geglättete Bootstrap mit Varianzkorrektur implementiert und varkern
die Varianz der ausgewählten Kernelfunktion (z. B. 1 für einen Gaußschen Kernel).
Was wir mit 500 Wiederholungen bekommen, ist das Folgende:
Es funktioniert, aber es fällt mir schwer zu verstehen, wie das Mischen von Beobachtungen (mit etwas zusätzlichem Rauschen) dasselbe ist wie das Simulieren aus einer Wahrscheinlichkeitsverteilung? (die Verteilung ist hier die KDE), wie bei Standard Monte Carlo. Ist Bootstrapping außerdem die einzige Möglichkeit, von einem KDE aus zu simulieren?
BEARBEITEN: Weitere Informationen zum geglätteten Bootstrap mit Varianzkorrektur finden Sie in meiner Antwort unten.
Antworten:
Es sollte klar sein, dass dies eine genaue Probe ergibt.
Ich denke jedoch nicht, dass die Verteilung der Stichproben gleich ist.
quelle
Um Verwirrung darüber zu vermeiden, ob es möglich ist, mithilfe eines Bootstrap-Ansatzes Werte aus dem KDE zu ziehen oder nicht, ist dies möglich . Der Bootstrap ist nicht auf das Schätzen von Variabilitätsintervallen beschränkt.
Das R-Code-Snippet in meiner obigen Frage folgt genau diesem Algorithmus.
Die Vorteile des geglätteten Bootstraps gegenüber dem Bootstrap sind:
quelle