アルゴリズム (主成分分析)
内容 |
主成分分析は変数間の関係を調べます。これにより、例えば変数の数を回帰やクラスター分析などで減らすことができます。
主成分分析内の主成分は変数とそれに対するの最大分散との関係を線形で表わしています。Xをp個の変数を持つn個の観測値とし、この共分散の行列はSとなります。ここで変数間の線形の関係は次のようになります。
- \[z_1=\sum_{i=1}^p a_{1i}x_i\]
\(x_i\ \) がi 番目の変数に、\(a_{1i} \ i=1,2,...,p\)は\(z_1\ \)の線形関係の係数となり、これらは列ベクトル\(a_1\ \)として示され、\(a_1^Ta_1=1\)で正規化されます。 \(z_1\ \) の分散は\(a_1^TSa_1\)となります。
\(a_1\ \) ベクトルは分散を最大にすることで見つけることができます。\(z_1\ \)は第一主成分と呼ばれています。第二主成分は次の物を最大化することで同じように見つけることができます。
- \(a_2^Ta_2=1\) と \(a_2^Ta_1=0\) は\(a_2^TSa_2\)を制約している主要因です。
これは第二主成分が第一主成分とは直交関係にあることを示しています。残りの主成分は同様の方法で算出することができます。係数 \(a_1, a_2, ..., a_p\ \) は行列Sの固有ベクトルから計算できます。Originは欠損値を取り除くためにいくつかの手法を用いています。
リスト形式で欠損値を除く
欠損値がある観測データは分析から除外されます。SVD用の行列 \(X_s\ \) は分析の行列タイプによりXから算出されます。
分析の行列タイプ
- 共分散行列
-
- \(X_s\ \) を行列Xとして各列の平均が各変数から引かれ、各列は \(\frac{1}{\sqrt{n-1}}\) によってスケールされます。
- 相関行列
-
- \(X_s\ \) を行列Xとして各列の平均が各変数から引かれ、各列は\(\frac{1}{\sqrt{n-1}\sigma_i}\)によってスケールされます。\(\sigma_i\ \)はi番目の標準偏差になります。
計算する値
SVDを \(X_s\ \) で実行します。
- \[X_s=V\Lambda P^T\ \]
ここでVは\(V^TV=I\ \)と共にあるp行列のnで、Pはp行列のpで、 \(\Lambda\) は対角要素\(s_i \ i=1, 2, ..., p\)を含む対角行列です。
- 固有値
-
- \[\lambda_i=s_i^2\]
- 下降順に固有値は保存されています。i 番目の分散が主成分によって広がった割合は\(\lambda_i/\sum_{k=1}^p \lambda_k\)です。
- 固有ベクトル
- 固有ベクトルは付加、または主成分の係数として知られています。各列のPは固有値または主成分と関連している固有ベクトルです。
- 固有ベクトルの符号はSVDにのみ特殊になっているわけではありません。Originは必ず足してプラスになるようにすることでこの符号を正規化しています。
- スコア
- 各列の \(\sqrt{n-1}V\Lambda\) は主成分と関連しているスコアです。欠損値を含む観測値があった場合、これらの値と対応するスコアも欠損値になります。
- この手法では各主成分と対応している分散のスコアは対応している固有値と同じになります。
- 標準スコア
- 各主成分のスコアはユニット分散を持つように正規化されています。
ペア形式で欠損値を除く
観測値は共分散や係数を計算する2つの変数の中で欠損値がどちらか一方にでもあるときに計算する場合のみ除かれます。
固有値と固有ベクトルは行列Sの共分散または係数から計算されます。
- \[SP=PD\ \]
Pはp行列のpで、Dは対角要素 \(\lambda_i \ i=1, 2, ..., p\) がある対角行列です。
- 固有値
- \(\lambda_i\ \)はi 番目の主成分の固有値です。下降順に固有値は保存されています。
- 固有値はペア形式で除かれた欠損値に対してはマイナスで表示されます。これは主成分ではまったく意味を成しません。固有値がマイナスになったものは付加とスコアをゼロにします。
- 固有ベクトル
- 各列のPは固有値または主成分と関連している固有ベクトルです。
- 固有ベクトルの符号は特殊になっているわけではありません。Originは必ず足してプラスになるようにすることでこの符号を正規化しています。
- スコア
-
- \[V=X_0P\ \]
- \(X_0\ \) は行列Xから各列の平均を引いた値になります。
- 欠損値を含む観測値があった場合、これらの値と対応するスコアも欠損値になります。
- この手法では各主成分と対応している分散のスコアは対応している固有値と同じになりません。
-
- 標準スコア
- 各主成分に対するスコアはその固有値の2ルートを取ってスケールされています。
バーレット検定
バーレット検定は残りの固有値p-kを等しくしています。これは分析行列が共分散行列であるときのみ使用できます。
- \[H_0:\lambda_{k+1}=\lambda_{k+2}=...=\lambda_{p} k=0, 1, ..., p-2\ \]
自由度 \(\frac{1}{2}(p-k-1)(p-k+2)\) で \(\chi_2\ \) 分散をおおよそで計算しています。
- \[(n-1-(2p+5)/6)\Big\{-\sum_{i=k+1}^p \mathrm{log}(\lambda_i)+(p-k)\mathrm{log}(\sum_{i=k+1}^p \lambda_i/(p-k))\Big\}\]