
5. 主成分分析
主成分分析は、相関関係にあるいくつかの要因を合成(圧縮)して、いくつかの成分にし、その総合力や特性を求める方法である。主成分分析では、重回帰分析や判別分析のように目的変量は与えられていない。説明変量を圧縮してその特性を調べるものである。
例えば、何人かの生徒の英語・数学・理科・社会の4つの成績データから、この4つの要因を圧縮し1成分のデータにすることにより、その生徒の総合力を調べたり、また文系能力・理系能力を調べるなどのようにある特性を求めたりする方法である。
5.1 主成分を求める
8人の生徒の英語と数学の評価が下表のようであったとする。この個々の成績から総合力は誰が一番あるのか、また文系能力・理系能力のどちらがあるのかを調べる。
|
No |
標本 |
英語 x1 |
数学 x2 |
合計 |
順位 |
|
1 2 3 4 5 6 7 8 |
A B C D E F G H |
5 5 7 8 7 4 8 4 |
8 5 4 5 2 3 7 6 |
13 10 11 13 9 7 15 10 |
2 5 4 2 7 8 1 5 |
|
|
平 均 |
6 |
5 |
|
|
単純に英語と数学の合計から順位をつけると、上の表のようになる。しかしこの順位が総合力を示しているかどうかは不明である。そこで英語(x1)と数学(x2)のデータを圧縮して1成分に合成し、尺度を1つにしてから総合力を求めることを考える。
2情報をできるだけその情報を失わないようにして、1つの情報に合成してからその総合力を調べてみる。2変量を合成したものをZとすると、2変量を合成するので、適当な重みaiをつけて、Z=a1・x1+a2・x2 とする。

通常、主成分を求めるには、標本データの重心を通る直線を1本引く。この直線は適当な重み aiをつけ
Z=a1・x1+a2・x2+…+an・xn なる直線を考える。そしてこの直線は、各点からの直線への距離が最小になるように引く必要がある。このようにするには、a12+a22+…+an2=1の条件下で合成変数Zの分散が最大になるようにする。また、得られる合成変数Zのうち分散が最大のものを第1主成分、その次に分散が大きく第1主成分とは無相関のものを2主成分という。一般には変量がn個あれば、n個の主成分まで求めることができる。
前の例において、重心を通る直線をZ=a1・x1+a2・x2とする。この直線は、各標本データからのこの直線上への距離が最小になるように引く。
いま、図の1点Dからこの直線Z上に降ろした点をQとすると

PD2=PQ2+DQ2 であり、PD2 は実際の情報量であるから一定である。いま点Dからこの直線上への距離を最小にする(合成することにより失われる情報量を最小にする)ことを考えるのでDQ2をできるだけ小さくしたい、するとPQ2 を最大にする(合成して求める情報量を最大にする)ことを考えればよい。
なお、重心Pから点Qまでの距離を主成分得点という。この主成分得点が2変量を合成した値である。第一主成分をZ1=a1・x1+a2・x2 とすると、主成分得点の分散Qは

a12+a22=1の条件下で、この主成分得点の分散Qを最大にするようなa1・a2を求める。
ラグランジュの未定乗数法を用いて
G=Q−λ(a12+a22−1)とおいて、Gをa1・a2で偏微分し0とおくことにより分散Qを最大にするa1・a2 を求める。

(S11−λ)・a1+S12・a2=0
S12・a1+(S22−λ)・a2=0
a12+a22=1
これを行列を使用して表すと、下のような固有方程式となる。

第1主成分としては、大きい方のλ値を採用する。
5.1.1 分散共分散行列から主成分を求める。
主成分得点の分散Qを最大にするa1・a2を求めるには、分散共分散行列を使用して行うことができる。
(1)説明変量2個の時、分散共分散行列から出発して主成分を求める。

AX=λX (λ:実数)
を満たす時、λをAの固有値、Xをλに属する固有ベクトルという。固有値λは主成分得点の分散に一致する。

この固有方程式から固有値λを求める。

(S11−λ)・(S22−λ)−S122=0 となり、先ほど計算した結果と同じものを得ることができる。

第1主成分の式はZ1=a1・x1+a2・x2 であるが、原点を0からデータの重心(x1,x2)に移動すると、
となる。この式を用いて主成分得点を求めることができる。
(2)説明変量がp個ある時、分散共分散行列から出発して主成分を求める。
説明変量がp個ある時の分散共分散行列をAとすると
この時 AX=λX
(λ:実数) の固有方程式を解いて固有値λを得る。固有値λをλ1≧λ2≧…≧λp≧0とすると、固有値の大きい方法から順に、第1主成分・第2主成分…第p主成分となるので、各λに属する固有ベクトルを求めると、各主成分の係数を得ることができる。

から固有値λiを得る。
最大の固有値λ1から、第1主成分が得られるので、λ1に属する固有ベクトルaiを求めて第1主成分の式が求められる。
第1主成の式… Z1=a1・x1+a2・x2+…ap・xp+a0
同様にして、2番目に大きい固有値λ2から第2主成分の式を得ることができる。λ2に属する固有ベクトルajを求めて第2主成分の式が求められる。
第2主成の式… Z2=a1・x1+a2・x2+…ap・xp+a0
以下、同様にして第p主成分まで求めることができる。
5.1.2 相関行列から主成分を求める。
説明変量の単位が異なるときには、単位の影響を受けてうまく主成分を求めることができない。このようなとき、単位の影響を取り除くには、データの標準化をすればよい。
データの標準化は
![]()
で変換したデータについて主成分を求めればよい。データの標準化を行うと、平均=0 分散=1となる。分散共分散行列はデータの標準化を行うと、相関行列となる。
(1)変量が2個の時、相関行列から出発して主成分を求める。
固有方程式は
|A−λE|=0 (1−λ)2 −r122 =0 λ=1±r12

(2)変量が2個の時、相関行列から出発して主成分を求める。
説明変量がp個ある時の相関行列をAとすると
分散共分散行列から出発したときと同様に
AX=λX (λ:実数)の固有方程式を解いて固有値λを得る。固有値λをλ1≧λ2≧…≧λp≧0とすると、固有値の大きい方法から順に、第1主成分・第2主成分…第p主成分が得られ、各λに属する固有ベクトルを求めて、各主成分の係数を得る。

から固有値λiを得る。
最大の固有値λ1から、第1主成分が得られるので、λ1に属する固有ベクトルaiを求めて第1主成分の式が求められる。
第1主成の式… Z1=a1・x1'+a2・x2'+…ap・xp'+a0
ただし、xi'は標準化した値である。
同様にして、2番目に大きい固有値λ2から第2主成分の式を得ることができる。λ2に属する固有ベクトルajを求めて第2主成分の式が求められる。
第2主成の式… Z2=a1・x1'+a2・x2'+…ap・xp'+a0
以下、同様にして第p主成分まで求めることができる。
なお新しく求められた主成分は、説明変量を合成して得られるものであるから、新たに自分でその主成分が何を意味する変量であるか命名する必要がある。
5.2 例題について
5.2.1 主成分を求める
|
No |
標本 |
英語(x1) |
数学(x2) |
|
1 2 3 4 5 6 7 8 |
A B C D E F G H |
5 5 7 8 7 4 8 4 |
8 5 4 5 2 3 7 6 |
|
|
平 均 |
6 |
5 |

(2.5−λ)・(3.5−λ) − 0.1252=0
λ=3.515 , 2.484
主成分得点の分散を大きくするのでλ = 3.515を第1主成分として採用する。
第1主成分
λ1 = 3.515 の時の固有ベクトルを求めると
a1 = −0.122 a2 =
0.9925
よって Z1 =−0.1222・(x1−6)+0.9925・(x2− 5) =−0.1222・x1+0.9925・x2−4.229
第2主成分
λ2 = 2.484 から
Z2 = 0.9925・x1 + 0.1222・x2 − 6.566 となる。
5.2.2 主成分得点を求める
第1主成分得点は、Z1=−0.1222・x1+0.9925・x2−4.229 から求めると下表のようになる。
|
No |
標本 |
英語 x1 |
数学 x2 |
第1主成分得点 |
順位 |
|
1 2 3 4 5 6 7 8 |
A B C D E F G H |
5 5 7 8 7 4 8 4 |
8 5 4 5 2 3 7 6 |
3.0997 0.1222 −1.1147 −0.2444 −3.0997 −1.7406 1.7406 1.2369 |
1 4 6 5 8 7 2 3 |
|
平均 |
|
6 |
5 |
|
|
|
分散 |
|
|
|
|
3.515 |
第1主成分の式を見るとx1(英語)の係数が(−)でx2(数学)の係数が(+)となっている。これから、第1主成分は理系能力を示すと考えられる。主成分得点からその点数の大きい順に順位をつけると、その順位が理系能力の順位であるといえる。
これをグラフに描いてみると
第2主成分得点は、Z1=0.9925・x1+0.1222・x2−6.566 から求めると下表のようになる。
<