我正在使用 MASS 包中的“间歇泉”数据集并比较 np 包的内核密度估计。
我的问题是使用最小二乘交叉验证和 Epanechnikov 核来理解密度估计:
blep<-npudensbw(~geyser$waiting,bwmethod="cv.ls",ckertype="epanechnikov")
plot(npudens(bws=blep))
对于高斯内核,它似乎很好:
blga<-npudensbw(~geyser$waiting,bwmethod="cv.ls",ckertype="gaussian")
plot(npudens(bws=blga))
或者,如果我使用 Epanechnikov 内核和最大似然 cv:
bmax<-npudensbw(~geyser$waiting,bwmethod="cv.ml",ckertype="epanechnikov")
plot(npudens(~geyser$waiting,bws=bmax))
是我的错还是包裹有问题?
编辑:如果我将 Mathematica 用于 Epanechnikov 内核和最小二乘 cv 它正在工作:
d = SmoothKernelDistribution[data, bw = "LeastSquaresCrossValidation", ker = "Epanechnikov"]
Plot[{PDF[d, x], {x, 20,110}]