主成分分析とは何か①

多変量解析

統計学ぶ上で、第一の関門が検定、推定であるとすれば、第二の関門は多変量解析だと思います。

個人的には多変量解析は、検定や推定に比べても難しいと思います。解析方法において、行列や微分がふんだんに含まれるからです。

ですが、一度理解出来るとこれまで分析出来る対象とすら思っていなかったようなものも分析出来るようになります。

今回は多変量解析のうちの一つ「主成分分析」を紹介します。

主成分分析は行列の知識が無くとも、エクセルの機能で解を得ることが出来る分析手法です。

まずは行列を抜きにして、「実際に使える主成分分析」を学んでいきましょう。

主成分分析は何を見ているのか?

学校の成績を軸に考えると分かりやすいです。

国語、英語、数学で個々人の学力を把握する際、通常学校では合計点で生徒間の学力を比較します。

主成分分析はこの考え方の発展形です。

主成分分析では一つ一つの生徒の成績が最もバラバラになるように、各成績の和を作ります。

このように、元の変量では個々人の差が見えづらいときでも、新しい変量(合成変量)を作ることで、差を明確にして容易に比較出来るようになります。

では、どのようにすれば最もバラバラになる変量を合成することが出来るのでしょうか。

それは

「分散が最大になるように合成する」

ことです。

これは主成分分析の基本原理になります。

合成変量の作り方

3変量x,y,zで考えてみましょう。各変量に重みの定数a,b,cを掛けて以下のような合成変量pを考えます。

$$p=ax+by+cz$$

$$ただしa^2+b^2+c^2=1$$

ここで各定数の2乗和を1と条件づけたのは、pが無制限に大きくなることを制限するためです。

このpの分散

$$s_p^2=\frac{1}{n}\sum_{i=1}^{n}{(p_i-\overline{p})^2}$$

が最大になるa,b,cを決めれば良いのです。

「ソルバー」による主成分分析の方法

ですが、この分散の最大値を求める過程が中々に至難です。

行列とか出てきます。うっとうしいです。

そこで今回はそのあたりを、エクセルアドインのソルバーに頼って答えを得る方法を解説します。

例としてまたもや学校の成績で考えてみましょう。

各個人の数学x、理科y、社会u、英語v、国語wの成績の主成分分析を行います。

$$p=ax+by+cu+dv+ew$$

$$ただしa^2+b^2+c^2+d^2+e^2=1$$

におけるpの分散の最大化を考えます。

pは主成分、a,b,c・・・は主成分負荷量と呼称します。

エクセルで以下のような表を作ってみてください。

・各出席番号ごとに各教科の成績を並べる。

・成績の表の上に、主成分負荷量を入力するセルとその平方和の計算式を入力した式を並べる

・合成の行にsumproduct関数で

$$=ax+by+cu+dv+ew$$

となるように式を入力する。

・各成績、合成変量pの分散varp関数を入力

これで準備は整いました。

次にアドイン「ソルバー」を開きます。ソルバーが入っていない場合は読み込んでください

「目的のセル」には合成変量pの分散を算出セルを指定します。

「目標値」は最大値を指定します。

「変更セルの変更」には、a,b,c,d,eを指定します。

制約条件の対称には、a,b,c,d,eの平方和のセルを指定します。

後はこれを実行したら、合成変量pの分散が最大となるa,b,c,d,eが算出されます。

このソルバーでは、主成分pの分散が最大になるように主成分負荷量を制約条件の元色々動かして値を導きます。

これなら、簡単に主成分分析を実行することが出来ます。

次回は、この主成分分析で得た主成分pの効果について解説します。

コメント