我在理解如何在R中实现以下数据集的高斯核密度估计时遇到了麻烦。如果你能帮助我了解如何做到这一点,我将不胜感激。我目前正在尝试在下图的底部获得钟形曲线的公式。如你所见,每个数据点都有一条钟形曲线。(请注意,图片不代表我正在使用的数据。)
这是我的数据:
x<-c(4.09, 4.46, 4.61, 4.30, 4.03, 5.22, 4.21, 4.07, 4.02, 4.58, 4.66, 4.05, 4.23, 5.51, 4.03, 4.72, 4.47, 4.50, 5.80, 4.30, 4.09, 4.78, 4.18, 4.45, 4.40, 5.60, 4.37, 4.42, 4.88, 4.20, 4.45, 4.10, 4.43, 4.58, 4.40, 4.38)
(x有36个元素)
这是内核密度估计器:
(如果看不到图像,请访问此页面http://sfb649.wiwi.hu-berlin.de/fedc_homepage/xplore/tutorials/xlghtmlnode33.html)
是高斯核函数,h = .1516是Scott选择的带宽。
因此,插入后我们得到f hat(x)= 1 /(36 * .1516)(1 / sqrt(2pi))[e ^(-1/2((4.09-x)/。1516)^ 2 + e ^(-1/2((4.46-x)/。1516)^ 2 + ... + e ^(-1/2((4.38-x)/。1516)^ 2]
好的。因此,我们有一个x的函数。但是,如何在上图中获得每个钟形曲线的方程式?例如,如果我们将4.09插入到(x)中,则会得到一个数字,而不是曲线/函数/分布。有人可以帮助我理解为钟形曲线/核密度估计找到方程的过程吗?
您如何确定间隔的宽度?它与带宽h有关吗?
如果愿意,您可以延长端点,直到
fhat
跌破某个阈值。但是,由于您正在汇总正常密度,因此从技术上讲,它们会提供无限的支持。