平滑的网格规范 c.d.f。估计("kerdiest" 包)

Grid specification in smooth c.d.f. estimation ("kerdiest" package)

我想得到一个累积分布函数的平滑估计。其中一种方法是集成核密度估计器,得到核分布估计器。为了得到一个,我使用了 "kerdiest" 包中的 kde 函数。

问题是我必须指定一个对结果影响很大的网格。网格的默认选择导致图形与经验分布函数图有显着差异(见图;白点代表经验 c.d.f)。我可以获取网格值,以便内核估计器和 ecdf 重合,但我不明白它是如何工作的。

那么,什么是网格,应该如何选择呢?有没有其他方法可以得到分布函数的核估计量?

我一直在试验的数据是 R 中 Old Faithful Geyser 数据集的等待时间。 密码是

x <- faithful$waiting
library("kerdiest")
n = length(x)
kcdf <- kde(type_kernel = "n", x, bw = 1/sqrt(n))
plot(kcdf$Estimated_values)
lines(ecdf(x))

您应该同时使用 Estimated_valuesgrid 值来形成初始图,而不是使用默认绘图函数进行绘图。 lines 函数将具有正确的 x 值。 (这里的线索是你的情节的标签。当看到 "Index" 标签时,你可能想知道它是否是正确的比例。当情节获得单个数值向量时,它使用它们的排序序列作为 "Index" 值,所以你看到整数:1:length(vector))

with( kcdf, plot(Estimated_values ~ grid) )  # using plot.formula
lines(ecdf(x))