← 統計検定テキスト 一覧

📊 対象級:準1級 | 重要度:B(標準)

要点(BLUF)

複数の変数 X1,,XpX_1,\dots,X_p の「散らばり」と「関係」をひとつの行列にまとめたものが 分散共分散行列 Σ\Sigma です。対角に各変数の分散、非対角に変数間の共分散を並べます。

  Σ=E ⁣[(Xμ)(Xμ)]  \boxed{\;\Sigma=\mathbb E\!\left[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top\right]\;}

要するに「1次元の分散 Var(X)\mathrm{Var}(X) を、変数ベクトル X\mathbf X 向けに拡張した行列版の分散」です。準1級では次の3点が問われます。

  1. 半正定値性aΣa0\mathbf a^\top\Sigma\mathbf a\ge0)と、そこから従う「固有値が全て非負」。
  2. 線形変換の公式 Var(AX)=AΣA\mathrm{Var}(A\mathbf X)=A\Sigma A^\top
  3. 相関行列 R=D1/2ΣD1/2R=D^{-1/2}\Sigma D^{-1/2} への標準化と、スケール依存/不変の違い。

これらはすべて 主成分分析(PCA)Σ\Sigma の固有値分解)と 多変量正規分布 の土台になります。


1. 分散共分散行列 Σ\Sigma の定義

1.1 確率変数ベクトルと平均ベクトル

pp 個の確率変数を縦に並べたベクトルを考えます。

X=(X1X2Xp),μ=E[X]=(E[X1]E[X2]E[Xp])\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}

μ\boldsymbol\mu平均ベクトルで、各成分が各変数の期待値です。期待値・分散の1変数での性質は 期待値・分散の性質(線形性・和の分散・共分散) が下地になります。

1.2 行列としての定義

中心化したベクトル Xμ\mathbf X-\boldsymbol\mu の「外積の期待値」が分散共分散行列です。

Σ=E ⁣[(Xμ)(Xμ)]\Sigma=\mathbb E\!\left[(\mathbf X-\boldsymbol\mu)(\mathbf X-\boldsymbol\mu)^\top\right]

ここで (Xμ)(\mathbf X-\boldsymbol\mu)p×1p\times1、その転置は 1×p1\times p なので、積は p×pp\times p 行列になります。中身を成分で書き下すと、(i,j)(i,j) 成分は

Σij=E ⁣[(Xiμi)(Xjμj)]=Cov(Xi,Xj)\Sigma_{ij}=\mathbb E\!\left[(X_i-\mu_i)(X_j-\mu_j)\right]=\mathrm{Cov}(X_i,X_j)

となります。したがって行列全体は次の形です。

Σ=(Var(X1)Cov(X1,X2)Cov(X1,Xp)Cov(X2,X1)Var(X2)Cov(X2,Xp)Cov(Xp,X1)Cov(Xp,X2)Var(Xp))\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}

要するに「対角に各変数の分散、非対角にペアの共分散を並べた表」です。2変数の共分散・相関の基礎は 2変数の記述(散布図・共分散・相関係数)── 相関≠因果/rは直線関係しか測れない/外れ値1点で激変、同時分布から共分散が出る仕組みは 同時分布・周辺分布・条件付き分布 を参照してください。

1.3 対称性

Cov(Xi,Xj)=Cov(Xj,Xi)\mathrm{Cov}(X_i,X_j)=\mathrm{Cov}(X_j,X_i) なので、Σij=Σji\Sigma_{ij}=\Sigma_{ji}、すなわち

Σ=Σ(対称行列)\Sigma^\top=\Sigma\quad(\text{対称行列})

です。これが後の「直交行列で対角化できる」の前提になります。

別の便利な表現として Σ=E[XX]μμ\Sigma=\mathbb E[\mathbf X\mathbf X^\top]-\boldsymbol\mu\boldsymbol\mu^\top があります。これは Var(X)=E[X2](EX)2\mathrm{Var}(X)=\mathbb E[X^2]-(\mathbb E X)^2 の行列版で、モーメントの観点(確率変数の変換・モーメント母関数・積率)から見ると「2次の原点まわりモーメント行列 E[XX]\mathbb E[\mathbf X\mathbf X^\top] から平均の寄与を引いたもの」です。


2. 標本分散共分散行列 SS

母集団の Σ\Sigma は理論量です。データから推定するのが 標本分散共分散行列 SS です。

2.1 定義

nn 個の観測ベクトル x1,,xn\mathbf x_1,\dots,\mathbf x_n(各 xi\mathbf x_ipp 次元)と標本平均 xˉ=1nixi\bar{\mathbf x}=\frac1n\sum_{i}\mathbf x_i について、

  S=1n1i=1n(xixˉ)(xixˉ)  \boxed{\;S=\frac{1}{n-1}\sum_{i=1}^{n}(\mathbf x_i-\bar{\mathbf x})(\mathbf x_i-\bar{\mathbf x})^\top\;}

これは1変数の不偏分散 s2=1n1i(xixˉ)2s^2=\frac{1}{n-1}\sum_i(x_i-\bar x)^2 をそのまま行列に拡張したものです。n1n-1 で割るのは、平均 xˉ\bar{\mathbf x} を推定に使ったことで自由度が1減るためで、これにより E[S]=Σ\mathbb E[S]=\Sigma(不偏性)が成り立ちます。

2.2 中心化行列を使った行列表記(重回帰と地続き)

観測を行ごとに積んだデータ行列 XXn×pn\times p)を考えます。

X=(x1x2xn)X=\begin{pmatrix}\mathbf x_1^\top\\ \mathbf x_2^\top\\ \vdots\\ \mathbf x_n^\top\end{pmatrix}

各列(各変数)から平均を引いた 中心化データ行列XcX_c とします。これは 中心化行列(centering matrix)

H=In1n11(1=(1,1,,1))H=I_n-\frac{1}{n}\mathbf 1\mathbf 1^\top \qquad(\mathbf 1=(1,1,\dots,1)^\top)

を左から掛けて Xc=HXX_c=HX で作れます(1n11\frac1n\mathbf 1\mathbf 1^\top は「全行を平均で置き換える」作用なので、引くと各列が中心化される)。このとき標本分散共分散行列は

  S=1n1XcXc  \boxed{\;S=\frac{1}{n-1}X_c^\top X_c\;}

と書けます。XcXcX_c^\top X_c(i,j)(i,j) 成分が k(xkixˉi)(xkjxˉj)\sum_k(x_{ki}-\bar x_i)(x_{kj}-\bar x_j)、すなわち変数 i,ji,j の偏差積和になっているからです。

要するに「SS は中心化データの グラム行列 XcXcX_c^\top X_c を自由度で割っただけ」です。重回帰の正規方程式に現れる XXX^\top X重回帰分析)と同じ (行列)(同じ行列)(\text{行列})^\top(\text{同じ行列}) の形をしている点に注目してください。重回帰の XXX^\top X も、列を中心化すれば本質的に (n1)S(n-1)S になります。多変量解析の至るところでこの XXX^\top X 型が顔を出すのは、すべて2次モーメントの集約だからです。

HH の性質HH は対称(H=HH^\top=H)かつ冪等(H2=HH^2=H)な射影行列です。よって S=1n1XHHX=1n1XHXS=\frac{1}{n-1}X^\top H^\top HX=\frac{1}{n-1}X^\top HX とも書けます。


3. 相関行列 RR

3.1 共分散行列の標準化

共分散はスケール(単位)に依存します。これを取り除いて「関係の強さ」だけを取り出したのが 相関行列 RR です。各変数の標準偏差 σi=Σii\sigma_i=\sqrt{\Sigma_{ii}} を対角に並べた対角行列

D=diag(σ1,σ2,,σp),D1/2=diag ⁣(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)

を使って、

  R=D1/2ΣD1/2  \boxed{\;R=D^{-1/2}\,\Sigma\,D^{-1/2}\;}

と定義します(ここで DD は分散を対角に並べた行列とみなし、D1/2D^{-1/2}1/σi1/\sigma_i の対角行列です)。(i,j)(i,j) 成分を書き下すと、

Rij=Σijσiσj=Cov(Xi,Xj)Var(Xi)Var(Xj)=ρijR_{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}

まさに 相関係数 です。要するに「RRΣ\Sigma の各成分を、対応する2変数の標準偏差で割って正規化した行列」です。

3.2 性質

3.3 「標準化したデータの共分散行列=相関行列」

各変数を Zi=XiμiσiZ_i=\dfrac{X_i-\mu_i}{\sigma_i} と標準化すると、ZiZ_i は分散1になります。標準化後のベクトル Z\mathbf Z の共分散行列は、定義から Cov(Zi,Zj)=ρij\mathrm{Cov}(Z_i,Z_j)=\rho_{ij} なので

Var(Z)=R\mathrm{Var}(\mathbf Z)=R

つまり「先に標準化してから共分散行列を作る = 相関行列」です。RRΣ\Sigma より狭い概念(情報量が少ない)で、スケールの情報を捨てた代わりに単位に依存しなくなります。


4. 半正定値性の証明(省略しない)

これが準1級で最も問われる性質です。Σ\Sigma は半正定値である、すなわち任意のベクトル aRp\mathbf a\in\mathbb R^p に対して aΣa0\mathbf a^\top\Sigma\mathbf a\ge0

4.1 鍵となる事実:二次形式は新しい確率変数の分散

任意の定数ベクトル a=(a1,,ap)\mathbf a=(a_1,\dots,a_p)^\top に対し、変数の線形結合

Y=aX=a1X1+a2X2++apXpY=\mathbf a^\top\mathbf X=a_1X_1+a_2X_2+\dots+a_pX_p

という 1次元の確率変数 を作ります。これの分散を計算すると、Σ\Sigma の二次形式そのものになります。

Var(Y)=E ⁣[(YEY)2]=E ⁣[(a(Xμ))2]( EY=aμ)=E ⁣[a(Xμ)(Xμ)a]( c2=cc for scalar c)=aE ⁣[(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}

3行目で「スカラー c=a(Xμ)c=\mathbf a^\top(\mathbf X-\boldsymbol\mu)c2=cc=ccc^2=c\cdot c=c\cdot c^\top」を使い、転置 (a(Xμ))=(Xμ)a(\mathbf a^\top(\mathbf X-\boldsymbol\mu))^\top=(\mathbf X-\boldsymbol\mu)^\top\mathbf a を当てています。

4.2 分散は非負だから半正定値

分散は定義上いつでも非負(二乗の期待値)なので、

aΣa=Var(aX)0(a)\mathbf a^\top\Sigma\mathbf a=\mathrm{Var}(\mathbf a^\top\mathbf X)\ge0\qquad(\forall\,\mathbf a)

これがすべての a\mathbf a で成り立つので、Σ\Sigma半正定値(positive semidefinite) です。要するに「どんな向きに変数を足し合わせても、その合成変数の分散は負になりえない」という当たり前の事実が、行列の言葉では半正定値性になる、ということです。

4.3 固有値が全て非負(PCAの前提)

Σ\Sigma は対称なのでスペクトル定理により実固有値を持ち、固有値 λ\lambda と単位固有ベクトル v\mathbf vΣv=λv\Sigma\mathbf v=\lambda\mathbf vvv=1\mathbf v^\top\mathbf v=1)に対して

λ=λvv=v(λv)=vΣv0\lambda=\lambda\,\mathbf v^\top\mathbf v=\mathbf v^\top(\lambda\mathbf v)=\mathbf v^\top\Sigma\mathbf v\ge0

最後の不等号は 4.2 の半正定値性です。したがって

  Σ の固有値はすべて λ0  \boxed{\;\Sigma\ \text{の固有値はすべて}\ \lambda\ge0\;}

要するに「固有値 = その固有ベクトル方向の分散」なので、分散が非負である以上、固有値も非負です。この事実が主成分分析で「固有値=各主成分が説明する分散」と読める根拠になります(第6節)。


5. 線形変換の公式 Var(AX)=AΣA\mathrm{Var}(A\mathbf X)=A\Sigma A^\top

5.1 公式

X\mathbf X を行列 AAm×pm\times p)で線形変換した Y=AX\mathbf Y=A\mathbf X の分散共分散行列は、

  Var(AX)=AΣA  \boxed{\;\mathrm{Var}(A\mathbf X)=A\,\Sigma\,A^\top\;}

これは1変数の Var(aX)=a2Var(X)\mathrm{Var}(aX)=a^2\mathrm{Var}(X) の行列版です(a2a^2A()AA(\cdot)A^\top に化ける)。

5.2 導出

Y=AX\mathbf Y=A\mathbf X の平均は E[Y]=Aμ\mathbb E[\mathbf Y]=A\boldsymbol\mu。定義に当てはめて、

Var(Y)=E ⁣[(YAμ)(YAμ)]=E ⁣[(AXAμ)(AXAμ)]=E ⁣[A(Xμ)(A(Xμ))]=E ⁣[A(Xμ)(Xμ)A]( (AB)=BA)=AE ⁣[(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}

4行目で転置の反転則 (Az)=zA(A\mathbf z)^\top=\mathbf z^\top A^\top を使い、5行目で定数 A,AA,A^\top を期待値の外に出しています。要するに「線形変換 AA は分散を A()AA(\cdot)A^\top で挟むように作用する」ということです。

5.3 系:合成変数の分散・半正定値性の再確認

AA が1行(行ベクトル a\mathbf a^\top)の特別な場合、Var(aX)=aΣa\mathrm{Var}(\mathbf a^\top\mathbf X)=\mathbf a^\top\Sigma\mathbf a となり、第4節の二次形式に一致します。半正定値性はこの公式の m=1m=1 の特別な姿だったわけです。

この公式は多変量正規分布で決定的に効きます。XN(μ,Σ)\mathbf X\sim\mathcal N(\boldsymbol\mu,\Sigma) なら AXN(Aμ,AΣA)A\mathbf X\sim\mathcal N(A\boldsymbol\mu,\,A\Sigma A^\top) と、平均と共分散だけで変換後の分布が完全に決まります(多変量正規分布)。


6. 固有値分解の予告(主成分分析への橋渡し)

Σ\Sigma対称かつ半正定値 という、線形代数で最も扱いやすいクラスの行列です。スペクトル定理により、直交行列 V=(v1,,vp)V=(\mathbf v_1,\dots,\mathbf v_p)VV=IV^\top V=I)と非負の固有値 λ1λ2λp0\lambda_1\ge\lambda_2\ge\dots\ge\lambda_p\ge0 を使って

  Σ=VΛV=k=1pλkvkvk  Λ=diag(λ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)

直交対角化 できます。第5節の公式で A=VA=V^\top と置くと、変換後の変数 Y=VX\mathbf Y=V^\top\mathbf X の共分散行列は

Var(VX)=VΣV=V(VΛV)V=Λ\mathrm{Var}(V^\top\mathbf X)=V^\top\Sigma V=V^\top(V\Lambda V^\top)V=\Lambda

つまり 対角行列 になります。要するに「固有ベクトル方向に座標を取り直すと、変数どうしの共分散がゼロ(無相関)になり、各方向の分散がちょうど固有値 λk\lambda_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 は多変量正規分布 多変量正規分布 や判別分析 判別分析 でも共通の中心的な道具です。


⚠️ 引っかけポイント・頻出論点


よくある疑問(Q&A)

Q1. 「共分散行列」と「分散共分散行列」は違うものですか?

同じものです。対角に分散、非対角に共分散が入るので、両方の語を込めて「分散共分散行列」と呼ぶことが多いですが、英語の covariance matrix を直訳した「共分散行列」も同義です。準1級でどちらの表記が出ても同じ Σ\Sigma を指します。

Q2. 相関行列と「標準化したデータの共分散行列」が同じになるのはなぜですか?

標準化 Zi=(Xiμi)/σiZ_i=(X_i-\mu_i)/\sigma_i は各変数を平均0・分散1にする操作です。分散が1になると、共分散の定義 Cov(Zi,Zj)\mathrm{Cov}(Z_i,Z_j) の分母にあたる正規化が済んでいるため、共分散がそのまま相関係数 ρij\rho_{ij} になります。式で言えば R=D1/2ΣD1/2R=D^{-1/2}\Sigma D^{-1/2}D1/2D^{-1/2} が、まさに「各変数を標準偏差で割る=標準化」の作用なので、先に標準化しても後で標準化しても同じ RR にたどり着きます。

Q3. 分散共分散行列はいつも逆行列を持ちますか(正定値ですか)?

いいえ。Σ\Sigma は半正定値(固有値 0\ge0)であって、正定値(固有値 >0>0)とは限りません。変数間に完全な線形関係があると、その方向の分散が0になり固有値に0が現れ、Σ\Sigma は特異になって逆行列を持ちません。たとえば「合計=各項目の和」のように定義上従属な変数を一緒に入れると起こります。逆行列が必要な手法(マハラノビス距離・多変量正規の密度・判別分析)ではこの特異性が問題になるので、従属変数を除くか正則化します。

Q4. PCAをやるとき、共分散行列と相関行列のどちらを使えばよいですか?

変数のスケール(単位)がそろっているかで判断します。単位がバラバラ(例:年収[万円]と年齢[歳])だと、共分散行列ベースのPCAは値の大きい変数(年収)に第1主成分が支配され、ほぼその変数の方向になってしまいます。これを避けるには、各変数を標準化して相関行列ベースでPCAします。逆に同じ単位・同程度のスケール(例:同一試験の各科目得点)なら、分散の大小も意味があるので共分散行列ベースでよいことが多いです。要するに「スケールの差を情報とみなすか、ノイズとみなすか」で選びます(詳細は 主成分分析(PCA))。

Q5. なぜ二次形式 aΣa\mathbf a^\top\Sigma\mathbf a が大事なのですか?

それが「変数を a\mathbf a という重みで合成した新しい変数 aX\mathbf a^\top\mathbf X の分散」そのものだからです。半正定値性(分散は非負)も、線形変換の公式も、主成分分析(分散 aΣa\mathbf a^\top\Sigma\mathbf aa=1\lVert\mathbf a\rVert=1 の制約で最大化する)も、すべてこの二次形式の読み替えです。Σ\Sigma という行列を「向き a\mathbf a を入れると、その方向の分散を返す装置」と捉えると、多変量解析の見通しが一気に良くなります。


まとめ


関連ノート