PCAの結果にパターンがないことをどのように確認できますか?


9

19変数の1000以上のサンプルデータセットがあります。私の目的は、他の18の変数(バイナリおよび連続)に基づいてバイナリ変数を予測することです。6つの予測変数がバイナリ応答に関連付けられていると確信していますが、データセットをさらに分析し、欠落している可能性のある他の関連付けまたは構造を探します。これを行うために、PCAとクラスタリングを使用することにしました。

正規化されたデータでPCAを実行すると、分散の85%を保持するために11のコンポーネントを保持する必要があることがわかります。 ここに画像の説明を入力してください ペアプロットをプロットすると、次のようになります。 ここに画像の説明を入力してください

次は何なのかわかりません... pcaに重要なパターンがありません。これが何を意味するのか、変数の一部がバイナリであることが原因であるのではないかと思います。6つのクラスターでクラスター化アルゴリズムを実行すると、次の結果が得られますが、いくつかのblobが目立っているように見えますが(黄色のもの)、これは必ずしも改善にはなりません。 ここに画像の説明を入力してください

おそらくおわかりのように、私はPCAの専門家ではありませんが、いくつかのチュートリアルを見て、高次元空間で構造を垣間見ることがどのように強力であるかを確認しました。有名なMNISTディジット(またはIRIS)データセットを使用すると、うまく機能します。私の質問は、PCAをより理解するために、私は今何をすべきかです。クラスタリングが有用なものを取得していないようですが、PCAにパターンがないこと、またはPCAデータのパターンを見つけるために次に何を試すべきかをどのようにして確認できますか?


なぜ予測子を見つけるためにPCAを行うのですか?他の方法を使ってみませんか?たとえば、それらすべてをロジスティックregに含める、LASSOを使用する、ツリーモデルを構築する、バギング、ブースティングなどを行うなど
Peter Flom-Reinstate Monica

PCAが明らかにできる「パターン」とは具体的にどういう意味ですか?
ttnphns 2015

@ttnphns私がやろうとしていることは、私が予測しようとしているバイナリ応答の結果をよりよく説明するために共通している可能性がある観測のサブグループを見つけることです(これは、everydayanalytics.ca / 2014 / 06 /…)。また、虹彩データセットでpcaとクラスタリングを使用すると、種(scikit-learn.org/stable/auto_examples/decomposition/…)を分離するのに役立ちますが、クラスターの数はすでにわかっているので非常に簡単です。
mickkk

@PeterFlom私はすでにロジスティック回帰とランダムフォレストモデルを実行しており、適切に動作していますが、データをさらに調査したいと思います。
mickkk

回答:


7

あなたは分散プロットがPCAがここでは無意味であることを教えてくれると説明しました。11/18は61%なので、分散の85%を説明するには変数の61%が必要です。私の意見では、PCAはそうではありません。18の3-5の因子が95%程度の分散を説明する場合、PCAを使用します。

更新:PCの数によって説明される累積分散パーセントのプロットを見てください。これは、金利の期間構造モデリング分野からのものです。3つのコンポーネントが分散の合計の99%以上をどのように説明しているかがわかります。これはPCA広告の作り上げ例のように見えるかもしれません:)しかし、これは本物です。金利のテナーは非常に相関しているため、このアプリケーションではPCAが非常に自然です。数十のテナーを扱う代わりに、3つのコンポーネントだけを扱います。

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


そもそもそう思っていたのです。PCAについて大胆な発言をすることについてあまり知らないので、私は直接それを指摘しませんでした。コンポーネントのx%以上が必要な場合、PCAはあまり役に立たないと言っても安全ですか?つまり、私が見たアプリケーションの例では、通常、ほとんどのコンポーネントがほとんどの変動を説明しています。
mickkk

@mickkk、しっかりしたルールはありません。私には徴候は凸性であり、分散はグラフを説明しました。PCの数によって説明される合計分散の累積パーセンテージとしてそれを描く場合、非常に凹型のグラフを表示する必要があります。あなたは線形に近いでしょう:各コンポーネントはデータについてほぼ同じ情報を運ぶようです、この場合、なぜ元のデータの代わりにPCAを使用するのですか?
Aksakal

新しい例での編集は非常に役に立ちました。
mickkk

5

N>1000p=19

変数のサブセットのみが実際に説明的であると確信している場合、Elastic Netなどのスパース回帰モデルを使用すると、これを確立するのに役立ちます。

また、混合タイプの入力を使用したPCA結果の解釈(バイナリと実数、異なるスケールなど、ここでのCVの質問を参照)はそれほど簡単ではなく、明確な理由がない限り、それを避けたい場合があります。


4

あなたの質問をできる限り簡潔に解釈します。それがあなたの意味を変えるかどうか私に知らせてください。

6つの予測変数がバイナリ応答に関連付けられていると確信しています[しかし] pcaに有意なパターンはありません

ペアプロットの一貫性以外に、「重要なパターン」も見られません。それらはすべて、ほぼ大まかな円形の塊です。あなたが何を期待していたか知りたいです。ペアプロットのいくつかを明確に点クラスター化しますか?いくつかのプロットは線形に非常に近いですか?

PCAの結果(ブロブのようなペアプロットと上位11の主成分でキャプチャされた分散の85%のみ)は、バイナリ応答予測に十分な6つの変数について直感を妨げるものではありません。

以下の状況を想像してみてください:

  1. PCAの結果から、分散の99%が6つの主成分によって捕捉されていることがわかります。

    それは、6つの予測子変数に関するあなたの直感をサポートしているように見えるかもしれません-おそらく、ポイントを非常に分類する6次元空間で平面またはその他の表面を定義でき、その表面をバイナリ予測子として使用できます。これで2番になりました...

  2. 上位6つの主成分に次のようなペアプロットがあるとします。

    ペアプロットの「パターン」。

    しかし、任意のバイナリ応答を色分けしてみましょう

    「パターン」は役に立たない。

    分散のほぼすべて(99%)を6つの変数でキャプチャできたとしても、バイナリ応答を予測するための空間的分離があるとは限りません。

実際にはいくつかの数値のしきい値(その6次元空間の表面としてプロットできる)が必要になる場合があり、バイナリ分類へのポイントのメンバーシップは、そのポイントと各しきい値との関係で構成される複雑な条件式に依存する場合があります。しかし、これはバイナリクラスを予測する方法のほんの一例です。表現、トレーニング、および予測を行うための大量のデータ構造と方法があります。 これはティーザーです。引用するには

多くの場合、機械学習の問題を解決するうえで最も難しいのは、その仕事に適した見積もりを見つけることです。


1
それはので、スマイリーの顔は、実際に良いですです無相関!私はそれが好き。
amoeba

@amoeba、相関のないPCからスマイリーフェイスをもらえますか?
Aksakal

@Aksakal、はい、スマイリー散布図はゼロ相関を示すように私に思われます。Kdbanman、更新、+ 1に感謝します。
amoeba

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