在2D中集成内核密度估计器
我来自这个问题,以防有人要跟踪。 基本上,我有一个由对象组成的数据集,其中每个对象都具有给定数量的测量值(在这种情况下为两个):ΩΩ\OmegaNNN Ω=o1[x1,y1],o2[x2,y2],...,oN[xN,yN]Ω=o1[x1,y1],o2[x2,y2],...,oN[xN,yN]\Omega = o_1[x_1, y_1], o_2[x_2, y_2], ..., o_N[x_N, y_N] 我需要一种确定新对象属于的概率的方法,因此建议我通过内核密度估计器获得概率密度,我相信我已经有。p[xp,yp]p[xp,yp]p[x_p, y_p]˚FΩΩ\Omegaf^f^\hat{f} 由于我的目标是获得这个新对象的概率(属于这个二维数据集),有人告诉我到PDF集成在“ 为其支持的值密度小于您观察到的密度 ”。在新对象评估“观察”密度,即:。所以我需要求解方程:Ω ˚F ˚F p ˚F(X p,ÿ p)p[xp,yp]p[xp,yp]p[x_p, y_p]ΩΩ\Omegaf^f^\hat{f}f^f^\hat{f}pppf^(xp,yp)f^(xp,yp)\hat{f}(x_p, y_p) ∬x,y:f^(x,y)<f^(xp,yp)f^(x,y)dxdy∬x,y:f^(x,y)<f^(xp,yp)f^(x,y)dxdy\iint_{x, y:\hat{f}(x, y) < \hat{f}(x_p, y_p)} \hat{f}(x,y)\,dx\,dy 我的2D数据集的PDF(通过python的stats.gaussian_kde模块获得)如下所示: 红点代表新对象绘制在我的数据集的PDF上。p[xp,yp]p[xp,yp]p[x_p, y_p] 所以问题是:当pdf看起来像这样时,如何计算极限的上述积分?x,y:f^(x,y)<f^(xp,yp)x,y:f^(x,y)<f^(xp,yp)x, y:\hat{f}(x, y) < \hat{f}(x_p, y_p) 加 我进行了一些测试,以查看我在评论之一中提到的蒙特卡洛方法的效果。这是我得到的: 对于较低密度的区域,该值似乎会有更多变化,两个带宽或多或少都显示出相同的变化。比较Silverman的2500和1000样本值时,表中最大的变化发生在点(x,y)=(2.4,1.5)处,其差值为0.0126或~1.3%。就我而言,这在很大程度上是可以接受的。 编辑:我只是注意到,根据此处给出的定义,在二维中Scott的规则等效于Silverman的规则。