Próbuję użyć funkcji „ gęstości ” w R do oszacowania gęstości jądra. Mam pewne trudności z interpretacją wyników i porównywaniem różnych zestawów danych, ponieważ wydaje się, że obszar pod krzywą niekoniecznie jest 1. Dla każdej funkcji gęstości prawdopodobieństwa (pdf) musimy mieć obszar ∫ ∞ - ∞ ϕ ( x ) d x = 1 . Zakładam, że oszacowanie gęstości jądra zgłasza pdf. Korzystam z integrate.xy z sfsmisc, aby oszacować obszar pod krzywą.
> # 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)
Czy obszar pod krzywą nie powinien zawsze wynosić 1? Wygląda na to, że małe przepustowości stanowią problem, ale czasami chcesz pokazać szczegóły itp. W ogonach i potrzebne są małe przepustowości.
Aktualizacja / odpowiedź:
> 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