커널 밀도 추정을 위해 R 의 ' density '기능 을 사용하려고합니다 . 곡선 아래 면적이 반드시 1 인 것처럼 보이지 않기 때문에 결과를 해석하고 다양한 데이터 세트를 비교하는 데 약간의 어려움이 있습니다. 확률 밀도 함수 (pdf) 경우 입니다. 커널 밀도 추정치가 pdf를보고한다고 가정합니다. 내가 사용하고 integrate.xy 에서 sfsmisc 곡선 아래의 면적을 추정 할 수 있습니다.
> # 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)
곡선 아래 면적이 항상 1이 아니어야합니까? 작은 대역폭이 문제인 것 같지만 때로는 꼬리에 세부 사항 등을 표시하고 작은 대역폭이 필요합니다.
업데이트 / 답변 :
통합 점의 수가 증가하면 문제가 줄어드는 것처럼 볼록 영역의 과대 평가에 대한 아래의 대답은 올바른 것 같습니다 ( 점 이상을 사용하려고 시도하지 않았습니다 ).
> 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