测量三维数据的密度(在Matlab中)

时间:2012-03-16 12:04:41

标签: matlab distribution

我有一个由三维欧几里德空间中的大量点组成的数据集。在这个点集合中,我试图找到距离点密度最高的区域最近的点。

所以我的问题包括两个步骤:

  • 1:确定点的分布密度最高

  • 2:确定哪个点最接近1

  • 中找到的点

第2点我可以管理,但我不知道如何解决第1点。我知道在Matlab中有很多密度估算函数,但我不确定哪一个是最合适的,或者直接使用。

有人知道吗?


我的统计命令有点生疏,但据我所知,这类问题需要进行多变量分析。有人建议我使用多变量核密度估计,但我不确定这是否是最好的解决方案。

1 个答案:

答案 0 :(得分:1)

密度是每单位体积质量的量度。假设您的点数都具有相同的质量,那么我想,您可以尝试测量每单位体积的点数。因此,一种方法是将欧几里德空间的子集划分为许多小单位体积(让我们称之为像每个人一样的体素)并计算每个体积中有多少个点。点数最多的体素是点密度最高的地方。当然,这是一种数值整合。如果您的积分是根据某些分析函数分配的(我猜他们不是),您可以用铅笔和纸来解决问题。

您可以将此方法视为您想要的复杂,也许最初将您的空间划分为2 x 2 x 2体素,然后选择具有最多点的体素并依次细分,直到满足您的标准。

我希望这能让你从第1点开始;你似乎对第2点没问题,所以我现在就停止了。

修改

看起来好像triplequad可能就是你要找的东西。