PCAはブール(バイナリ)データ型で機能しますか?


38

高次システムの次元数を減らし、できれば2次元または1次元のフィールドで共分散の大部分をキャプチャしたいと思います。これは主成分分析で行えることを理解しており、多くのシナリオでPCAを使用しています。ただし、ブールデータ型で使用したことがないため、このセットを使用してPCAを実行するのが意味があるかどうか疑問に思っていました。たとえば、定性的または記述的なメトリックを持っているふりをし、そのディメンションに対してそのメトリックが有効な場合は「1」を割​​り当て、そうでない場合は「0」を割り当てます(バイナリデータ)。たとえば、白雪姫の七人の小人を比較しようとしているふりをします。我々は持っています:

Doc、Dopey、Bashful、Grumpy、Sneezy、Sleepy、Happy、そしてあなたはそれらを品質に基づいて整理したいのです。

(Lactose IntolerantA Honor RollAthleticWealthyDoc1011Dopey0000Bashful1011Grumpy1111Sneezy0110Sleepy1000Happy1100)

たとえば、Bashfulは乳糖不耐症であり、A優等生ではありません。これは純粋に仮想的な行列であり、実際の行列にはさらに多くの説明的な列があります。私の質問は、個人間の類似性を見つける手段として、このマトリックスでPCAを実行することはまだ適切でしょうか?


1
この質問は(ほとんど)の複製であること1。PCAはバイナリ/ブールデータに対して実行できますが、そのようなデータに対して因子分析(PCAを「あたかもFA」であるかのように含む)を実行することには問題があります。
ttnphns

1
yours( "present" vs "absent")などのバイナリデータのPCAは、元の0以外の原点(基準点)を示唆する理由がないため、通常、変数を中央揃えせずに実行されます。または、相関ベースのPCAを使用して、SSCPまたはコサインベースのPCAに到達します。このような分析は非常によく似ており、複数の対応分析(=均質性分析)とほぼ同等です。
ttnphns

a means of finding the similarity between individuals。ただし、このタスクはクラスター分析用であり、PCA用ではありません。
ttnphns

簡単な答え:線形PCA(因子分析として潜在変数手法ではなく次元削減手法として使用される場合)は、スケール(計量)またはバイナリデータに使用できます。ただし、順序データまたは名義データでは、プレーン(線形)PCAを使用しないでください-これらのデータが何らかの方法でメトリックまたはバイナリ(ダミーなど)に変換されない限り
ttnphns

@ttnphns PCAは、変数をクラスター化する方法と見なすことができます。また、PCAとクラスター分析を順番
アントワーヌ

回答:


12

カテゴリ変数データ(バイナリを含む)から自動構造抽出を行う比較的最近の手法をお勧めします。このメソッドは、南カリフォルニア大学のGreg van SteegのCorExと呼ばれます。アイデアは、エントロピー測定に基づいたトータル相関の概念を使用することです。そのシンプルさと多数のハイパーパラメーターのチューニングがないため、魅力的です。

階層表現に関する論文(最新の論文は、以前の指標に基づいて作成されています)。 http://arxiv.org/pdf/1410.7404.pdf


1
@AlvinNunezどういたしまして!Pythonの実装は、GitHub github.com/gregversteeg/CorExにあります。データを簡単に取得して、結果を確認できます。
ヴラディスラフドブガレス

13

また、多重コレスポンデンス分析(MCA)を使用することもできます。これは、分析する変数が定量的ではなくカテゴリカルな場合の主成分分析の拡張です(バイナリ変数の場合)。たとえば、Husson et al。(2010)、またはAbdi and Valentin(2007)。MCA(およびPCでの階層クラスタリング)を実行するための優れたRパッケージはFactoMineRです。


1
興味深い答え、私はむしろそれに同意します。inflation of the feature spaceMCAではなくPCAで発生する現象とその現象をより詳細に説明すると、大きな価値があります。
ttnphns

私はこのinflation of the feature space現象を誤解しました。CAからMCAに移行する際に問題が発生するようですが、PCA固有の問題ではありません。このコメントを読んだら、回答を削除します。気づかせてくれてありがとう。
アントワーヌ

答えを削除する必要はないと思います。MCAは私にとって正しい選択の1つであり、あなたの答えは大丈夫です。
ttnphns

私はMCAがここで役に立つかもしれないと思うので、私は戻って答えを追加しましたが、関連があるとは思えなかったので、私は、特徴空間のインフレについての議論を削除
アントワーヌ

バイナリデータでのMCAの結果は、Jaccardや単純なマッチングなどのバイナリデータに適した距離測定を使用したPCoAの結果とどのように異なりますか?
emudrak

9

PCAを変数間の関係を視覚化する方法を提供する探索的手法と考える場合(そして、私の意見では、これがそれについて考える唯一の方法です)、はい、バイナリを入れられない理由はありません変数。たとえば、これはデータのバイプロットです

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

それは合理的に役立つようです。たとえば、DocとBashfulは非常に似ていることがわかります。HRは他の3つの変数とはかなり異なります。SleepyとSneezyは非常に似ていない、など。

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