PCA如何帮助进行k均值聚类分析?


32

背景:我想根据城市的社会经济特征将其分为几类,包括住房单位密度,人口密度,绿地面积,房价,学校/保健中心/日托中心的数量等。我想了解居住区可以分为多少不同的组,以及它们的独特特征。这些信息可以促进城市规划。

根据一些示例(请参阅此博客文章:Delta Aircraft的PCA和K-means聚类),我发现进行分析的方法是:

  1. 首先做PCA分析。

  2. 根据PCA结果确定唯一组(集群)的数量(例如,使用“弯头”方法,或者选择解释总方差的80%到90%的组件数量)。

  3. 确定聚类数后,应用k均值聚类进行分类。

我的问题: PCA组件的数量似乎与聚类分析有关。的确如此,例如,如果我们发现5个PCA组件解释了所有功能的90%以上的变化,那么我们将应用k-均值聚类并得到5个聚类。那么这5个组是否恰好对应于PCA分析中的5个组成部分?

换句话说,我想我的问题是:PCA分析和k均值聚类之间有什么联系?

更新: 感谢Emre,xeon和Kirill的投入。所以目前的答案:

  1. 在进行聚类分析之前进行PCA对于减少维数作为特征提取器并可视化/显示聚类也很有用。

  2. 聚类后​​进行PCA可以验证聚类算法(参考:内核主成分分析)。

  3. 有时会应用PCA来降低聚类之前数据集的维数。然而,Yeung&Ruzzo(2000)指出,使用PC代替原始变量进行聚类并不一定能改善聚类质量。特别是,前几台PC(包含数据的大部分变化)不一定捕获大多数群集结构。

    • 杨,杨怡和Walter L. Ruzzo。对基因表达数据进行聚类的主成分分析的实证研究。华盛顿大学计算机科学与工程系技术报告,2000年。(pdf
  4. 在进行两步聚类分析之前,似乎需要PCA 。基于Ibes(2015),其中使用PCA中确定的因素进行了聚类分析。


1
您可以使用PCA进行降维,作为特征提取器,并可视化群集。
Emre

3
从简单开始:直接对您拥有的数据运行分类器并记录性能。如果您对性能不满意,请尝试PCA(在已排序的特征值图的“膝盖”处选择组件数)和运行k均值。如果看到不错的集群,则PCA +分类器很有可能会做得很好。
Vladislavs Dovgalecs 2015年

1
您也可以聚类执行PCA ,以验证聚类算法;通过群集标签对每个点进行颜色编码。我还建议研究内核PCA
Emre 2015年

有一些方法可以同时执行降维和聚类。这些方法寻求最佳选择的低维表示,以便于集群的识别。例如,请参阅R中的clustrd程序包和相关的引用。
纳特

Answers:


16

PCA不是群集方法。但是有时它有助于揭示集群。

010

1102101010

0


感谢您的投入。您能否解释一下均值为0的10维正态分布?您是说十个输入要素变量,并且每个变量都服从正态分布吗?
enaJ 2015年

抱歉,我说的是一个随机变量,该变量遵循多元正态分布,均值将是10维向量,协方差矩阵是10x10对称矩阵。
基里尔2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.