我有一套大约。50 000 个二维欧几里得向量,与 20 个组相连,即每组大约有 50000 个二维欧几里得向量。2500 个二维欧几里得向量。我的数据包括端点坐标,即. 现在我想对这些组中的向量进行聚类,可能使用 k-means/k-medoids 聚类(或其他具有预定义聚类数的聚类算法)。同样重要的是,我主要关注矢量的方向,长度是次要问题(但充其量仍应考虑在内)。我正在努力选择适合我的问题的差异度量。所以这是我的问题:
- 如何指定数据是否重要?或者,我可以计算矢量的角度和长度,并将数据指定为. 我的直觉是,如果角度明确存在,欧几里得距离应该能更好地捕捉矢量的方向。更重要的是,我可以使用一些加权,修改欧几里德距离并计算两个观测值之间的距离,例如:
在哪里是一些常数。
我还认为角距离是一种差异度量。据我所知,这相当于对标准化数据点进行聚类,因此不会捕获大小(在我的情况下为长度)。但我不确定 k-means 聚类是否可以用余弦距离完成。如果是这样,R中是否有任何允许这样做的包?
执行两次聚类是一个好的且在统计上有效的想法:首先,对起点进行聚类,其次,在这些聚类中对角度和长度进行聚类?
你们知道任何关于类似问题的论文,即对二维数据点进行聚类吗?任何示例都会非常方便。