Gibt es eine optimale Bandbreite für einen Kernel-Dichteschätzer für Derivate?


14

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?


Für eine Dichte ist die Wahl der Bandbreite immer etwas subjektiv. Es ist eine Frage dessen, was zu eng ist und daher Abweichungen in der Kurve verursacht, die im Wesentlichen dem Rauschen gegenüber zu breit folgen, wenn die Kurve zu glatt ist und einige reale Merkmale in der Kurve fehlen. Aber Sie schätzen die Dichte, um die Form herauszufinden. Wie glatt die Schätzung sein sollte, ist nicht leicht zu wissen. Für Derivate würde ich denken, dass es davon abhängt, welche Funktion des Derivats Sie kennen möchten.
Michael R. Chernick

Antworten:


15

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 dem ksPaket 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 (mit ks):

library(ks)
h <- hns(x,deriv.order=1)
den <- kdde(x, h=h, deriv.order=1)

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 dem ksPaket in R erfolgen. Auch hier ist keine optimale Bandbreitenauswahl implementiert, aber die Abweichung ist geringer als bei Kernel-Schätzern. z.B,

den2 <- locpoly(x, bandwidth=?, drv=1) # Need to guess a sensible bandwidth

Vielen Dank, Rob. Ich werde wahrscheinlich die SJ-Bandbreite für die Dichteschätzung verwenden.
user13154

Verwenden Sie für die Ableitungsschätzung h <- hns (x); den <- kdde (x, h = h, deriv.order = 1) ist h die optimale Bandbreite, die für die Schätzung verwendet wird. Ich frage dies, weil h <- hns (x) ohne Angabe der Ableitungsreihenfolge gewählt wird. Vielen Dank.
user13154

Ich habe die am Ende von Abschnitt 2.10 in Hansen (2009) angegebene Formel überprüft. Es sieht so aus, als ob die Bandbreite von der Reihenfolge der Ableitung abhängt, zum Beispiel der r-ten Ableitung. h <- hns (x) scheint nicht vom r abzuhängen.
user13154

Ich habe gerade herausgefunden, dass die hns-Funktion ein deriv.order-Argument hat, in dem ich die Reihenfolge der Ableitungen angeben kann. Nochmals vielen Dank, Rob.
user13154

Es tut uns leid. Ich habe das ausgelassen. Jetzt behoben.
Rob Hyndman
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.