主成分分析 によって主成分を抽出し、 その主成分を使って 重回帰分析 をするのが「主成分回帰分析」です。
主成分分析を重回帰分析の前処理にすることで 多重共線性 があったり、「変数の数 > サンプルの数」になっていても、とりあえずデータ解析を進められます。
一般的な回帰分析をする時に、全部の変数を使わずに、最小限の数の変数で、精度の高いものを作ろうとすることがあります。
因果推論 では、こうやって作った時に選ばれる変数が、「原因」であることが多いので、このような分析します。 ところで、 因果推論 をする時には、わずかな精度の高さの違いよりも、 精度が高くなる変数にはどのようなものがあるのかの方が重要です。 精度が一番高くなる変数を選び出すことには、意味がないこともあります。
このような時は、主成分回帰分析をすると、精度が高くなる主成分がわかり、その主成分と関係の深い変数がわかるので、見通しの良い分析になります。
Rによる主成分回帰分析 には、 隠れ変数の探索 の例も入れています。
単回帰分析の結果と同じ時と違う時 のページにあるように、 隠れ変数が目的変数と相関が高いデータに対して、 重回帰分析 をした場合、隠れ変数ではない変数の存在がうまく消えて、隠れ変数の存在が表れるように、 各変数を差し引きして、線形和が作られます。 このようにして、説明変数の線形和と目的変数の相関が高くなります。
このため、一般的な重回帰分析で、このようなケースを分析すると、 「非常に精度の高いモデルが作れたが、線形和の係数がこうなった理由が考察できないので、説明変数との因果関係はわからない。」となります。 線形和の係数を丁寧に見て行くと、 「隠れ変数ではない変数の存在がうまく消えて、隠れ変数の存在が表れるように、 各変数を差し引きされた。」と読み取れなくもないのですが、 「係数を丁寧に見ればわかる」というのは、データ分析が得意ではない人に共感してもらいにくい進め方になります。
主成分回帰分析をすると、主成分という形で、隠れ変数の存在があぶり出されてくるので、見通しがよくなります。
Rによる主成分回帰分析 にある絵を使って説明すると、「PC1+」というのと、目的変数の相関が高い場合は、主成分回帰分析と一般的な重回帰分析で、 同じような結論を出せます。
一方、元の変数のどれとも相関が低い「PC1-」、「PC2+」、「PC3+」といった物と目的変数の相関が高い場合は、 一般的な重回帰分析では考察が難しくなります。
変数が違う時の、わずかな精度の違いは、そのデータだとそうなるというだけで、 長い目で見た時に、一番精度が高くなる変数は、よく考えた方が良いこともあります。
このような時にも、主成分回帰分析で変数のグループを見ておく、アプローチは役に立ちます。
Rの実施例が、 Rによる主成分回帰分析 のページにあります。
R-EDA1 でもできます。
「Similarity_of_Variables_and_Categories(変数やカテゴリの類似性)」
→「Between_label_column_and_others(ラベルの変数と、他の変数の関係)」
と進んだ中にあるMethod(方法)に、「PCRA__Regression_analysis(主成分回帰分析)」を追加しました。
説明変数と主成分の相関関係は、ネットワークグラフで確認できるようにしています。
順路
次は
変数の選択