「主成分分析」の概要

「主成分分析」は、多変量解析の1つであり、端的にいうと、「”複数の変数を要約した“変数を作る」手法です。
下記のような要約変数zを作り、それを分析や機械学習モデルで活用したりします。
その要約変数を「主成分」と呼びます。

変数x_1,x_2,...,x_pに対して、主成分zは下記のように作成されます。\\\\
k_1,...,k_pは、定数であり主成分分析の手法より算出されるものです。\\\\
z = k_1 x_1+k_2x_2+...+k_px_p \\\\
詳細な表記にすると、データi(i=1,...n)に対する主成分は下記の通りです。\\\\
z_i=  k_1 x_{1i}+k_2x_{2i}+...+k_px_{pi} \\\\
=\sum^{p}_{j=1}k_jx_{ji}

主成分を複数作ることができ、各主成分は特定の順番(※1)により「第一主成分」、「第二主成分」、…と呼びます。
(※1)下記詳細にて説明します。

主成分分析は、主成分よりデータを分類し、分析に活用する目的で実施されます。
また、機械学習では、次元圧縮(※2)をするために実施されることがあります。

(※2)説明変数の数を(情報をなるべく保持して)減らすこと。説明変数が多すぎると過学習しやすくなるため次元圧縮が行われる。

「主成分分析」の詳細

主成分はどんなもの?

複数の説明変数を入力とし、要約した変数、つまりは主成分を出力する“ことが「主成分分析」と上記で説明しました。
出力された主成分はどういう特徴があるか説明します。
ポイントは下記の通りです。

  1. 主成分は、説明変数の線型結合
  2. 主成分は分散が大きい。大きい順に第一主成分、第二…と呼ぶ。
  3. 第一主成分は上記1.(線形結合)の中で分散が最大
  4. 各主成分の軸はそれぞれ垂直。(内積が0になる)
  5. 第(n+1)主成分は、第一、…第n主成分と垂直になる軸であり、そのような軸の中で分散が最大のもの。

つまり主成分分析は、「バラつきが良い(大きい)形で要約されるので、データの分類のしやすさがある。」そして、「各主成分の軸は垂直なので、全く異なる指標の要約が作れる。」という特徴がある手法です。

好きな要約が作れるの?

説明変数が決まってる前提では、結論「好きには作れない」です。
上記「主成分はどんなもの?」の通り、各制約(垂直、線形結合)の上で分散が最大になるものを主成分として作成するので、データに対して作られる主成分は決まってしまいます。

主成分の意味合い

「作られた主成分がどんな意味をもつか?」は、各説明変数に係る係数を見て、判断します。(つまり主観的に考えるものです。)
例えば、「五教科(国数英理社)のテスト結果」を説明変数として主成分分析をしたとします。
そして、得られた主成分が下記の通りだとしたら、どう判断するか考えてみましょう。

[主成分] = (-10) × [国語] + 5 × [数学] + (-1) × [英語] + 3 × [理科] + (-5) × [社会]

各係数を見ると、数学と理科の係数が「+」で他が「ー」ですね。
英語は”絶対値的に”小さい値であることも踏まえると、理系科目が文系科目に比べ高ければ、主成分の値は大きくなり、逆ならば主成分は小さい値になる形ですね。
つまり、上記主成分は「文系・理系」でデータを分類するものと判断できるでしょう。(値が大きければ理系、小さければ文系)

最後に

今回は主成分分析の概要を説明しました。
主成分分析は、(次元圧縮を目的とする場合はともかく、)分析で分類軸として利用するには、得られた主成分を意味付けする必要があります。
「使える指標となるか」、そもそも「意味付けができるか」等、分析感を必要とするものです。
なので、機械的に都合の良い軸ができるとは限りませんが、線形結合という点では意味付けはしやすいと思います。

By clear

データエンジニア・機械学習・分析等を主とし、Webアプリ開発も行っているフリーランスです。