この問題のテーマ・前提知識
- テーマ: Fisherの線形判別分析・群内分散共分散行列 \(S_W\)・群間分散共分散行列 \(S_B\)
- 前提知識: 固有値・固有ベクトルの計算 / 逆行列の計算 / 分散共分散行列の加法分解 \(S = S_W + S_B\)
問題の概要
2群の判別問題に関する2小問。[1] 全分散共分散行列 \(S\)・群内 \(S_W\)・群間 \(S_B\) の間の関係式 \(S = S_W + S_B\) を確認する。[2] \(S_W^{-1}S_B\) の固有値問題を解き、Fisherの線形判別関数の方向ベクトルを求める。
解説
解法の方針:[1] 1変量の「全変動=群内変動+群間変動」の多変量版 \(S = S_W + S_B\) を用いる。[2] \(S_W\) の逆行列を計算し \(S_W^{-1}S_B\) を求め、最大固有値に対応する固有ベクトルを判別方向として特定する。
[1]
1変量の統計学において、全変動 = 群内変動 + 群間変動 という関係(分散分析の基本)が成り立つ。これの多変量版が、分散共分散行列においても成立する。
- \(S\)(全分散共分散行列): 全データ $z_i$ が平均 $\bar{z}$ のまわりにどれだけ散らばっているかを表す。
- \(S_W\)(群内分散共分散行列): 各グループ内でのデータの散らばり($S_1$ と $S_2$)を重み付き平均したもの。
- \(S_B\)(群間分散共分散行列): 各グループの平均($\bar{x}, \bar{y}$)が、全体の平均($\bar{z}$)からどれだけ離れているかを表す。
多変量解析において、これらの行列の間には常に次の関係が成り立つ。
\[S = S_W + S_B\]
[2]
フィッシャーの線形判別分析では、グループ間の違いを最大にし、グループ内のばらつきを最小にするような方向(ベクトル \(v\))を見つけることが目的である。
手順1:固有値計算に用いる行列を求める
理論的に、判別に用いる方向ベクトル \(v\) は、行列 \(S_W^{-1}S_B\) の最大固有値に対応する固有ベクトルとして求められる。
与えられた行列は以下の通りである。
\[S_W = \begin{pmatrix} 4 & 2 \\ 2 & 3 \end{pmatrix}, \quad S_B = \begin{pmatrix} 4 & 2 \\ 2 & 1 \end{pmatrix}\]
まず \(S_W\) の逆行列 \(S_W^{-1}\) を求める。行列式は \(|S_W| = 4 \times 3 – 2 \times 2 = 8\) なので、
\[S_W^{-1} = \frac{1}{8} \begin{pmatrix} 3 & -2 \\ -2 & 4 \end{pmatrix}\]
次に \(S_W^{-1}S_B\) を計算する。
\begin{eqnarray}
S_W^{-1}S_B &=& \frac{1}{8} \begin{pmatrix} 3 & -2 \\ -2 & 4 \end{pmatrix} \begin{pmatrix} 4 & 2 \\ 2 & 1 \end{pmatrix}\\
&=& \frac{1}{8} \begin{pmatrix} 3 \cdot 4 + (-2) \cdot 2 & 3 \cdot 2 + (-2) \cdot 1 \\ -2 \cdot 4 + 4 \cdot 2 & -2 \cdot 2 + 4 \cdot 1 \end{pmatrix}\\
&=& \frac{1}{8} \begin{pmatrix} 12 – 4 & 6 – 2 \\ -8 + 8 & -4 + 4 \end{pmatrix} = \frac{1}{8} \begin{pmatrix} 8 & 4 \\ 0 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 1/2 \\ 0 & 0 \end{pmatrix}\\
\end{eqnarray}
手順2:固有値と固有ベクトルを求める
得られた行列 \(M = \begin{pmatrix} 1 & 1/2 \\ 0 & 0 \end{pmatrix}\) の固有値を求める。
\[|M – \lambda I| = (1-\lambda)(-\lambda) – (1/2 \cdot 0) = \lambda(\lambda – 1) = 0\]
固有値は \(\lambda = 1, 0\) となる。
最大固有値 \(\lambda = 1\) に対応する固有ベクトル \(v = \begin{pmatrix} v_1 \\ v_2 \end{pmatrix}\) を求める。
\[\begin{pmatrix} 1 & 1/2 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} v_1 \\ v_2 \end{pmatrix} = 1 \cdot \begin{pmatrix} v_1 \\ v_2 \end{pmatrix}\]
\[v_1 + \frac{1}{2}v_2 = v_1 \implies \frac{1}{2}v_2 = 0 \implies v_2 = 0\]
\(v_1\) は任意(0以外)なので、最もシンプルな形は \(\begin{pmatrix} 1 \\ 0 \end{pmatrix}\) である。
よくある質問
Q. 群内分散共分散行列と群間分散共分散行列の違いは何ですか?
群内(Within)は各グループ内のばらつきを統合したもの、群間(Between)はグループの重心間のばらつき。線形判別分析では群間/群内比を最大化する方向(判別関数)を求める。
Q. 等分散共分散行列の仮定が崩れたらどうすればよいですか?
二次判別分析(QDA)を使う。LDAは全グループが同じ \(\Sigma\) を共有すると仮定するが、QDAはグループごとに \(\Sigma_k\) を推定するため柔軟性が高い(ただし推定パラメータが多い)。
Q. 事前確率(クラス比)が不均一な場合に判別スコアはどう変わりますか?
判別スコア \(\delta_k(x)\) に \(\log\pi_k\) が加わる。多数クラスはスコアが加点されるため、不均一な事前確率を無視して等確率を仮定すると少数クラスを見逃しやすくなる。



コメント