【发布时间】:2015-12-27 23:52:38
【问题描述】:
我正在按照this post 末尾的步骤在有界支持[0,+inf[ 上实现转换后的核密度估计 (KDE)。我们使用转换技巧来避免传统 KDE 在有界支持上的边界偏差(在这种情况下,接近于零)。基本上,KDE 将权重分配给不存在(在支持之外)的观测值,因此它严重低估了边界处的 PDF(如下图所示)。
1) 正则方法(我们观察到 KDE 的边界偏差接近于零)
# sample from exponential distribution
obs=rexp(5e2)
hist(obs,freq=FALSE)
k=density(obs)
lines(k$x,k$y)
2) 转型方法
# 1) log transform the obs
pseudo.obs=log(obs)
# 2) estimate the density of the pseudo obs with KDE
pseudo.k=density(pseudo.obs,n=length(obs))
# 3) estimate the density of the original obs
t.density=pseudo.k$y/obs
# plot estimation
lines(obs,t.density)
而不是像我应该得到类似于下面蓝线的东西
【问题讨论】:
-
你猜你应该使用
pseudo.k$x而不是obs来绘制t.density。 -
刚刚试了一下,结果还是很糟糕...
-
是的,但是
t.density的计算是否正确? -
嗯,我是用 KDE 估计伪 obs 的分布,然后除以原始值,这似乎忠实于上面的公式...
-
pseudo.k$x不起作用,因为它处理转换后的空间,而我们想要在原始空间中绘制一个图
标签: r plot distribution kernel-density