ブール特徴の小さなサンプルセットに対するPCAとスペクトルクラスタリングの違い


10

50サンプルのデータセットがあります。各サンプルは、11個の(相関している可能性がある)ブール機能で構成されています。これらのサンプルを2Dプロットで視覚化し、50個のサンプルの間にクラスター/グループがあるかどうかを調べたいと思います。

私は次の2つの方法を試しました。

(a)50x11マトリックスでPCAを実行し、最初の2つの主成分を選択します。データを2Dプロットに投影し、簡単なK平均法を実行してクラスターを特定します。

(b)50x50(コサイン)類似性行列を作成します。次元削減のためにスペクトルクラスタリングを実行し、その後再びK-meansを実行します。

直接PCAを実行することと、類似度行列の固有値を使用することの概念的な違いは何ですか?一方が他方よりも優れていますか?

また、そのようなデータを2Dで視覚化するより良い方法はありますか?私のサンプルサイズは常に50に制限されており、機能セットは常に10から15の範囲にあるため、複数のアプローチをその場で試し、最適なアプローチを選択します。

関連質問: クラスタリングまたはPCAによるサンプルのグループ化

回答:


9

直接PCAを実行することと、類似度行列の固有値を使用することの概念的な違いは何ですか?

PCAは共分散または相関行列で行われますが、スペクトルクラスタリングは、任意の類似性行列(たとえば、コサイン類似性で構築されたもの)を取り、そこでクラスターを見つけることができます。

第2に、スペクトルクラスタリングアルゴリズムはグラフの分割に基づいており(通常は、グラフの最適なカットを見つけることです)、PCAはほとんどの分散を持つ方向を見つけます。どちらの場合も固有ベクトルを見つけることになりますが、概念的なアプローチは異なります。

そして最後に、PCAとスペクトルクラスタリングは異なる目的で機能することがわかります。1つは次元削減手法で、もう1つはクラスタリングへのアプローチです(ただし、次元削減を介して行われます)。


5

ブール(つまり、2つのクラスを持つカテゴリ)機能の場合、PCAを使用する優れた代替策は、多重応答分析(MCA)を使用することです。これは、PCAをカテゴリ変数に拡張したものです(関連するスレッドを参照)。MCAに関するいくつかの背景については、論文はHussonらです。(2010)、またはAbdi and Valentin(2007)。MCAを実行するための優れたRパッケージはFactoMineRです。これは、観測の負荷の2次元マップを主成分にプロットするツールを提供します。これは非常に洞察に富んでいます。

以下は、私の過去の研究プロジェクトの1つからの2つのマップの例です(ggplot2でプロット)。観察したのは60ほどしかなく、良い結果が得られました。最初のマップは空間PC1-PC2の観測値を表し、2番目のマップは空間PC3-PC4の観測値を表しています...変数もマップに表されており、次元の意味の解釈に役立ちます。これらのマップのいくつかから洞察を収集することで、データで何が起こっているかをかなりよく把握できます。

ここに画像の説明を入力してください

上記のリンク先のWebサイトには、新しいコンポーネントHCPCに関する情報もあります。HCPCは、主成分の階層的クラスタリングを表しており、興味を引く可能性があります。基本的に、この方法は次のように機能します。

  • MCAを実行する
  • 最初の次元を保持します(ここで、は元の特徴の数)。このステップは、ノイズを取り除き、より安定したクラスタリングを可能にするという点で役立ちます。kk<pp
  • 保持されているPCのスペースで、凝集(ボトムアップ)階層的クラスタリングを実行します。PC空間での観測値の投影の座標(実数)を使用するため、リンケージにウォードの基準(クラスター内分散の最小増加)を使用してユークリッド距離を使用できます。樹状図を好きな高さでカットしたり、ヒューリスティックに基づいてR関数をカットしたりできます。
  • (オプション)K平均クラスタリングを実行して、クラスターを安定させます。初期構成は、前のステップで見つかったクラスターの中心によって与えられます。

次に、クラスターを調査する多くの方法があります(最も代表的な機能、最も代表的な個人など)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.