Ich muss die Dichtefunktion basierend auf einer Reihe von Beobachtungen mit dem Kernel-Dichteschätzer abschätzen. Basierend auf den gleichen Beobachtungen muss ich auch die erste und die zweite Ableitung der Dichte unter Verwendung der Ableitungen des Kerndichteschätzers schätzen. Die Bandbreite wird sicherlich einen großen Einfluss auf das Endergebnis haben.
Zunächst weiß ich, dass es einige R-Funktionen gibt, die die KDE-Bandbreite angeben. Ich bin mir nicht sicher, welches bevorzugter ist. Kann jemand eine dieser R-Funktionen für die KDE-Bandbreite empfehlen?
Zweitens, sollte ich für die Ableitung von KDE dieselbe Bandbreite wählen?
r
nonparametric
pdf
kernel-smoothing
user13154
quelle
quelle
Antworten:
Die optimale Bandbreite für die Ableitungsschätzung unterscheidet sich von der Bandbreite für die Dichteschätzung. Im Allgemeinen verfügt jedes Merkmal einer Dichte über einen eigenen optimalen Bandbreitenselektor.
Wenn es Ihr Ziel ist, den mittleren integrierten quadratischen Fehler (das ist das übliche Kriterium) zu minimieren, ist nichts Subjektives daran. Es geht darum, den Wert abzuleiten, der das Kriterium minimiert. Die Gleichungen sind in Abschnitt 2.10 von Hansen (2009) angegeben .
Der schwierige Teil ist, dass die optimale Bandbreite eine Funktion der Dichte selbst ist, so dass diese Lösung nicht direkt nützlich ist. Es gibt eine Reihe von Methoden, um dieses Problem zu lösen. Diese approximieren normalerweise einige Funktionen der Dichte unter Verwendung normaler Approximationen. (Es gibt keine Annahme, dass die Dichte selbst normal ist. Die Annahme ist, dass einige Funktionen der Dichte unter der Annahme der Normalität erhalten werden können.)
Wo die Annäherungen auferlegt werden, bestimmt, wie gut der Bandbreitenselektor ist. Der gröbste Ansatz wird als "normale Referenzregel" bezeichnet, die die Annäherung auf einem hohen Niveau auferlegt. Das Ende von Abschnitt 2.10 in Hansen (2009) gibt die Formel unter Verwendung dieses Ansatzes an. Dieser Ansatz ist in der
hns()
Funktion aus demks
Paket auf CRAN implementiert . Das ist wahrscheinlich das Beste, was Sie bekommen, wenn Sie keinen eigenen Code schreiben möchten. So können Sie die Ableitung einer Dichte wie folgt abschätzen (mitks
):Ein besserer Ansatz, der üblicherweise als "Direct Plug In" -Selektor bezeichnet wird, erzwingt die Annäherung auf einer niedrigeren Ebene. Für die direkte Dichteschätzung ist dies die in R implementierte Sheather-Jones-Methode
density(x,bw="SJ")
. Ich glaube jedoch nicht, dass es in einem R-Paket eine ähnliche Möglichkeit für die Ableitungsschätzung gibt.Anstatt die direkte Kernelschätzung zu verwenden, ist ein lokaler Polynomschätzer möglicherweise besser geeignet. Dies kann mit der
locpoly()
Funktion aus demks
Paket in R erfolgen. Auch hier ist keine optimale Bandbreitenauswahl implementiert, aber die Abweichung ist geringer als bei Kernel-Schätzern. z.B,quelle