【发布时间】:2021-01-21 22:08:36
【问题描述】:
我无法理解如何在 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 代入 f hat (x),我们会得到一个数字,而不是曲线/函数/分布。有人可以帮我理解找到钟形曲线/核密度估计方程的过程吗?
【问题讨论】:
-
如果您插入
x的一个值,您将得到一个响应。要获得曲线形状,请插入许多不同的x值。当你连接结果时,你会得到你的曲线。 -
谢谢。我假设你的意思是整体曲线?但是如何获得核密度估计器,例如第一个数据点。
-
单个点并没有真正的密度估计。你到底是什么意思?
-
底部的曲线只是以每个数据点为中心的高斯分布,sd 等于所选带宽。
-
是的,我指的是底部的曲线。例如,第一个点上面有一个高斯分布。
标签: r kernel-density