K_NN 使用 R 进行体积估计

Volume estimation with K_NN using R

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

我想知道R中有没有提供计算K-NN密度估计函数的库。虽然在 Whosebug 上有一些关于同一主题的相关问题,但其中 none 已得到正确回答。

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

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

  1. 我为绘图(散点图)上的所有给定点创建了一个距离矩阵。因此对于 N 个点,我有 N x N 距离矩阵,其中每个元素 (i, j) 表示 ith第j点.
  2. 现在使用距离矩阵,对于每个点,我整理出(按递增顺序)相对于其他点的距离。因此,现在如果我想要 kth 邻居的距离,我只需选择 kth 排序的距离。
  3. Kth邻域距离,得到圆的半径。因此,现在我可以将半径值代入上图所示的公式中。有了这个我就可以计算一个点的密度。

注意:在 R 中,使用 order( ) 函数

根据距离对邻居进行排序