4

我有一个关于kde2d (Kernel density estimator).我正在为同一变量空间中的两组不同数据计算两个不同的 kde2d 的问题。当我将两者与 Filled.contour2 或轮廓进行比较时,我发现散点图中点密度较低的集合(总点数也较少,因子为 10)的轮廓值密度较高。我期望具有较高点密度的集合将具有较高的密度轮廓值,但就像我上面所说的那样,情况并非如此。它必须与带宽(h)的选择有关吗?我正在使用equals h,我尝试更改但结果并没有太大变化。我的错误是什么?

一个例子

a <-  runif(1000, 5.0, 7.5)
b <-  runif(1000, 2.0, 3.0)
c <-  runif(100000,5.0, 7.5)
d <-  runif(100000, 2.0, 3.0)
library(MASS)
abdens <- kde2d(a,b,n=100,h=0.5)
cddens <- kde2d(c,d,n=100,h=0.5)
mylevels <- seq(-2.4,30,0.9)
filled.contour2(abdens,xlab="a",ylab="b",xlim=c(5,7.5),ylim=c(2,3), 
                col=hsv(seq(0,1,length=length(mylevels))))
 plot(a,b)
contour(abdens,nlevels=5,add=T,col="blue")
plot(c,d)
contour(cddens,nlevels=5,add=T,col="orange")
4

1 回答 1

0

我不确定我是否同意在统一情况下密度应该不同。我本来期望从正态分布中随机抽取更多点的集合对极端区域有更多支持,因此中心的(估计)密度较低。这种效果有时也会在 1,000 点对 100,000 点的二元均匀平局中表现出来。我希望我对您的代码的修改是可以接受的。contour如果在情节之后完成,则更容易看到s。

(在这两种情况下,理论密度将是相同的,因为密度分布被归一化为 1.0 的积分。我们只查看具有“边缘”效应的一些预期伪影的估计值。在单变量密度的情况下,添加关于可以使用 package::logspline 中的 desity 函数来完成边界。)

于 2013-06-28T22:14:29.080 回答