主成分分析は、連続変数とカテゴリー変数が混在するデータセットに適用できますか?


147

連続データとカテゴリデータの両方を含むデータセットがあります。PCAを使用して分析していますが、分析の一部としてカテゴリ変数を含めることは問題ないでしょうか。私の理解では、PCAは連続変数にのみ適用できるということです。あれは正しいですか?カテゴリデータに使用できない場合、分析にはどのような選択肢がありますか?



回答:


87

バイナリデータに適用されたPCAは、多重コレスポンデンス分析から得られた結果に匹敵する結果をもたらしますが(因子スコアと固有値は線形に関連しています)、混合データタイプを扱うためのより適切な手法、すなわち、FactoMineR Rパッケージ(AFDM())。変数が記述的属性の構造化されたサブセットとみなされる場合、多因子分析MFA())もオプションです。

カテゴリ変数の課題は、階乗空間で変数カテゴリと個人との間の距離を表す適切な方法を見つけることです。この問題を克服するために、最適なスケーリングを使用して、各変数(名義、順序、多項式、または数値)の非線形変換を探すことができます。これは、Rの最適スケーリングのGifiメソッド:パッケージhomalsで詳しく説明されており、実装は対応するRパッケージhomalsで利用可能です。


2
chl、FADMへのポインタをありがとう。しかし、データセットにFADMを適用すると(obj <-FADM(x))、obj $ ind $ coordを介して変換されたデータセットに簡単にアクセスできます。ただし、同じ変換を別のデータセットに適用する場合、どうすればよいですか?(これは、たとえば、列車セットがあり、この列車セットから「主要コンポーネント」を見つけた後、それらの「主要コンポーネント」を通してテストセットを調べたい場合に必要です)。ドキュメントはこれについて本当に明確ではなく、関数が基づいている論文はフランス語です。
カサンドラ14年

に関して:Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysis、名義カテゴリ変数(カーディナリティがNの場合)を(N-1)個のダミーバイナリのコレクションに変換してから、このデータに対してPCAを実行できませんか?(私はより適切な技術があることを理解しています)
ジュバル14

31

Googleの検索「離散変数のpca」は、S。Kolenikov(@StasK)とG. Angelesによるこの素晴らしい概要を示しています。chlの答えに追加すると、PC分析は実際には共分散行列の固有ベクトルの分析です。したがって、問題は「正しい」共分散行列の計算方法です。アプローチの1つは、ポリコリック相関を使用する ことです。


(+1)リンクをお寄せいただきありがとうございます。異種相関行列を考慮することも可能です(たとえばhetcor()polycorパッケージを参照)。VCマトリックスがSDPである場合、主に因子分析の精神で作業を行う必要があります。名義変数はダミーでコーディングされている場合があります。
chl

@StasK、kudos :)私はこの話が有用だと思っただけでなく、そうでなければグーグル検索でトップにならないようです。この質問はときどき出てくるので、コミュニティブログにブログ投稿をしたいかもしれません。
mpiktas

@StasK、私は投稿を編集して概要の著者に言及しました。私の最初の意図は、グーグルで検索することで良い答えが得られることを示すことでした。したがって、ここで明示的に尋ねる必要はありません。しかし、これは、インターネットのボラティリティを考えると、著者を引用しない言い訳ではありません。
mpiktas

1
@mpiktas、ありがとう。この作業から作成されたエコノミストを対象とした実際の記事がありました:dx.doi.org/10.1111/j.1475-4991.2008.00309.x、編集者は私に私たちのためにワーキングペーパーを読むことを提案するように多くをカットするように頼みましたが情報、および公開されたものを引用します。
StasK

9

Linting&Kooij、2012年「CATPCAによる非線形主成分分析:チュートリアル」、Journal of Personality Assessmentをご覧になることをお勧めします。94(1)。

抽象

この記事は、非線形主成分分析(NLPCA)のチュートリアルとして設定されており、ロールシャッハインクブロットテストによる人格評価の実際のデータを分析するプロセスを読者に体系的に案内します。NLPCAは、線形PCAのより柔軟な代替手段であり、さまざまなタイプの測定レベルで、非線形に関連する可能性のある変数の分析を処理できます。この方法は、名目(定性)データと順序(例えば、リッカートタイプ)データを分析するのに特に適しています。SPSSのCategoriesモジュールのプログラムCATPCAは分析で使用されますが、メソッドの説明は他のソフトウェアパッケージに簡単に一般化できます。


4

誰かの投稿にコメントする権限がまだありませんので、コメントを別の回答として追加していますので、ご容赦ください。

@Martin Fがコメントしたことを続けて、最近、非線形PCAに出会いました。データがまばらになるにつれて連続変数が順序変数の分布に近づくときの可能な代替手段として非線形PCAを検討していました(遺伝学では変数のマイナーアレル頻度がますます低くなり、あなたが残っているときに頻繁に起こります)連続変数の分布を実際に正当化することはできず、順序変数またはカテゴリ変数にすることで分布の仮定を緩める必要があるカウント数が非常に少ない場合。)非線形PCAはこれらの条件の両方を処理できます。遺伝学部の統計マエストロと議論し、コンセンサスの呼びかけは、非線形PCAはあまり使用されず、それらのPCAの動作はまだ十分にテストされていないということでした(遺伝学分野のみを参照している可能性があります。確かにそれは魅力的なオプションです。議論に2セント(幸いにも関連性がある)を追加したことを願っています。


答えを歓迎します、マンダール。CATPCA法による非線形PCAまたは別の非線形PCAを参照していますか(どのような方法ですか?)。また、バイナリ変数の場合、CATPCAは無意味または些細なものであることに注意してください。なぜなら、二分法スケールは、...以外では定量化できないからです!
ttnphns

@ttnphnsに感謝します。バイナリ変数については、バイナリ変数についてのあなたの意見に同意します。仮定は問題ではありません。そうでなければ、私は実際に「Introduction to nonlinear PCA」[link](openaccess.leidenuniv.nl/bitstream/handle/1887/12386/…)の本の章を参照していました。主にCATPCAとSASのPRINQUALパッケージを指します。
マンダー

2

そのような問題に対する最近開発されたアプローチがあります:一般化低ランクモデル

この手法を使用する論文の1つは、データフレームのPCAと呼ばれることさえあります。


PCAは次のように設定できます。

以下のためののX行列m MnmM

x 行列および x行列(これはランク e制約を暗黙的にエンコードします)を見つけますk個のXの k個のM Y KnkX^kmY^k

X^,Y^ =。argminX,YMXYF2

GLRMの「一般化された」とは、を他のものに追加し、正規化用語を追加します。F2


これは、新しいアイデアよりも再発明のように聞こえます。gifiを検索!
kjetil bハルヴォルセン

正確ではありません。GLRMは一般化されているようです(実際にリンクした論文はgifiパッケージ用紙を引用しています)。
ヤクブバルチュク

1

PCAmixdata#Rstats パッケージ

定量的変数と定性的変数の混合に対して、主成分分析、直交回転、および多因子分析を実装します。

ビネットの例は、連続出力とカテゴリ出力の両方の結果を示しています

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

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