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.