MATLAB中的二维加权核密度估计(KDE)

时间:2014-03-10 22:02:48

标签: matlab machine-learning kernel-density

我正在寻找可以估算一组2D加权点的核密度的可用代码。到目前为止,我在MATLAB中找到了非加权2D KDE的选项:http://www.mathworks.com/matlabcentral/fileexchange/17204-kernel-density-estimation

但是它没有加入加权特征。是否有任何其他实现的功能或库应该派上用场呢?我想到了“黑客”问题,假设我有简单的权重向量:[2 1 3 1],我可以简单地重复每个采样点,分别重复两次,一次,三次和一次。我不确定这个计算在数学上是否有效。这里的问题再次是我的权重向量是十进制的,所以归一化到向量的最小数,然后相互相乘条目意味着舍入错误,特别是如果权重是相同的数量级。

注意:MATLAB中的ksdensity函数有加权选项,但它仅适用于1D数据。

2 个答案:

答案 0 :(得分:1)

找到了这个,所以问题解决了。 (我猜):http://www.ics.uci.edu/~ihler/code/kde.html

答案 1 :(得分:0)

我使用了this功能,发现它很棒。我在this Stack Overflow post中讨论了改变n参数(计算密度的区域),并且它包含了使用contour3的2D KDE图的一些示例。