Clustering
R中混合數據的魯棒聚類方法
我正在尋找對一個小型數據集(4 個區間變量和一個三因素分類變量的 64 個觀察值)進行聚類。現在,我對聚類分析很陌生,但我知道自從層次聚類或 k-means 是唯一可用的選項以來,已經取得了相當大的進步。特別是,似乎可以使用基於模型的聚類的新方法,正如chl 所指出的那樣,可以使用“擬合優度指數來決定聚類或類的數量”。
但是,基於模型的聚類的標準 R 包
mclust
顯然不適合具有混合數據類型的模型。該fpc
模型可以,但無法擬合模型,我懷疑是因為連續變量的非高斯性質。我應該繼續使用基於模型的方法嗎?如果可能,我想繼續使用 R。在我看來,我有幾個選擇:
- 將三級分類變量轉換為兩個虛擬變量並使用
mclust
. 我不確定這是否會影響結果,但如果不是,這是我的首選。- 以某種方式轉換連續變量並使用
fpc
包。- 使用我還沒有遇到的其他 R 包。
- 使用 Gower 的度量創建一個相異矩陣,並使用傳統的分層或重定位集群技術。
stats.se hivemind 在這裡有什麼建議嗎?
我建議您將Gower與後續的層次聚類一起使用。在對像數量較少(例如 64 個)的情況下,分層聚類仍然是最靈活和最合適的方法。如果您的分類變量是名義變量,Gower 將在內部將其重新編碼為虛擬變量並基於它們的骰子相似性(作為 Gower 的一部分)。如果您的變量是序數,您應該知道 Gower 係數的最新版本也可以容納它。
至於確定“最佳”聚類數量的眾多指標,它們中的大多數都獨立於這個或那個聚類算法而存在。您無需尋找必須包含此類索引的集群包,因為後者可能作為單獨的包存在。您在一個集群包之後留下一系列集群解決方案,然後通過另一個包中的索引來比較這些解決方案。