アルゴリズム (判別分析)
内容 |
判別分析は観測値のグループ所属が分かっているものをさらにグループに振り分け、トレーニングデータとするために使われます。
\(X_t\ \)をn個の観測値とp個の変数を持った\(n_g\)グループに所属しているトレーニングデータとします。\(\bar{x}_j\)はjグループのサンプル平均の行ベクトルで、\(n_j\ \)はjグループの観測された個数です。jグループのグループ内共分散行列は次のように表示されます。
\[S_j=\frac{1}{n_j-1}\cdot (X_{t}-\bar{x}_j)^T(X_{t}-\bar{x}_j)\]
プールされたグループ内共分散行列は次のようになります。
\[S=\frac{1}{n-n_g}\cdot\sum_{j=1}^{n_g} (X_{t}-\bar{x}_j)^T(X_{t}-\bar{x}_j)\]
欠損値はこのリスト形式で除かれています。つまり、欠損値を一つ以上含んでいる観測は分析から除外されています。
グループ内共分散行列の均衡検定
もしトレーニングデータが多変量正規分布になると仮定されているとき、次の尤度比検定統計Gを使い、グループ内共分散行列の均衡検定を行えます。
\[G=C{(n-n_g) \mathrm{log} |S|-\sum_{j=1}^{n_g} (n_j-1) \mathrm{log} |S_j|}\]
ここで
\[C=1-\frac{2p^2+3p-1}{6(p+1)(n_g-1)}\cdot(\sum_{j=1}^{n_g} \frac{1}{n_j-1} -\frac{1}{n-n_g})\]
大きいnの値は、Gがおおよそ\(\chi^2\ \)変数と自由度 \(\frac{1}{2}\cdot p(p+1)(n_g-1)\) で分散されていると考えられます。
正準判別分析
正準判別分析はp値において、グループ間の分散がグループ内の分散と違いが最大になる割合の線形結合を探すのに使われます。作成された正準変量はグループ間の分離をするのに使われます。
トレーニングデータから総平均を引いたものをXとし、そのランクをkとします。直交行列QはQR分解(すべての列ランクを行う)またはXからのSVDで計算されます。そして \(Q_X\ \) はk列の最初のQになります。\(Q_g\ \)を \(n_g-1\) によってnとし、直交行列によりグループを定義します。kx \(n_g-1\ \) の行列Vを 次のようにします。
\[V=Q_X^TQ_g\]
The SVD of V is:
\[V=U_X \triangle U_g^T\]
ゼロでない行列 \(\triangle\) の対角要素はiの正準係数で、正準変量とは \(\delta_i\ \) i=1,2,...,と \(l=\mathrm{min}(k, n_g)\ \) で関係しています。
グループ内の二乗和行列における固有値は:
\[\lambda_i=\frac{\delta_i^2}{1-\delta_i^2}\]
- ウィルクスのラムダ(λ)
-
- i より有意に大きくなる次元数を検定するには
- \[\Lambda_i=\prod_{j=i+1}^{l} 1/(1+\lambda_j)\]
-
- 自由度\((k-i)(n_g-1-i)\ \)を持った \(\chi^2\ \) 統計が使用されて次のようになります。
- \[(n-1-n_g-\frac{1}{2}(k-n_g))\sum_{j=i+1}^{l} \mathrm{log}(1+\lambda_j)\ i=0,1,...,l-1\]
- 正規化されていない正準係数
-
- 正準変量のため行列Bをロードするには\(U_X\ \)から計算されます。正準変量はグループ内分散からプールされた単位を持つようにようにスケールされています。つまり:
-
- \[B^TSB=I\ \]
-
- 固有ベクトルの符号はSVDの結果に特有ではありません。つまり、各列のBはー1によってかけることができます。Originは \(RB\ \) 内の各和がプラスになるように正規化しています。RはSのコレスキー因数分解結果です。
- 定数は次のように計算されます。
-
- \[C_0=-X_mB\ \]
-
- \(X_m\ \) は変数の平均を表す行ベクトルです。
- 正準変量のため行列Bをロードするには\(U_X\ \)から計算されます。正準変量はグループ内分散からプールされた単位を持つようにようにスケールされています。つまり:
- 正規化されている正準係数
-
-
-
- \[D=S_aB\ \]
-
- \(S_a\ \) は対角行列で対角要素はグループ内の共分散行列Sの対角要素の平方根を取ったものになります。
-
- 正準構造行列
-
-
-
- \[C=S_a^{-1}SB\ \]
-
-
- 正準グループ平均
-
-
-
- \[M_j=C_0+\bar{x}_jB\ \]
-
- \(M_j\ \)と \(\bar{x}_j\ \) は順に正準グループ平均とj番目のグループ平均の行ベクトルとなっています。
-
- 正準判別関数のスコア
-
-
-
- \[A_i=C_0+X_iB\ \]
-
- \(A_i\ \) はi番目の観測、 \(X_i\ \) 、の正準スコアです。
- i 番目の観測はトレーニングデータでもテストデータでも構いません。
-
マハラノビス距離
マハラノビス距離は観測点とグループ間の距離を測ります。これには2種類の形があります。j 番目のグループと観測点 \(x_i\ \) の距離は次のようになります。
- グループ内共分散行列を使う
-
- \[D_{ij}^2=(x_i-\bar{x}_j)S_j^{-1}(x_i-\bar{x}_j)^T\]
- プールされたグループ内共分散行列を使う
-
- \[D_{ij}^2=(x_i-\bar{x}_j)S^{-1}(x_i-\bar{x}_j)^T\]
分類
事前確率
事前確率は他のグループから観測データが集められた可能性のユーザ見解を反映します。Originは2種類の先験的確率をサポートしています。
- 等価
-
-
-
- \[\pi_j=1/n_g\ \]
-
-
- グループの大きさに比例する
-
-
-
- \[\pi_j=n_j/n\ \]
-
- \(n_j\ \) はトレーニングデータのj番目のグループ内にある観測データの数です。
-
事後確率
観測データがj 番目のグループから出ている場合のp値は平均 \(\mu_j\ \) と共分散行列 \(\Sigma_j\ \) をもつ多変量正規分布に当てはまることを前提としています。観測点 \(x_i\ \) がグループjのから計測された確立は \(p(x_i|\mu_j,\Sigma_j)\ \) となるとき、グループjに所属する事後確率は次のようになります。
-
- \[q_j=p(j|x_i,\mu_j,\Sigma_j)\propto p(x_i|\mu_j,\Sigma_j)\pi_j\]
\(\mu_j\ \) と \(\Sigma_j\ \) のパラメータはテストデータ \(X_t\ \) から推測されています。すると観測点は最も事後確率が高いグループに入れられます。Originは事後確率を計算するのに2通りの計算方法を準備しています。
- 一次判別関数
-
- グループ内の共分散行列は等しいと推測されています。
-
-
-
- \[\mathrm{log}(q_j)=-\frac{1}{2}D_{ij}^2+\mathrm{log}(\pi_j)+c_0\]
-
-
-
- \(D_{ij}^2\) はi 番目の観測点とプールされたグループ内共分散行列のマハラノビス距離で、 \(c_0\ \) は定数です。
- 二次判別関数
-
- グループ内の共分散行列は等しくないと推測されています。
-
-
-
- \[\mathrm{log}(q_j)=-\frac{1}{2}D_{ij}^2+\mathrm{log}(\pi_j)-\frac{1}{2}\mathrm{log}|S_j|+c_0\]
-
-
-
- \(D_{ij}^2\) はi 番目の観測点とプールされたグループ内共分散行列のマハラノビス距離で、 \(c_0\ \) は定数です。
\(q_j\ \) は次のように正規化され、 \(c_0\ \) は正規化したものから算出されます。
-
- \[\sum_{j=1}^{n_g} q_j=1\]
異型性インデックス
異型性インデックス\(I_j(x_i)\ \)は観測点がi番目の観測データよりもグループjにより典型的に当てはまる確立を示しています。すべてのグループで1に近い場合、それはトレーニングデータに入っているグループから来ていない可能性が高いことを意味しています。異型性インデックスは次のように計算されます。
-
- \[I_j(x_i)=P(B\le z:\frac{1}{2}p,\frac{1}{2}(n_j-d)) \]
\(P(B\le \beta:\ a, b)\)はグループ内共分散行列が等しいもののベータ分布の下限破棄の可能性を示しています。
-
- \[z=D_{ij}^2/(D_{ij}^2+(n-n_g)(n_j-1)/n_j)\]
グループ内共分散行列が等しくないものに関しては次のようになります。
-
- \[z=D_{ij}^2/(D_{ij}^2+(n_j^2-1)/n_j)\]
線形判別関数係数
線形判別関数(またはフィッシャーの線形判別関数)は次のように計算されます。
- j 番目のグループの線形(一次)係数
-
-
-
- \[b_j=S^{-1}\bar{x}_j^T\]
-
- \(b_j\ \)はpの大きさの列ベクトルです。
-
- j 番目のグループの定数係数
-
-
-
- \[a_j=\bar{x}_jb_j\]
-
-
トレーニングデータを分類する
トレーニングデータ内の観測データは事後確率によって分類されることができます。つまり事後確率が一番高いグループに入れられることになります。各グループからのマハラノビス距離の二乗と各グループからの異型性インデックスもそれぞれ計算されます。
トレーニングデータの分類結果は与えられたグループメンバーシップと予想されるグループの結果を比較した状態でまとめられています。分類失敗された観測データに事前確率で重み付けされた分類失敗エラー率はパーセンテージ(%)で計算されます。
-
- \[E=\sum_{j=1}^{n_g} e_j\pi_j\]
\(e_j\ \) はjグループに分類失敗の観測点があるパーセントです。
トレーニングデータをクロス検証する
トレーニングデータを分類すると同じ手順に従ってください。ただし、トレーニングデータ内で観測点の所属を明らかにするとき、グループ内共分散行列またはプールされたグループ内共分散行列を計算するときに除外されたデータは使用できません。
テストデータを分類する
グループ内共分散行列とプールされたグループ内共分散行列はトレーニングデータから算出されます。テストデータ内の観測データは事後確率によって分類されることができます。つまり事後確率が一番高いグループに入れられることになります。