如何找到不同类型事件之间的关系(由它们的 2D 位置定义)?

机器算法验证 相关性 主成分分析 多元分析 点过程
2022-03-07 23:04:51

我有一个在同一时间段内发生的事件的数据集。每个事件都有一个类型(有几种不同的类型,少于十个)和一个位置,表示为 2D 点。

我想检查事件类型之间或类型和位置之间是否存在任何关联。例如,也许 A 类型的事件通常不会在 B 类型的事件发生的地方发生。或者,也许在某些地区,主要是 C 类事件。

我可以使用什么样的工具来执行此操作?作为统计分析的新手,我的第一个想法是在这个数据集上使用某种 PCA(主成分分析)来查看每种类型的事件是否有自己的成分,或者是否有一些共享相同(即相关)?

我不得不提到我的数据集大约是 500'000 点(x,y,type),从而使事情变得更难处理。

编辑:正如下面的答案和评论中所指出的,要走的路是将其建模为一个标记点​​过程,然后使用 R 来完成所有繁重的工作,如本研讨会报告中的详细说明:http:/ /www.csiro.edu.au/resources/Spatial-Point-Patterns-in-R.html

2个回答

您描述的数据类型通常称为“标记点模式”,R 有一个用于空间统计的任务视图,它为这种类型的分析提供了许多很好的包,其中大多数可能无法处理您所描述的那种巨大数据有 :(

例如,也许 A 类型的事件通常不会在 B 类型的事件发生的地方发生。或者,也许在某些地区,主要是 C 类事件。

这是两个完全不同类型的问题:第二个问题是关于一种标记/事件的定位。如果您有兴趣发现聚类(一种事件倾向于组合在一起)或排斥(一种事件倾向于分离)的模式,那么在这种情况下要寻找的流行语是 fe 强度估计或 K 函数估计。第一个询问不同类型事件之间的相关性。这通常使用标记相关函数来测量。

我认为对数据进行二次抽样以获得更易于处理的数据大小是危险的(请参阅@hamner 回复的评论),但也许您可以汇总您的数据:将观察窗口划分为可管理数量的相同大小的单元格并将事件计数制成表格每个。然后通过其中心位置和 10 种标记类型的 10 个计数向量来描述每个单元格。您应该能够在此聚合过程上使用标记点过程的标准方法。

首先,数据集的大小。我建议对数据集进行小而易处理的样本(通过随机选择 N 个数据点,或者通过在 XY 平面中随机选择几个相对较小的矩形并获取该平面内的所有点),然后在这个子集上磨练你的分析技术。一旦您了解了有效的分析形式,您就可以将其应用于数据集的更大部分。

PCA 主要用作降维技术;您的数据集只有三个维度(其中一个是分类的),所以我怀疑它是否适用于此。

尝试使用 Matlab 或 R 来可视化您在 XY 平面中分析的点(或者如果使用整个数据集,则为它们的相对密度),无论是单个类型还是所有类型的组合,并查看视觉上出现的模式。这可以帮助指导更严格的分析。