"Stima della densità del kernel" è una convoluzione di cosa?


25

Sto cercando di comprendere meglio la stima della densità del kernel.

Utilizzando la definizione da Wikipedia: https://en.wikipedia.org/wiki/Kernel_density_estimation#Definition

fh^(X)=1nΣio=1nKh(X-Xio)=1nhΣio=1nK(X-Xioh)

Prendiamo come una funzione rettangolare che dà 1 se x è compreso tra -0,5 e 0,5 e 0 altrimenti, e h (dimensione della finestra) deve essere 1.1 x - 0,5 0,5 0 hK()1X-0,50,50h

Capisco che la densità è una convoluzione di due funzioni, ma non sono sicuro di sapere come definire queste due funzioni. Uno di questi dovrebbe (probabilmente) essere una funzione dei dati che, per ogni punto in R, ci dice quanti punti dati abbiamo in quella posizione (principalmente 0 ). E l'altra funzione dovrebbe probabilmente essere una modifica della funzione del kernel, combinata con la dimensione della finestra. Ma non sono sicuro di come definirlo.

Eventuali suggerimenti?

Bellow è un esempio di codice R che (sospetto) replica le impostazioni che ho definito sopra (con una combinazione di due gaussiani e n=100 ), su cui spero di vedere una "prova" che le funzioni da contorto sono come sospettiamo .

# example code:
set.seed(2346639)
x <- c(rnorm(50), rnorm(50,2))
plot(density(x, kernel='rectangular', width=1, n = 10**4))
rug(x)

inserisci qui la descrizione dell'immagine


3
Il tuo tappeto in basso dà un'intuizione approssimativa. Immagina che ogni valore da a sia un picco con un peso associato . Ora spalma ogni picco usando la forma e la larghezza del tuo kernel, in modo che il picco sia trasformato per assumere la stessa forma e larghezza, con un'altezza tale che l'area sottostante sia . Aggiungi i risultati e avrai una stima della densità del kernel. i = 1 n 1 / n 1 / nxii=1n1/n1/n
Nick Cox,

Ciao Nick, grazie per il commento. Fin qui nell'intuizione che ho già ottenuto, è trasformarlo formalmente nella forma della convoluzione che ero curioso di vedere :) (Sono ansioso di passare attraverso la risposta di Whuber!)
Tal Galili,

Risposte:


27

Corrispondente a qualsiasi batch di dati è la sua "funzione di densità empirica"X=(X1,X2,...,Xn)

fX(X)=1nΣio=1nδ(X-Xio).

Qui, è una "funzione generalizzata". Nonostante quel nome, non è affatto una funzione: è un nuovo oggetto matematico che può essere utilizzato solo all'interno degli integrali. La sua proprietà determinante è che per qualsiasi funzione di supporto compatto che è continua in un quartiere di ,δg0

Rδ(X)g(X)dX=g(0).

(I nomi per includono la misura "atomica" o "punto" e " Funzione delta di Dirac ." Nel calcolo seguente questo concetto è esteso per includere le funzioni che sono continue da un solo lato.)δgg

Giustificare questa caratterizzazione di è l'osservazione chefX

-XfX(y)dy=-X1nΣio=1nδ(y-Xio)dy=1nΣio=1n-Xδ(y-Xio)dy=1nΣio=1nRio(yX)δ(y-Xio)dy=1nΣio=1nio(XioX)=FX(X)

dove è il solito CDF empirico e è la solita funzione caratteristica (uguale a dove il suo argomento è vero e altrimenti). (Salto un argomento di limitazione elementare necessario per passare da funzioni di supporto compatto a funzioni definite su ; poiché solo bisogno di essere definito per valori all'interno dell'intervallo di , che è compatto, questo non è un problema.)FXio10RioX

La convoluzione di con qualsiasi altra funzione è data, per definizione, comefX(X)K

(fX*K)(X)=RfX(X-y)K(y)dy=R1nΣio=1nδ(X-y-Xio)K(y)dy=1nΣio=1nRδ(X-y-Xio)K(y)dy=1nΣio=1nK(Xio-X).

Lasciando (che è lo stesso di per i kernel simmetrici - e la maggior parte dei kernel sono simmetrici) otteniamo il risultato dichiarato: la formula di Wikipedia è una convoluzione.K(X)=Kh(-X)Kh(X)


1
La situazione in due dimensioni è spiegata (in termini più colloquiali) e illustrata sul sito GIS all'indirizzo gis.stackexchange.com/questions/14374/… .
whuber

1
Caro Whuber, ho appena finito di leggere la tua risposta con gioia! Grazie mille per la spiegazione e i dettagli, le tue risposte (questa e le altre in generale) sono davvero stimolanti. Tuo Tal
Tal Galili,

1
@Jan La tua comprensione non è del tutto corretta. Non esiste una "densità" empirica nel senso di una misura continua finita. La funzione indicatore dei dati si integra a zero (se si utilizza l'integrazione di Lebesgue o l'integrazione di Riemann non fa alcuna differenza). La funzione generalizzata non è affatto una funzione: è un nuovo oggetto matematico che può essere utilizzato solo all'interno degli integrali. La distribuzione empirica è un oggetto matematico che, se integrato con qualsiasi funzione integrabile restituisce la somma (su tutti i dati ) dei valoriδg,Xiog(Xio).
whuber

1
@whuber Grazie. La frase La funzione generalizzata δ non è affatto una funzione: è un nuovo oggetto matematico che può essere utilizzato solo all'interno degli integrali. reso più chiaro. sul punto come sempre. ;)
Jan Vainer,

1
@ Jan Grazie per il tuo aiuto: ho incorporato questa idea in questa risposta.
whuber
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.