我想得到一个累积分布函数的平滑估计。这样做的方法之一是集成一个核密度估计器,得到一个核分布估计器。为了获得一个函数,我使用了来自kde
包的"kerdiest"
函数。
问题是我必须指定一个对结果有很大影响的网格。默认的网格选择会导致一个与经验分布函数图明显不同的图形(见图;白点代表经验的c.d.f.)。我可以提取网格值,这样内核估计器和ecdf就会重合,但我不明白它是如何工作的。
那么,什么是网格,它应该如何选择呢?还有其他方法可以得到分布函数的核估计量吗?
我一直在试验的数据是R
中老忠实喷泉数据集的等待时间。代码是
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))
发布于 2019-08-22 08:29:46
与其使用默认的绘图函数进行绘图,不如同时使用Estimated_values
和grid
值来形成初始绘图。lines
函数将具有正确的x值.(这里的线索是你的阴谋的标记。当看到"Index“标签时,您可能会想知道它是否是正确的标度。当绘图获得单个数值向量时,它使用它们的排序序列作为“索引”值,因此您可以看到整数:1:length(vector)
)
with( kcdf, plot(Estimated_values ~ grid) ) # using plot.formula
lines(ecdf(x))
https://stackoverflow.com/questions/57600177
复制