Esiste una larghezza di banda ottimale per uno stimatore della densità del kernel dei derivati?


14

Ho bisogno di stimare la funzione di densità sulla base di una serie di osservazioni usando lo stimatore di densità del kernel. Sulla base della stessa serie di osservazioni, devo anche stimare il primo e il secondo derivato della densità usando i derivati ​​dello stimatore della densità del kernel. La larghezza di banda avrà sicuramente un grande effetto sul risultato finale.

Innanzitutto, so che ci sono un paio di funzioni R che forniscono la larghezza di banda di KDE. Non sono sicuro quale sia il più preferito. Qualcuno può consigliare una di queste funzioni R per la larghezza di banda di KDE?

In secondo luogo, per la derivata di KDE, dovrei scegliere la stessa larghezza di banda?


Per una densità la scelta della larghezza di banda è sempre in qualche modo soggettiva. È una questione di ciò che è troppo stretto e quindi causa una variazione nella curva che sta essenzialmente seguendo il rumore rispetto a troppo largo dove la curva è troppo liscia e manca alcune caratteristiche reali nella curva. Ma si stima la densità per scoprire la forma. Quindi, quanto dovrebbe essere liscia la stima non è facile da sapere. Per i derivati ​​penso che dipenda da quale caratteristica del derivato si desidera conoscere.
Michael R. Chernick,

Risposte:


15

La larghezza di banda ottimale per la stima dei derivati ​​sarà diversa dalla larghezza di banda per la stima della densità. In generale, ogni caratteristica di una densità ha il proprio selettore di larghezza di banda ottimale.

Se il tuo obiettivo è minimizzare l'errore quadratico integrato medio (che è il solito criterio) non c'è nulla di soggettivo al riguardo. Si tratta di derivare il valore che minimizza il criterio. Le equazioni sono riportate nella sezione 2.10 di Hansen (2009) .

La parte difficile è che la larghezza di banda ottimale è una funzione della densità stessa, quindi questa soluzione non è direttamente utile. Esistono diversi metodi per provare a risolvere questo problema. Questi di solito approssimano alcuni funzionali della densità usando approssimazioni normali. (Si noti che non si suppone che la densità stessa sia normale. Si presume che alcuni funzionali della densità possano essere ottenuti assumendo la normalità.)

Dove vengono imposte le approssimazioni determina quanto è buono il selettore di larghezza di banda. L'approccio più rozzo è chiamato la "regola di riferimento normale" che impone l'approssimazione a un livello elevato. La fine della Sezione 2.10 di Hansen (2009) fornisce la formula usando questo approccio. Questo approccio è implementato nella hns()funzione dal kspacchetto su CRAN. Questo è probabilmente il migliore che otterrai se non vuoi scrivere il tuo codice. Quindi puoi stimare la derivata di una densità come segue (usando ks):

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

Un approccio migliore, generalmente noto come selettore "plug-in diretto", impone l'approssimazione a un livello inferiore. Per la stima della densità lineare, questo è il metodo Sheather-Jones, implementato in R utilizzando density(x,bw="SJ"). Tuttavia, non penso che ci sia una struttura simile disponibile in qualsiasi pacchetto R per la stima dei derivati.

Invece di usare la stima diretta del kernel, potresti stare meglio con uno stimatore polinomiale locale. Questo può essere fatto usando la locpoly()funzione dal kspacchetto in R. Anche in questo caso, non è stata implementata una selezione ottimale della larghezza di banda, ma il bias sarà minore rispetto agli stimatori del kernel. per esempio,

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

Grazie mille, Rob. Probabilmente userò la larghezza di banda SJ per la stima della densità.
user13154

Per la stima derivata, se uso h <- hns (x); den <- kdde (x, h = h, deriv.order = 1), è h la larghezza di banda ottimale utilizzata per la stima. Lo sto chiedendo perché h <- hns (x) viene scelto senza specificare l'ordine derivato. Grazie.
user13154

Ho controllato la formula fornita alla fine della Sezione 2.10 in Hansen (2009). Sembra che la larghezza di banda dipenda dall'ordine della derivata, diciamo per la derivata. h <- hns (x) non sembra dipendere da r.
user13154

Ho appena scoperto che la funzione hns ha un argomento deriv.order in cui posso specificare l'ordine dei derivati. Grazie ancora moltissimo, Rob.
user13154

Scusa. L'ho lasciato fuori. Ora risolto.
Rob Hyndman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.