估计数据集的维度

机器算法验证 大数据 高维 方面
2022-03-06 15:24:11

应用统计学的一位同事给我发了这个:

“我想知道你是否知道任何方法可以找出函数域的真实维度。例如,圆是二维空间中的一维函数。如果我不知道如何绘制,是否有我可以计算的统计数据告诉我它是二维空间中的一维对象?我必须在高维情况下这样做,所以不能画图。任何帮助将不胜感激。

这里的维度概念显然是不明确的。我的意思是,我可以在高维空间中的任何有限点集合中运行一条曲线,并说我的数据是一维的。但是,根据配置,可能有一种更简单或更有效的方式将数据描述为更高维度的集合。

统计文献中肯定已经考虑过这些问题,但我并不熟悉。任何指示或建议?谢谢!

4个回答

Levina, E. 和 Bickel, P. (2004) “内在维度的最大似然估计”。神经信息处理系统的进展 17

http://books.nips.cc/papers/files/nips17/NIPS2004_0094.pdf

他们的想法是,如果数据是从Rm嵌入Rpm<p,然后是局部小半径球中的数据点数t行为大致类似于泊松过程。该过程的速率与球的体积有关,而球的体积又与内在尺寸有关。

本地数据的主成分分析一个很好的出发点。但是,我们必须小心区分局部(内在)和全局(外在)维度。在圆上的点的示例中,局部维度为 1,但圆内的点总体上位于 2D 空间中。要将 PCA 应用于此,诀窍是本地化:选择一个数据点并仅提取靠近它的那些。将 PCA 应用于此子集。大特征值的数量将暗示内在维度。在其他数据点重复此操作将表明数据是否始终表现出恒定的内在维度。如果是这样,每个 PCA 结果都提供了部分图集的歧管。

我不确定“函数域”部分,但Hausdorff Dimension似乎回答了这个问题。它具有与简单示例一致的奇怪属性(例如,圆具有 Hausdorff 维数 1),但对于某些集合(“分形”)给出了非整数结果。

我强烈推荐阅读这份调查: Camastra, F. (2003)。数据维数估计方法:一项调查。模式识别, 36 (12), 2945-2954

为了执行这个估计,我在 matlab Matlab Toolbox for Dimensionality Reduction中找到了非常好的工具箱除了降维技术之外,该工具箱还包含 6 种内在维数估计技术的实现