在计算内核密度估计时,我已经看到了大量关于如何选择内核和带宽的文献,但我目前对如何缩短在任意数量的点上评估生成的 KDE 所花费的时间感兴趣。
就我而言,我使用的是具有对角协方差的多维(2D 或 3D)高斯核(即每个维度都是独立的)。每个维度的带宽可能不同,并使用最近的邻居进行选择。但是,我的问题可能延伸到不同的内核和带宽选择方法。
假设我有数据点,并希望在网格点。一个简单的实现涉及评估多元正态 pdf次。为了我的目的,和两者都在数千个数量级,并且评估已成为我代码中的瓶颈。
我不知道这种基本方法是否有任何普遍接受的改进。我找到了这篇论文,它声称可以降低复杂性到. 但是,该方法尚未在我所知道的任何“标准”R 或 Python 库中实现——这表明它尚未被广泛采用?
感谢您提供的任何指示。