Czy istnieje optymalna przepustowość dla estymatora gęstości jądra instrumentów pochodnych?

14

Muszę oszacować funkcję gęstości na podstawie zestawu obserwacji za pomocą estymatora gęstości jądra. Na podstawie tego samego zestawu obserwacji muszę również oszacować pierwszą i drugą pochodną gęstości za pomocą pochodnych estymatora gęstości jądra. Przepustowość z pewnością będzie miała wielki wpływ na końcowy wynik.

Po pierwsze wiem, że istnieje kilka funkcji R, które zapewniają przepustowość KDE. Nie jestem pewien, który jest bardziej preferowany. Czy ktoś może polecić jedną z tych funkcji R dla przepustowości KDE?

Po drugie, czy dla pochodnej KDE powinienem wybrać tę samą przepustowość?

użytkownik13154
źródło
W przypadku gęstości wybór szerokości pasma jest zawsze nieco subiektywny. Jest to pytanie o to, co jest zbyt wąskie i dlatego powoduje zmianę krzywej, która zasadniczo podąża za hałasem w stosunku do zbyt szerokiej, gdy krzywa jest zbyt gładka i nie uwzględnia niektórych rzeczywistych cech na krzywej. Ale szacuje się gęstość, aby znaleźć kształt. Tak więc, jak płynna powinna być ocena, nie jest łatwa do ustalenia. W przypadku instrumentów pochodnych sądzę, że zależy to od tego, o której funkcji pochodnej chcesz wiedzieć.
Michael R. Chernick,

Odpowiedzi:

15

Optymalna szerokość pasma do oszacowania pochodnych będzie inna niż szerokość pasma do oszacowania gęstości. Ogólnie rzecz biorąc, każda cecha gęstości ma swój własny optymalny selektor przepustowości.

Jeśli Twoim celem jest zminimalizowanie średniego zintegrowanego błędu kwadratu (co jest zwykłym kryterium), nie ma w tym nic subiektywnego. Jest to kwestia wyprowadzenia wartości, która minimalizuje kryterium. Równania podano w sekcji 2.10 Hansen (2009) .

Problem polega na tym, że optymalna przepustowość jest funkcją samej gęstości, więc to rozwiązanie nie jest bezpośrednio przydatne. Istnieje wiele metod rozwiązania tego problemu. Zwykle aproksymują one niektóre funkcjonały gęstości za pomocą normalnych aproksymacji. (Uwaga: nie ma założenia, że ​​sama gęstość jest normalna. Założeniem jest, że niektóre funkcjonały gęstości można uzyskać przy założeniu normalności.)

To, gdzie są nałożone przybliżenia, określa, jak dobry jest selektor przepustowości. Najgroźniejsze podejście nazywa się „normalną regułą odniesienia”, która nakłada zbliżenie na wysoki poziom. Koniec rozdziału 2.10 w Hansen (2009) podaje formułę wykorzystującą to podejście. To podejście jest realizowane w hns()funkcji z kspakietu CRAN. To prawdopodobnie najlepsze, co otrzymasz, jeśli nie chcesz pisać własnego kodu. Możesz więc oszacować pochodną gęstości w następujący sposób (używając ks):

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

Lepsze podejście, zwykle nazywane selektorem „bezpośredniego podłączenia”, nakłada aproksymację na niższym poziomie. W celu określenia gęstości prostej, to metoda Sheather-Jones, realizowany w R z zastosowaniem density(x,bw="SJ"). Nie sądzę jednak, aby w dowolnym pakiecie R dostępna była podobna funkcja do szacowania instrumentów pochodnych.

Zamiast korzystać z prostego oszacowania jądra, lepiej byłoby skorzystać z lokalnego estymatora wielomianowego. Można to zrobić za pomocą locpoly()funkcji z kspakietu w R. Ponownie, nie ma zaimplementowanego optymalnego wyboru przepustowości, ale odchylenie będzie mniejsze niż w przypadku estymatorów jądra. na przykład,

den2 <- locpoly(x, bandwidth=?, drv=1) # Need to guess a sensible bandwidth
Rob Hyndman
źródło
Dzięki milionowi, Rob. Prawdopodobnie użyję przepustowości SJ do oszacowania gęstości.
user13154,
Do oszacowania pochodnej, jeśli użyję h <- hns (x); den <- kdde (x, h = h, pochodna kolejność = 1), jest h optymalną przepustowością stosowaną do oszacowania. Pytam o to, ponieważ wybrano h <- hns (x) bez określania kolejności pochodnych. Dzięki.
user13154,
Sprawdziłem wzór podany na końcu sekcji 2.10 w Hansenie (2009). Wygląda na to, że szerokość pasma zależy od kolejności pochodnej, powiedzmy r-tej pochodnej. h <- hns (x) nie wydaje się zależeć od r.
użytkownik13154,
Właśnie dowiedziałem się, że funkcja hns ma argument pochodna.zamówienia, w którym mogę określić kolejność pochodnych. Jeszcze raz wielkie dzięki, Rob.
użytkownik13154,
Przepraszam. Pominąłem to. Teraz naprawione.
Rob Hyndman,