使用R的K_NN进行体积估计

时间:2015-09-16 12:37:00

标签: r kernel-density probability-density

我需要使用k-NN密度估计算法找到数据集中每个点的密度。我理解用于计算的基本方法,如下面的屏幕截图所示。 Complete slides at [link] enter image description here

我想知道R中是否有任何库提供计算K-NN密度估算的函数。虽然在stackoverflow上有关于同一主题的一些相关问题,但没有一个得到适当的回答。

注意:我发现此question相关,但答案再次无效。

1 个答案:

答案 0 :(得分:0)

虽然我没有找到任何计算密度的R包。但是,我按照这些步骤计算每个点的密度:

  1. 我为绘图上的所有给定点创建了一个距离矩阵(散点图)。因此对于N个点,我有 N x N 距离矩阵,其中每个元素(i,j)表示 ith jth 之间的Eucledian距离点。
  2. 现在使用距离矩阵,我为每个点(按递增顺序)排序了相对于其他点的距离。因此,现在如果我想要 kth 邻居的距离,我只需选择 kth 分类距离。
  3. 使用 Kth 邻居距离,我得到圆的半径。因此,现在我可以替换上图中显示的公式中的半径值。有了这个,我就可以计算出一点的密度。
  4. 注意:在R中,使用 order()函数

    根据距离对邻居进行排序