Estoy tratando de usar la función ' densidad ' en R para hacer estimaciones de densidad del núcleo. Tengo algunas dificultades para interpretar los resultados y comparar varios conjuntos de datos, ya que parece que el área bajo la curva no es necesariamente 1. Para cualquier función de densidad de probabilidad (pdf) , necesitamos tener el área ∫ ∞ - ∞ ϕ ( x ) d x = 1 . Supongo que la estimación de densidad del núcleo informa el pdf. Estoy usando integrate.xy de sfsmisc para estimar el área bajo la curva.
> # generate some data
> xx<-rnorm(10000)
> # get density
> xy <- density(xx)
> # plot it
> plot(xy)
> # load the library
> library(sfsmisc)
> integrate.xy(xy$x,xy$y)
[1] 1.000978
> # fair enough, area close to 1
> # use another bw
> xy <- density(xx,bw=.001)
> plot(xy)
> integrate.xy(xy$x,xy$y)
[1] 6.518703
> xy <- density(xx,bw=1)
> integrate.xy(xy$x,xy$y)
[1] 1.000977
> plot(xy)
> xy <- density(xx,bw=1e-6)
> integrate.xy(xy$x,xy$y)
[1] 6507.451
> plot(xy)
¿No debería ser el área bajo la curva siempre 1? Parece que los pequeños anchos de banda son un problema, pero a veces desea mostrar los detalles, etc. en las colas y se necesitan pequeños anchos de banda.
Actualización / respuesta:
> xy <- density(xx,n=2^15,bw=.001)
> plot(xy)
> integrate.xy(xy$x,xy$y)
[1] 1.000015
> xy <- density(xx,n=2^20,bw=1e-6)
> integrate.xy(xy$x,xy$y)
[1] 2.812398