← 統計検定テキスト 一覧
📊 対象級:準1級 | 重要度:B(標準)
要点(BLUF)
複数の変数 X 1 , … , X p X_1,\dots,X_p X 1 , … , X p の「散らばり」と「関係」をひとつの行列にまとめたものが 分散共分散行列 Σ \Sigma Σ です。対角に各変数の分散、非対角に変数間の共分散を並べます。
Σ = E [ ( X − μ ) ( X − μ ) ⊤ ] \boxed{\;\Sigma=\mathbb E\!\left[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top\right]\;} Σ = E [ ( X − μ ) ( X − μ ) ⊤ ]
要するに「1次元の分散 V a r ( X ) \mathrm{Var}(X) Var ( X ) を、変数ベクトル X \mathbf X X 向けに拡張した行列版の分散」です。準1級では次の3点が問われます。
半正定値性 (a ⊤ Σ a ≥ 0 \mathbf a^\top\Sigma\mathbf a\ge0 a ⊤ Σ a ≥ 0 )と、そこから従う「固有値が全て非負」。
線形変換の公式 V a r ( A X ) = A Σ A ⊤ \mathrm{Var}(A\mathbf X)=A\Sigma A^\top Var ( A X ) = A Σ A ⊤ 。
相関行列 R = D − 1 / 2 Σ D − 1 / 2 R=D^{-1/2}\Sigma D^{-1/2} R = D − 1/2 Σ D − 1/2 への標準化と、スケール依存/不変の違い。
これらはすべて 主成分分析(PCA) (Σ \Sigma Σ の固有値分解)と 多変量正規分布 の土台になります。
1. 分散共分散行列 Σ \Sigma Σ の定義
1.1 確率変数ベクトルと平均ベクトル
p p p 個の確率変数を縦に並べたベクトルを考えます。
X = ( X 1 X 2 ⋮ X p ) , μ = E [ X ] = ( E [ X 1 ] E [ X 2 ] ⋮ E [ X p ] ) \mathbf X=\begin{pmatrix}X_1\\ X_2\\ \vdots\\ X_p\end{pmatrix},\qquad
\boldsymbol\mu=\mathbb E[\mathbf X]=\begin{pmatrix}\mathbb E[X_1]\\ \mathbb E[X_2]\\ \vdots\\ \mathbb E[X_p]\end{pmatrix} X = X 1 X 2 ⋮ X p , μ = E [ X ] = E [ X 1 ] E [ X 2 ] ⋮ E [ X p ]
μ \boldsymbol\mu μ は 平均ベクトル で、各成分が各変数の期待値です。期待値・分散の1変数での性質は 期待値・分散の性質(線形性・和の分散・共分散) が下地になります。
1.2 行列としての定義
中心化したベクトル X − μ \mathbf X-\boldsymbol\mu X − μ の「外積の期待値」が分散共分散行列です。
Σ = E [ ( X − μ ) ( X − μ ) ⊤ ] \Sigma=\mathbb E\!\left[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top\right] Σ = E [ ( X − μ ) ( X − μ ) ⊤ ]
ここで ( X − μ ) (\mathbf X-\boldsymbol\mu) ( X − μ ) は p × 1 p\times1 p × 1 、その転置は 1 × p 1\times p 1 × p なので、積は p × p p\times p p × p 行列になります。中身を成分で書き下すと、( i , j ) (i,j) ( i , j ) 成分は
Σ i j = E [ ( X i − μ i ) ( X j − μ j ) ] = C o v ( X i , X j ) \Sigma_{ij}=\mathbb E\!\left[(X_i-\mu_i)(X_j-\mu_j)\right]=\mathrm{Cov}(X_i,X_j) Σ ij = E [ ( X i − μ i ) ( X j − μ j ) ] = Cov ( X i , X j )
となります。したがって行列全体は次の形です。
Σ = ( V a r ( X 1 ) C o v ( X 1 , X 2 ) ⋯ C o v ( X 1 , X p ) C o v ( X 2 , X 1 ) V a r ( X 2 ) ⋯ C o v ( X 2 , X p ) ⋮ ⋮ ⋱ ⋮ C o v ( X p , X 1 ) C o v ( X p , X 2 ) ⋯ V a r ( X p ) ) \Sigma=
\begin{pmatrix}
\mathrm{Var}(X_1) & \mathrm{Cov}(X_1,X_2) & \cdots & \mathrm{Cov}(X_1,X_p)\\
\mathrm{Cov}(X_2,X_1) & \mathrm{Var}(X_2) & \cdots & \mathrm{Cov}(X_2,X_p)\\
\vdots & \vdots & \ddots & \vdots\\
\mathrm{Cov}(X_p,X_1) & \mathrm{Cov}(X_p,X_2) & \cdots & \mathrm{Var}(X_p)
\end{pmatrix} Σ = Var ( X 1 ) Cov ( X 2 , X 1 ) ⋮ Cov ( X p , X 1 ) Cov ( X 1 , X 2 ) Var ( X 2 ) ⋮ Cov ( X p , X 2 ) ⋯ ⋯ ⋱ ⋯ Cov ( X 1 , X p ) Cov ( X 2 , X p ) ⋮ Var ( X p )
要するに「対角に各変数の分散、非対角にペアの共分散 を並べた表」です。2変数の共分散・相関の基礎は 2変数の記述(散布図・共分散・相関係数)── 相関≠因果/rは直線関係しか測れない/外れ値1点で激変 、同時分布から共分散が出る仕組みは 同時分布・周辺分布・条件付き分布 を参照してください。
1.3 対称性
C o v ( X i , X j ) = C o v ( X j , X i ) \mathrm{Cov}(X_i,X_j)=\mathrm{Cov}(X_j,X_i) Cov ( X i , X j ) = Cov ( X j , X i ) なので、Σ i j = Σ j i \Sigma_{ij}=\Sigma_{ji} Σ ij = Σ j i 、すなわち
Σ ⊤ = Σ ( 対称行列 ) \Sigma^\top=\Sigma\quad(\text{対称行列}) Σ ⊤ = Σ ( 対称行列 )
です。これが後の「直交行列で対角化できる」の前提になります。
別の便利な表現として Σ = E [ X X ⊤ ] − μ μ ⊤ \Sigma=\mathbb E[\mathbf X\mathbf X^\top]-\boldsymbol\mu\boldsymbol\mu^\top Σ = E [ X X ⊤ ] − μ μ ⊤ があります。これは V a r ( X ) = E [ X 2 ] − ( E X ) 2 \mathrm{Var}(X)=\mathbb E[X^2]-(\mathbb E X)^2 Var ( X ) = E [ X 2 ] − ( E X ) 2 の行列版で、モーメントの観点(確率変数の変換・モーメント母関数・積率 )から見ると「2次の原点まわりモーメント行列 E [ X X ⊤ ] \mathbb E[\mathbf X\mathbf X^\top] E [ X X ⊤ ] から平均の寄与を引いたもの」です。
2. 標本分散共分散行列 S S S
母集団の Σ \Sigma Σ は理論量です。データから推定するのが 標本分散共分散行列 S S S です。
2.1 定義
n n n 個の観測ベクトル x 1 , … , x n \mathbf x_1,\dots,\mathbf x_n x 1 , … , x n (各 x i \mathbf x_i x i は p p p 次元)と標本平均 x ˉ = 1 n ∑ i x i \bar{\mathbf x}=\frac1n\sum_{i}\mathbf x_i x ˉ = n 1 ∑ i x i について、
S = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( x i − x ˉ ) ⊤ \boxed{\;S=\frac{1}{n-1}\sum_{i=1}^{n}(\mathbf x_i-\bar{\mathbf x})(\mathbf x_i-\bar{\mathbf x})^\top\;} S = n − 1 1 i = 1 ∑ n ( x i − x ˉ ) ( x i − x ˉ ) ⊤
これは1変数の不偏分散 s 2 = 1 n − 1 ∑ i ( x i − x ˉ ) 2 s^2=\frac{1}{n-1}\sum_i(x_i-\bar x)^2 s 2 = n − 1 1 ∑ i ( x i − x ˉ ) 2 をそのまま行列に拡張したものです。n − 1 n-1 n − 1 で割るのは、平均 x ˉ \bar{\mathbf x} x ˉ を推定に使ったことで自由度が1減るためで、これにより E [ S ] = Σ \mathbb E[S]=\Sigma E [ S ] = Σ (不偏性)が成り立ちます。
2.2 中心化行列を使った行列表記(重回帰と地続き)
観測を行ごとに積んだデータ行列 X X X (n × p n\times p n × p )を考えます。
X = ( x 1 ⊤ x 2 ⊤ ⋮ x n ⊤ ) X=\begin{pmatrix}\mathbf x_1^\top\\ \mathbf x_2^\top\\ \vdots\\ \mathbf x_n^\top\end{pmatrix} X = x 1 ⊤ x 2 ⊤ ⋮ x n ⊤
各列(各変数)から平均を引いた 中心化データ行列 を X c X_c X c とします。これは 中心化行列(centering matrix)
H = I n − 1 n 11 ⊤ ( 1 = ( 1 , 1 , … , 1 ) ⊤ ) H=I_n-\frac{1}{n}\mathbf 1\mathbf 1^\top
\qquad(\mathbf 1=(1,1,\dots,1)^\top) H = I n − n 1 1 1 ⊤ ( 1 = ( 1 , 1 , … , 1 ) ⊤ )
を左から掛けて X c = H X X_c=HX X c = H X で作れます(1 n 11 ⊤ \frac1n\mathbf 1\mathbf 1^\top n 1 1 1 ⊤ は「全行を平均で置き換える」作用なので、引くと各列が中心化される)。このとき標本分散共分散行列は
S = 1 n − 1 X c ⊤ X c \boxed{\;S=\frac{1}{n-1}X_c^\top X_c\;} S = n − 1 1 X c ⊤ X c
と書けます。X c ⊤ X c X_c^\top X_c X c ⊤ X c の ( i , j ) (i,j) ( i , j ) 成分が ∑ k ( x k i − x ˉ i ) ( x k j − x ˉ j ) \sum_k(x_{ki}-\bar x_i)(x_{kj}-\bar x_j) ∑ k ( x k i − x ˉ i ) ( x k j − x ˉ j ) 、すなわち変数 i , j i,j i , j の偏差積和になっているからです。
要するに「S S S は中心化データの グラム行列 X c ⊤ X c X_c^\top X_c X c ⊤ X c を自由度で割っただけ」です。重回帰の正規方程式に現れる X ⊤ X X^\top X X ⊤ X (重回帰分析 )と同じ ( 行列 ) ⊤ ( 同じ行列 ) (\text{行列})^\top(\text{同じ行列}) ( 行列 ) ⊤ ( 同じ行列 ) の形をしている点に注目してください。重回帰の X ⊤ X X^\top X X ⊤ X も、列を中心化すれば本質的に ( n − 1 ) S (n-1)S ( n − 1 ) S になります。多変量解析の至るところでこの X ⊤ X X^\top X X ⊤ X 型が顔を出すのは、すべて2次モーメントの集約だからです。
H H H の性質 :H H H は対称(H ⊤ = H H^\top=H H ⊤ = H )かつ冪等(H 2 = H H^2=H H 2 = H )な射影行列です。よって S = 1 n − 1 X ⊤ H ⊤ H X = 1 n − 1 X ⊤ H X S=\frac{1}{n-1}X^\top H^\top HX=\frac{1}{n-1}X^\top HX S = n − 1 1 X ⊤ H ⊤ H X = n − 1 1 X ⊤ H X とも書けます。
3. 相関行列 R R R
3.1 共分散行列の標準化
共分散はスケール(単位)に依存します。これを取り除いて「関係の強さ」だけを取り出したのが 相関行列 R R R です。各変数の標準偏差 σ i = Σ i i \sigma_i=\sqrt{\Sigma_{ii}} σ i = Σ ii を対角に並べた対角行列
D = d i a g ( σ 1 , σ 2 , … , σ p ) , D − 1 / 2 = d i a g ( 1 σ 1 , … , 1 σ p ) D=\mathrm{diag}(\sigma_1,\sigma_2,\dots,\sigma_p),\qquad
D^{-1/2}=\mathrm{diag}\!\left(\tfrac{1}{\sigma_1},\dots,\tfrac{1}{\sigma_p}\right) D = diag ( σ 1 , σ 2 , … , σ p ) , D − 1/2 = diag ( σ 1 1 , … , σ p 1 )
を使って、
R = D − 1 / 2 Σ D − 1 / 2 \boxed{\;R=D^{-1/2}\,\Sigma\,D^{-1/2}\;} R = D − 1/2 Σ D − 1/2
と定義します(ここで D D D は分散を対角に並べた行列とみなし、D − 1 / 2 D^{-1/2} D − 1/2 は 1 / σ i 1/\sigma_i 1/ σ i の対角行列です)。( i , j ) (i,j) ( i , j ) 成分を書き下すと、
R i j = Σ i j σ i σ j = C o v ( X i , X j ) V a r ( X i ) V a r ( X j ) = ρ i j R_{ij}=\frac{\Sigma_{ij}}{\sigma_i\sigma_j}=\frac{\mathrm{Cov}(X_i,X_j)}{\sqrt{\mathrm{Var}(X_i)}\sqrt{\mathrm{Var}(X_j)}}=\rho_{ij} R ij = σ i σ j Σ ij = Var ( X i ) Var ( X j ) Cov ( X i , X j ) = ρ ij
まさに 相関係数 です。要するに「R R R は Σ \Sigma Σ の各成分を、対応する2変数の標準偏差で割って正規化した行列」です。
3.2 性質
対角成分は R i i = Σ i i σ i 2 = 1 R_{ii}=\dfrac{\Sigma_{ii}}{\sigma_i^2}=1 R ii = σ i 2 Σ ii = 1 。
非対角成分は − 1 ≤ ρ i j ≤ 1 -1\le\rho_{ij}\le1 − 1 ≤ ρ ij ≤ 1 。
R R R も対称かつ半正定値(後述の半正定値性が D − 1 / 2 Σ D − 1 / 2 D^{-1/2}\Sigma D^{-1/2} D − 1/2 Σ D − 1/2 にも遺伝する。b ⊤ R b = ( D − 1 / 2 b ) ⊤ Σ ( D − 1 / 2 b ) ≥ 0 \mathbf b^\top R\mathbf b=(D^{-1/2}\mathbf b)^\top\Sigma(D^{-1/2}\mathbf b)\ge0 b ⊤ R b = ( D − 1/2 b ) ⊤ Σ ( D − 1/2 b ) ≥ 0 だから)。
3.3 「標準化したデータの共分散行列=相関行列」
各変数を Z i = X i − μ i σ i Z_i=\dfrac{X_i-\mu_i}{\sigma_i} Z i = σ i X i − μ i と標準化すると、Z i Z_i Z i は分散1になります。標準化後のベクトル Z \mathbf Z Z の共分散行列は、定義から C o v ( Z i , Z j ) = ρ i j \mathrm{Cov}(Z_i,Z_j)=\rho_{ij} Cov ( Z i , Z j ) = ρ ij なので
V a r ( Z ) = R \mathrm{Var}(\mathbf Z)=R Var ( Z ) = R
つまり「先に標準化してから共分散行列を作る = 相関行列 」です。R R R は Σ \Sigma Σ より狭い概念(情報量が少ない)で、スケールの情報を捨てた代わりに単位に依存しなくなります。
4. 半正定値性の証明(省略しない)
これが準1級で最も問われる性質です。Σ \Sigma Σ は半正定値である 、すなわち任意のベクトル a ∈ R p \mathbf a\in\mathbb R^p a ∈ R p に対して a ⊤ Σ a ≥ 0 \mathbf a^\top\Sigma\mathbf a\ge0 a ⊤ Σ a ≥ 0 。
4.1 鍵となる事実:二次形式は新しい確率変数の分散
任意の定数ベクトル a = ( a 1 , … , a p ) ⊤ \mathbf a=(a_1,\dots,a_p)^\top a = ( a 1 , … , a p ) ⊤ に対し、変数の線形結合
Y = a ⊤ X = a 1 X 1 + a 2 X 2 + ⋯ + a p X p Y=\mathbf a^\top\mathbf X=a_1X_1+a_2X_2+\dots+a_pX_p Y = a ⊤ X = a 1 X 1 + a 2 X 2 + ⋯ + a p X p
という 1次元の確率変数 を作ります。これの分散を計算すると、Σ \Sigma Σ の二次形式そのものになります。
V a r ( Y ) = E [ ( Y − E Y ) 2 ] = E [ ( a ⊤ ( X − μ ) ) 2 ] ( ∵ E Y = a ⊤ μ ) = E [ a ⊤ ( X − μ ) ( X − μ ) ⊤ a ] ( ∵ c 2 = c c ⊤ for scalar c ) = a ⊤ E [ ( X − μ ) ( X − μ ) ⊤ ] a ( a は定数なので期待値の外へ ) = a ⊤ Σ a \begin{aligned}
\mathrm{Var}(Y)
&=\mathbb E\!\left[(Y-\mathbb E Y)^2\right]\\
&=\mathbb E\!\left[\big(\mathbf a^\top(\mathbf X-\boldsymbol\mu)\big)^2\right]
&&(\because\ \mathbb E Y=\mathbf a^\top\boldsymbol\mu)\\
&=\mathbb E\!\left[\mathbf a^\top(\mathbf X-\boldsymbol\mu)\,(\mathbf X-\boldsymbol\mu)^\top\mathbf a\right]
&&(\because\ c^2=c\,c^\top\ \text{for scalar }c)\\
&=\mathbf a^\top\,\mathbb E\!\left[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top\right]\mathbf a
&&(\mathbf a\ \text{は定数なので期待値の外へ})\\
&=\mathbf a^\top\Sigma\,\mathbf a
\end{aligned} Var ( Y ) = E [ ( Y − E Y ) 2 ] = E [ ( a ⊤ ( X − μ ) ) 2 ] = E [ a ⊤ ( X − μ ) ( X − μ ) ⊤ a ] = a ⊤ E [ ( X − μ ) ( X − μ ) ⊤ ] a = a ⊤ Σ a ( ∵ E Y = a ⊤ μ ) ( ∵ c 2 = c c ⊤ for scalar c ) ( a は定数なので期待値の外へ )
3行目で「スカラー c = a ⊤ ( X − μ ) c=\mathbf a^\top(\mathbf X-\boldsymbol\mu) c = a ⊤ ( X − μ ) は c 2 = c ⋅ c = c ⋅ c ⊤ c^2=c\cdot c=c\cdot c^\top c 2 = c ⋅ c = c ⋅ c ⊤ 」を使い、転置 ( a ⊤ ( X − μ ) ) ⊤ = ( X − μ ) ⊤ a (\mathbf a^\top(\mathbf X-\boldsymbol\mu))^\top=(\mathbf X-\boldsymbol\mu)^\top\mathbf a ( a ⊤ ( X − μ ) ) ⊤ = ( X − μ ) ⊤ a を当てています。
4.2 分散は非負だから半正定値
分散は定義上いつでも非負(二乗の期待値)なので、
a ⊤ Σ a = V a r ( a ⊤ X ) ≥ 0 ( ∀ a ) \mathbf a^\top\Sigma\mathbf a=\mathrm{Var}(\mathbf a^\top\mathbf X)\ge0\qquad(\forall\,\mathbf a) a ⊤ Σ a = Var ( a ⊤ X ) ≥ 0 ( ∀ a )
これがすべての a \mathbf a a で成り立つので、Σ \Sigma Σ は 半正定値(positive semidefinite) です。要するに「どんな向きに変数を足し合わせても、その合成変数の分散は負になりえない」という当たり前の事実が、行列の言葉では半正定値性になる、ということです。
4.3 固有値が全て非負(PCAの前提)
Σ \Sigma Σ は対称なのでスペクトル定理により実固有値を持ち、固有値 λ \lambda λ と単位固有ベクトル v \mathbf v v (Σ v = λ v \Sigma\mathbf v=\lambda\mathbf v Σ v = λ v 、v ⊤ v = 1 \mathbf v^\top\mathbf v=1 v ⊤ v = 1 )に対して
λ = λ v ⊤ v = v ⊤ ( λ v ) = v ⊤ Σ v ≥ 0 \lambda=\lambda\,\mathbf v^\top\mathbf v=\mathbf v^\top(\lambda\mathbf v)=\mathbf v^\top\Sigma\mathbf v\ge0 λ = λ v ⊤ v = v ⊤ ( λ v ) = v ⊤ Σ v ≥ 0
最後の不等号は 4.2 の半正定値性です。したがって
Σ の固有値はすべて λ ≥ 0 \boxed{\;\Sigma\ \text{の固有値はすべて}\ \lambda\ge0\;} Σ の固有値はすべて λ ≥ 0
要するに「固有値 = その固有ベクトル方向の分散」なので、分散が非負である以上、固有値も非負です。この事実が主成分分析で「固有値=各主成分が説明する分散」と読める根拠になります(第6節)。
5. 線形変換の公式 V a r ( A X ) = A Σ A ⊤ \mathrm{Var}(A\mathbf X)=A\Sigma A^\top Var ( A X ) = A Σ A ⊤
5.1 公式
X \mathbf X X を行列 A A A (m × p m\times p m × p )で線形変換した Y = A X \mathbf Y=A\mathbf X Y = A X の分散共分散行列は、
V a r ( A X ) = A Σ A ⊤ \boxed{\;\mathrm{Var}(A\mathbf X)=A\,\Sigma\,A^\top\;} Var ( A X ) = A Σ A ⊤
これは1変数の V a r ( a X ) = a 2 V a r ( X ) \mathrm{Var}(aX)=a^2\mathrm{Var}(X) Var ( a X ) = a 2 Var ( X ) の行列版です(a 2 a^2 a 2 が A ( ⋅ ) A ⊤ A(\cdot)A^\top A ( ⋅ ) A ⊤ に化ける)。
5.2 導出
Y = A X \mathbf Y=A\mathbf X Y = A X の平均は E [ Y ] = A μ \mathbb E[\mathbf Y]=A\boldsymbol\mu E [ Y ] = A μ 。定義に当てはめて、
V a r ( Y ) = E [ ( Y − A μ ) ( Y − A μ ) ⊤ ] = E [ ( A X − A μ ) ( A X − A μ ) ⊤ ] = E [ A ( X − μ ) ( A ( X − μ ) ) ⊤ ] = E [ A ( X − μ ) ( X − μ ) ⊤ A ⊤ ] ( ∵ ( A B ) ⊤ = B ⊤ A ⊤ ) = A E [ ( X − μ ) ( X − μ ) ⊤ ] A ⊤ ( A は定数行列なので期待値の外へ ) = A Σ A ⊤ \begin{aligned}
\mathrm{Var}(\mathbf Y)
&=\mathbb E\!\left[(\mathbf Y-A\boldsymbol\mu)(\mathbf Y-A\boldsymbol\mu)^\top\right]\\
&=\mathbb E\!\left[(A\mathbf X-A\boldsymbol\mu)(A\mathbf X-A\boldsymbol\mu)^\top\right]\\
&=\mathbb E\!\left[A(\mathbf X-\boldsymbol\mu)\,\big(A(\mathbf X-\boldsymbol\mu)\big)^\top\right]\\
&=\mathbb E\!\left[A(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top A^\top\right]
&&(\because\ (AB)^\top=B^\top A^\top)\\
&=A\,\mathbb E\!\left[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top\right]A^\top
&&(A\ \text{は定数行列なので期待値の外へ})\\
&=A\,\Sigma\,A^\top
\end{aligned} Var ( Y ) = E [ ( Y − A μ ) ( Y − A μ ) ⊤ ] = E [ ( A X − A μ ) ( A X − A μ ) ⊤ ] = E [ A ( X − μ ) ( A ( X − μ ) ) ⊤ ] = E [ A ( X − μ ) ( X − μ ) ⊤ A ⊤ ] = A E [ ( X − μ ) ( X − μ ) ⊤ ] A ⊤ = A Σ A ⊤ ( ∵ ( A B ) ⊤ = B ⊤ A ⊤ ) ( A は定数行列なので期待値の外へ )
4行目で転置の反転則 ( A z ) ⊤ = z ⊤ A ⊤ (A\mathbf z)^\top=\mathbf z^\top A^\top ( A z ) ⊤ = z ⊤ A ⊤ を使い、5行目で定数 A , A ⊤ A,A^\top A , A ⊤ を期待値の外に出しています。要するに「線形変換 A A A は分散を A ( ⋅ ) A ⊤ A(\cdot)A^\top A ( ⋅ ) A ⊤ で挟むように作用する」ということです。
5.3 系:合成変数の分散・半正定値性の再確認
A A A が1行(行ベクトル a ⊤ \mathbf a^\top a ⊤ )の特別な場合、V a r ( a ⊤ X ) = a ⊤ Σ a \mathrm{Var}(\mathbf a^\top\mathbf X)=\mathbf a^\top\Sigma\mathbf a Var ( a ⊤ X ) = a ⊤ Σ a となり、第4節の二次形式に一致します。半正定値性はこの公式の m = 1 m=1 m = 1 の特別な姿だったわけです。
この公式は多変量正規分布で決定的に効きます。X ∼ N ( μ , Σ ) \mathbf X\sim\mathcal N(\boldsymbol\mu,\Sigma) X ∼ N ( μ , Σ ) なら A X ∼ N ( A μ , A Σ A ⊤ ) A\mathbf X\sim\mathcal N(A\boldsymbol\mu,\,A\Sigma A^\top) A X ∼ N ( A μ , A Σ A ⊤ ) と、平均と共分散だけで変換後の分布が完全に決まります(多変量正規分布 )。
6. 固有値分解の予告(主成分分析への橋渡し)
Σ \Sigma Σ は 対称かつ半正定値 という、線形代数で最も扱いやすいクラスの行列です。スペクトル定理により、直交行列 V = ( v 1 , … , v p ) V=(\mathbf v_1,\dots,\mathbf v_p) V = ( v 1 , … , v p ) (V ⊤ V = I V^\top V=I V ⊤ V = I )と非負の固有値 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p ≥ 0 \lambda_1\ge\lambda_2\ge\dots\ge\lambda_p\ge0 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p ≥ 0 を使って
Σ = V Λ V ⊤ = ∑ k = 1 p λ k v k v k ⊤ Λ = d i a g ( λ 1 , … , λ p ) \boxed{\;\Sigma=V\Lambda V^\top=\sum_{k=1}^{p}\lambda_k\,\mathbf v_k\mathbf v_k^\top\;}
\qquad\Lambda=\mathrm{diag}(\lambda_1,\dots,\lambda_p) Σ = V Λ V ⊤ = k = 1 ∑ p λ k v k v k ⊤ Λ = diag ( λ 1 , … , λ p )
と 直交対角化 できます。第5節の公式で A = V ⊤ A=V^\top A = V ⊤ と置くと、変換後の変数 Y = V ⊤ X \mathbf Y=V^\top\mathbf X Y = V ⊤ X の共分散行列は
V a r ( V ⊤ X ) = V ⊤ Σ V = V ⊤ ( V Λ V ⊤ ) V = Λ \mathrm{Var}(V^\top\mathbf X)=V^\top\Sigma V=V^\top(V\Lambda V^\top)V=\Lambda Var ( V ⊤ X ) = V ⊤ Σ V = V ⊤ ( V Λ V ⊤ ) V = Λ
つまり 対角行列 になります。要するに「固有ベクトル方向に座標を取り直すと、変数どうしの共分散がゼロ(無相関)になり、各方向の分散がちょうど固有値 λ k \lambda_k λ k になる」。
graph LR
A["分散共分散行列 Σ<br/>(対称・半正定値)"] -->|固有値分解 Σ=VΛVᵀ| B["固有値 λ₁≥…≥λ_p≥0<br/>固有ベクトル v₁…v_p"]
B -->|分散最大の方向| C["主成分分析<br/>06-02"]
A -->|"D^(-1/2)で標準化"| R["相関行列 R"]
R -->|相関行列ベースのPCA| C
A -->|"Var(AX)=AΣAᵀ"| D["多変量正規分布<br/>06-08"]
A -->|クラス間/内の分散構造| E["判別分析<br/>06-04"]
固有値が大きい方向ほど分散が大きい=情報が多い、という読み替えが主成分分析そのものです。詳細は 主成分分析(PCA) で扱います。Σ \Sigma Σ は多変量正規分布 多変量正規分布 や判別分析 判別分析 でも共通の中心的な道具です。
⚠️ 引っかけポイント・頻出論点
共分散はスケール依存・相関はスケール不変 :X i X_i X i を c X i cX_i c X i に変えると C o v \mathrm{Cov} Cov は c c c 倍になるが、ρ \rho ρ は不変。だから単位の異なる変数を扱うPCAでは「共分散行列ベース」か「相関行列ベース」かで結果が変わる(要最新確認だが、準1級ではこの違いが頻出)。スケールの大きい変数に第1主成分が引きずられるのを避けたいなら相関行列ベース 。
半正定値だが正定値とは限らない :変数間に完全な一次従属(たとえば X 3 = 2 X 1 − X 2 X_3=2X_1-X_2 X 3 = 2 X 1 − X 2 )があると、その方向の分散がゼロになり、Σ \Sigma Σ は 特異 (行列式 det Σ = 0 \det\Sigma=0 det Σ = 0 、固有値に0が出る、逆行列が存在しない)。「分散共分散行列は常に正則」は誤り。正定値 ⟺ 固有値がすべて 正 (一次従属が無い)。
標本では n n n 割りか n − 1 n-1 n − 1 割りか :不偏推定量は n − 1 n-1 n − 1 で割る S S S 。ライブラリによっては n n n で割る「最尤推定版」を返すものもある(要最新確認)。試験では「不偏」と書かれていれば n − 1 n-1 n − 1 。
共分散行列と相関行列の固有値は別物 :Σ \Sigma Σ の固有値と R = D − 1 / 2 Σ D − 1 / 2 R=D^{-1/2}\Sigma D^{-1/2} R = D − 1/2 Σ D − 1/2 の固有値は一般に一致しない(相似変換ではないため)。PCAの結果が両者で変わる根本理由。
対角成分の意味 :R R R の対角は必ず1、Σ \Sigma Σ の対角は各分散。R R R のトレース t r ( R ) = p \mathrm{tr}(R)=p tr ( R ) = p (変数の数)になる。
よくある疑問(Q&A)
Q1. 「共分散行列」と「分散共分散行列」は違うものですか?
同じものです。対角に分散、非対角に共分散が入るので、両方の語を込めて「分散共分散行列」と呼ぶことが多いですが、英語の covariance matrix を直訳した「共分散行列」も同義です。準1級でどちらの表記が出ても同じ Σ \Sigma Σ を指します。
Q2. 相関行列と「標準化したデータの共分散行列」が同じになるのはなぜですか?
標準化 Z i = ( X i − μ i ) / σ i Z_i=(X_i-\mu_i)/\sigma_i Z i = ( X i − μ i ) / σ i は各変数を平均0・分散1にする操作です。分散が1になると、共分散の定義 C o v ( Z i , Z j ) \mathrm{Cov}(Z_i,Z_j) Cov ( Z i , Z j ) の分母にあたる正規化が済んでいるため、共分散がそのまま相関係数 ρ i j \rho_{ij} ρ ij になります。式で言えば R = D − 1 / 2 Σ D − 1 / 2 R=D^{-1/2}\Sigma D^{-1/2} R = D − 1/2 Σ D − 1/2 の D − 1 / 2 D^{-1/2} D − 1/2 が、まさに「各変数を標準偏差で割る=標準化」の作用なので、先に標準化しても後で標準化しても同じ R R R にたどり着きます。
Q3. 分散共分散行列はいつも逆行列を持ちますか(正定値ですか)?
いいえ。Σ \Sigma Σ は半正定値(固有値 ≥ 0 \ge0 ≥ 0 )であって、正定値(固有値 > 0 >0 > 0 )とは限りません。変数間に完全な線形関係があると、その方向の分散が0になり固有値に0が現れ、Σ \Sigma Σ は特異になって逆行列を持ちません。たとえば「合計=各項目の和」のように定義上従属な変数を一緒に入れると起こります。逆行列が必要な手法(マハラノビス距離・多変量正規の密度・判別分析)ではこの特異性が問題になるので、従属変数を除くか正則化します。
Q4. PCAをやるとき、共分散行列と相関行列のどちらを使えばよいですか?
変数のスケール(単位)がそろっているかで判断します。単位がバラバラ(例:年収[万円]と年齢[歳])だと、共分散行列ベースのPCAは値の大きい変数(年収)に第1主成分が支配され、ほぼその変数の方向になってしまいます。これを避けるには、各変数を標準化して相関行列ベース でPCAします。逆に同じ単位・同程度のスケール(例:同一試験の各科目得点)なら、分散の大小も意味があるので共分散行列ベースでよいことが多いです。要するに「スケールの差を情報とみなすか、ノイズとみなすか」で選びます(詳細は 主成分分析(PCA) )。
Q5. なぜ二次形式 a ⊤ Σ a \mathbf a^\top\Sigma\mathbf a a ⊤ Σ a が大事なのですか?
それが「変数を a \mathbf a a という重みで合成した新しい変数 a ⊤ X \mathbf a^\top\mathbf X a ⊤ X の分散」そのものだからです。半正定値性(分散は非負)も、線形変換の公式も、主成分分析(分散 a ⊤ Σ a \mathbf a^\top\Sigma\mathbf a a ⊤ Σ a を ∥ a ∥ = 1 \lVert\mathbf a\rVert=1 ∥ a ∥ = 1 の制約で最大化する)も、すべてこの二次形式の読み替えです。Σ \Sigma Σ という行列を「向き a \mathbf a a を入れると、その方向の分散を返す装置」と捉えると、多変量解析の見通しが一気に良くなります。
まとめ
分散共分散行列 Σ = E [ ( X − μ ) ( X − μ ) ⊤ ] \Sigma=\mathbb E[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top] Σ = E [( X − μ ) ( X − μ ) ⊤ ] 。対角に分散、非対角に共分散。対称行列。
標本版は S = 1 n − 1 ∑ i ( x i − x ˉ ) ( x i − x ˉ ) ⊤ = 1 n − 1 X c ⊤ X c S=\frac{1}{n-1}\sum_i(\mathbf x_i-\bar{\mathbf x})(\mathbf x_i-\bar{\mathbf x})^\top=\frac{1}{n-1}X_c^\top X_c S = n − 1 1 ∑ i ( x i − x ˉ ) ( x i − x ˉ ) ⊤ = n − 1 1 X c ⊤ X c 。中心化データのグラム行列で、重回帰の X ⊤ X X^\top X X ⊤ X と同型。
相関行列 R = D − 1 / 2 Σ D − 1 / 2 R=D^{-1/2}\Sigma D^{-1/2} R = D − 1/2 Σ D − 1/2 は Σ \Sigma Σ を標準偏差で標準化したもの。対角1、非対角は相関係数。スケール不変。
半正定値性 a ⊤ Σ a = V a r ( a ⊤ X ) ≥ 0 \mathbf a^\top\Sigma\mathbf a=\mathrm{Var}(\mathbf a^\top\mathbf X)\ge0 a ⊤ Σ a = Var ( a ⊤ X ) ≥ 0 から、固有値はすべて非負。完全な一次従属があると固有値0(特異)。
線形変換は V a r ( A X ) = A Σ A ⊤ \mathrm{Var}(A\mathbf X)=A\Sigma A^\top Var ( A X ) = A Σ A ⊤ 。m = 1 m=1 m = 1 の場合が二次形式。
対称・半正定値だから Σ = V Λ V ⊤ \Sigma=V\Lambda V^\top Σ = V Λ V ⊤ と直交対角化でき、これが主成分分析の出発点。
関連ノート