巷のコロナウィルスのニュースを聞いていたら、熱ぽくなってきました。昨日のブログでもウィルスを話題にしたからでしょうか? 本日は、過去ブログ「統計解析は「R」で勉強しよう」「どこが住み易く、どこが危険か?」「ばらつきが大きい方が主に効く?」「固有ベクトルの統計への利用」で何回か主成分分析を紹介しましたが、改めて原理的な説明資料を作成してみました。Excelファイルと合わせてご覧ください。数式が出て来ますが、雰囲気だけでも感じてください。なぜこのように主成分分析をしつこく取り上げるかと言うと、明日説明する「マハラノビス距離」算出式において、「分散・共分散行列」の逆行列を掛ける意味を知りたかったからです。
資料はこちら → 主成分分析その2
Excelファイルは → 主成分分析その2
p.1 100名の学生の数学と理科の得点をプロットしたのが、左下のグラフです。数学も理科も平均点は50点です。右下のグラフは、平均点を差し引いた得点をプロットしていますので、原点は(0,0)ですね。 x軸とy軸について分散Vx及びVy及び共分散Sxyを右上の式で算出します。
p.2 x及びyデータから各々の平均値を引いた数値のマトリクスをXとすると、Xの転置行列とXの掛算は内積になります。nで割ると、行列の対角が分散と共分散の分散・共分散行列になります。
p.3 左上のグラフを見ると、x軸の数学の得点が増加すると理科の得点も増加する右肩上がりの傾向がみられます。最小二乗法等で近似式を直線回帰すると、右肩上がりの直線となります。この直線を水平にしたものが右下の図です。この水平直線方向と垂直方向のデータのばらつき(分散)がピンクと緑の両矢印です。ピンク矢印が緑より大きいので、こちら(数学の得点)が主成分となります。
p.4 ここからは数式を用いて解いていきます。p.3は時計回りに回転させていますが、今回は、x軸をθだけ反時計回りに回転させたものが青線です。xy平面の点(xi、yi)を回転させた青線の座標で求めると、zi=axi+byi=xicosθ+yisinθとなります。a=cosθ、b=sinθなので、a2+b2=1です。 青線方向の分散Vzの式にzi=axi+byiを代入して変形していくと、Vx、Sxy及びVyの式が得られます。
p.5 「ziの分散Vzの大きいaとbを求める」が主成分分析問題となります。過去ブログ「」の「ラグランジュの未定係数法」の出番です。2つの式の差の関数F(a,b,λ)の極値を偏微分してゼロ(0)で求めます。変数a,b,λで偏微分すると3つ式がえられますが、上の2つを用いて行列にします。
p.6 Excelで計算したVx、VyあるいはSxyを2次方程式に代入して解くとλ1とλ2という固有値が得られます。括弧の中はMinitabという統計ソフトを用いた計算値です。この固有値の意味は、p.2で主成分が横軸になるように回転した図(再掲)で説明します。固有値は、この座標の直交する単位ベクトルaとbの固有値倍引き延ばしたものが各々の成分の拡がり(分散)であることを示しています。つまり横軸(数学)の方が縦軸(理科)の10倍寄与率が高いことを示します。
p.7,8 Minitabでの主成分分析の手順を①~⑤まで書いておきます。
p.9 外れ値プロットあるいは、数学と理科のどちらの寄与率が高いかを視覚的に表すバイプロット図です。
いかがですか? Minitabのような統計ソフトを利用するにしても、主成分分析とはどのような考え方で計算されているかは知っておいた方が良いと思います。今回は2次元ですが、パラメータが増えた際に、「分散・共分散行列」の概念を知っているだけで対処できます。明日、外れ値検出に威力を発揮する「マハラノビス距離」について説明しますが、そこにも出て来ます。