Clustering

PCA 如何幫助進行 k 均值聚類分析?

  • June 18, 2015

背景:我想根據一個城市的社會經濟特徵對一個城市的住宅區進行分組,包括住房單元密度、人口密度、綠地面積、房價、學校/保健中心/日託中心的數量等。我想了解住宅區可以分為多少個不同的組,它們有哪些獨特的特點。這些信息可以促進城市規劃。

基於一些例子(參見這篇博文:PCA and K-means Clustering of Delta Aircraft),我想出分析的方法是:

  1. 首先做PCA分析。
  2. 根據 PCA 結果確定唯一組(集群)的數量(例如,使用“肘部”方法,或者替代地,解釋總方差的 80% 到 90% 的組件數量)。
  3. 確定聚類數後,應用 k-means 聚類進行分類。

**我的問題:**似乎 PCA 組件的數量與聚類分析有關。確實如此,例如,如果我們發現 5 個 PCA 組件解釋了所有特徵的 90% 以上的變化,那麼我們將應用 k-means 聚類並獲得 5 個聚類。那麼這 5 個組是否與 PCA 分析中的 5 個組件完全對應?

換句話說,我想我的問題是:PCA 分析和 k-means 聚類之間有什麼聯繫?

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

  1. 在聚類分析之前進行 PCA 對作為特徵提取器的降維和可視化/顯示聚類也很有用。
  2. 聚類後做PCA可以驗證聚類算法(參考:核主成分分析)。
  3. PCA 有時用於在聚類之前降低數據集的維數。然而,Yeung & Ruzzo (2000) 表明,使用 PC 而不是原始變量進行聚類並不一定會提高聚類質量。特別是,前幾台 PC(包含數據中的大部分變化)不一定捕獲大部分集群結構。
  • Yeung、Ka Yee 和 Walter L. Ruzzo。*用於聚類基因表達數據的主成分分析的實證研究。*技術報告,華盛頓大學計算機科學與工程系,2000。(pdf
  1. 在兩步聚類分析之前,PCA 似乎是必要的。基於 Ibes (2015),其中使用 PCA 中確定的因素進行聚類分析。

PCA 不是一種聚類方法。但有時它有助於揭示集群。

假設您有 10 維正態分佈,均值(零向量)和一些具有 3 個方向的協方差矩陣,其方差比其他方向大。應用具有 3 個分量的主成分分析將以降序為您提供這些方向,並且“肘部”方法會告訴您所選分量的數量是正確的。但是,它仍然是點雲(1 個簇)。

假設您有 10 個 10 維正態分佈,均值,, …(均值幾乎在線)和類似的協方差矩陣。僅使用 1 個組件(標準化後)應用 PCA 將為您提供觀察所有 10 個集群的方向。分析解釋方差(“彎頭”方法),您將看到 1 個組件足以描述此數據。

在您顯示的鏈接中,PCA 僅用於構建有關數據的一些假設。根據組內平方和的值(而不是通過解釋的方差),通過“彎頭”方法確定集群的數量。基本上,您對不同數量的集群重複 K-means 算法併計算這個平方和。如果聚類數等於數據點數,則平方和等於.

引用自:https://stats.stackexchange.com/questions/157621

comments powered by Disqus