統計学で用いる行列演算の小技

# はじめに
千葉大学・株式会社Nospareの[川久保](https://sites.google.com/site/ykawakubostat/)です．今回は，統計学（特に多変量解析）で多く出てくる行列演算の小技集を，線形回帰モデルにおける簡単な実用例を交えて紹介します．


# 転置に関する公式
行列の転置とは，$(i,j)$要素を$(j,i)$要素に入れ替えることです．$m$行$n$列の行列$A$の$(i,j)$要素を$a_{ij} \ (i=1,\dots,m; j=1,\dots,n)$とすると，$A$を転置した$n$行$m$列の行列$A^\top$の$(j,i)$要素が$a_{ij}$となります．また，自明ですが，転置行列の転置は元の行列になります．すなわち，$(A^\top)^\top = A$です．

### 行列の和の転置
行列$A$と$B$の和の転置は，転置行列の和です．つまり，
```math
(A + B)^\top = A^\top + B^\top
```
が成り立ちます．

### 行列の積の転置
次に，行列$A$と$B$の積$AB$の転置としては，以下の公式が成り立ちます．
$$
(AB)^\top = B^\top A^\top
$$
3つ以上の行列の積については，
$$
(ABC)^\top = ((AB)C)^\top = C^\top (AB)^\top = C^\top B^\top A^\top  
$$
と応用可能です．

### 逆行列の転置
別の公式としては「逆行列の転置は，転置の逆行列である」ということも知られていて，つまり，
$$
(A^{-1})^\top = (A^\top)^{-1}
$$
が成り立ちます．ここから「対称行列の逆行列は対称行列である」ことも示されます．


### 例1
行列の積の転置の公式を用いて，最小二乗推定量を導出する際に必要な誤差二乗和の展開を行ってみます．$n\times 1$応答変数ベクトル$y$，$n\times p$説明変数行列$X$，$p\times 1$回帰係数ベクトル$\beta$として，線形回帰モデル
$$
y = X\beta + \varepsilon, \quad \varepsilon \sim N_n(0,\sigma^2I_n)
$$
を考えます．誤差二乗和は，
```math
\| y - X\beta \|^2 = (y - X\beta)^\top (y - X\beta)
```
で定義されますが，これを，行列の和の転置と，行列の積の転置の公式を用いて，以下のように展開することができます．
```math
\begin{align}
(y - X\beta)^\top (y - X\beta) &= y^\top y -(X\beta)^\top y - y^\top (X\beta) + (X\beta)^\top (X\beta) \\
&= y^\top y - \beta^\top X^\top y - y^\top X \beta + \beta^\top X^\top X \beta
\end{align}
```
最後に，第二項と第三項は等しいことが以下のように示されます．まず，スカラーは1行1列の行列ともみなせますが，当然これの転置行列は元の行列自身です．ここで$\beta^\top X^\top y$はスカラーなので，
```math
\beta^\top X^\top y = (\beta^\top X^\top y)^\top = y^\top X \beta
```
が成り立ちます．結果として，誤差二乗和は，
```math
\| y - X\beta \|^2 = y^\top y - 2 y^\top X\beta + \beta^\top X^\top X\beta
```
と展開されます．


### 例2
次に，最小二乗推定量$\hat{\beta}$の共分散行列を求めてみます．最小二乗推定量は$\hat{\beta} = (X^\top X)^{-1} X^\top y$ですが，これに$y=X\beta + \varepsilon$を代入すると，
$$
\hat{\beta} = (X^\top X)^{-1} X^\top (X\beta + \varepsilon) = \beta + (X^\top X)^{-1} X^\top \varepsilon
$$
が成り立ちます．よって，$\hat{\beta}$の共分散行列$V(\hat{\beta}) = E[(\hat{\beta} - \beta)(\hat{\beta} - \beta)^\top]$は，
```math
V(\hat{\beta}) = E[ (X^\top X)^{-1} X^\top \varepsilon \{ (X^\top X)^{-1} X^\top \varepsilon \}^\top ]
```
となりますが，ここで，行列の積の転置と，逆行列の転置の公式を用いると，
```math
\begin{align}
\{ (X^\top X)^{-1} X^\top \varepsilon \}^\top &= \varepsilon^\top(X^\top)^\top \{ (X^\top X)^{-1} \}^\top \\
&= \varepsilon^\top X \{ (X^\top X)^\top \}^{-1} \\
&= \varepsilon^\top X (X^\top X)^{-1}
\end{align}
```
と式変形できます．よって，
```math
\begin{align}
V(\hat{\beta}) &= E[ (X^\top X)^{-1} X^\top \varepsilon \varepsilon^\top X (X^\top X)^{-1} ] \\
&= (X^\top X)^{-1} X^\top E[\varepsilon \varepsilon^\top] X(X^\top X)^{-1} \\
&= (X^\top X)^{-1} X^\top V(\varepsilon) X (X^\top X)^{-1} \\
&= (X^\top X)^{-1} X^\top (\sigma^2 I_n) X (X^\top X)^{-1} \\
&= \sigma^2 (X^\top X)^{-1}
\end{align}
```
と求めることができます．


# トレースに関する公式
トレースは，正方行列に対して定義されるもので，対角成分の和のことです．$(i,j)$成分が$a_{ij}$である$n$行$n$列の正方行列$A$のトレース$\mathrm{tr}(A)$は，
```math
\mathrm{tr}(A) = \sum_{i=1}^n a_{ii}
```
です．


### 転置行列のトレース
正方行列の転置は，その対角成分を軸としてひっくり返すイメージなので，行列のトレースは，その転置行列のトレースと等しいです．すなわち，
```math
\mathrm{tr}(A) = \mathrm{tr}(A^\top)
```
が成り立ちます．


### 行列の積のトレース
一般に，行列の積は順番を入れ替えてはいけませんが，
```math
\mathrm{tr}(AB) = \mathrm{tr}(BA)
```
は成り立ちます．


### 例3
線形回帰モデルの誤差分散$\sigma^2$の不偏推定量は，
```math
\hat{\sigma}^2 = \frac{1}{n-p} \| y - X\hat{\beta} \|^2
```
ですが，その不偏性の証明において，行列の積のトレースの公式を用います．まずは，残差二乗和を以下のように展開します．
```math
\begin{align}
\| y - X\hat{\beta} \|^2 &= \| y - X(X^\top X)^{-1} X^\top y \|^2 \\
&= \| (I_n - P)y \|^2 \\
&= \| My \|^2
\end{align}
```
ここで，$P = X(X^\top X)^{-1} X^\top$は$X$の列空間への射影行列，$M = I_n - P$はその直交補空間への射影行列で，それぞれ対称行列で，かつ冪等（べきとう）行列，つまり，
```math
P^2 = P, \quad M^2 = M
```
が成り立ちます．さらに，$PX = X, MX = 0$が成り立つので，
```math
\begin{align}
\| y - X\hat{\beta} \|^2 &= \| M(X\beta + \varepsilon) \|^2 \\
&= \| M\varepsilon \|^2 \\
&= \varepsilon^\top M^\top M \varepsilon \\
&= \varepsilon^\top M^2 \varepsilon \\
&= \varepsilon^\top M \varepsilon
\end{align}
```
と展開できます．この期待値が$(n-p)\sigma^2$であることを示せれば，$\hat{\sigma}^2$の不偏性が証明されます．ここで，$\varepsilon^\top M \varepsilon$はスカラーですが，1行1列の正方行列とみなしてトレースをとっても，自身のスカラーと値は一致します．すなわち，$\varepsilon^\top M \varepsilon = \mathrm{tr}(\varepsilon^\top M \varepsilon)$が成り立ちます．ここで，行列の積のトレースに関する公式を用いると，
```math
\begin{align}
E[ \| y - X\hat{\beta} \|^2 ] &= E[ \mathrm{tr} [\varepsilon^\top M \varepsilon] ] \\
&= E[ \mathrm{tr}[M \varepsilon \varepsilon^\top] ]
\end{align}
```
と評価できます．さらに，期待値演算もトレース演算も，どちらも線形な演算なので，その順番を入れ替えることができ，
```math
\begin{align}
E[\| y - X\hat{\beta} \|^2] &= \mathrm{tr}[ E[ M \varepsilon \varepsilon^\top ] ] \\
&= \mathrm{tr}[ M E[\varepsilon \varepsilon^\top] ] \\
&= \mathrm{tr}[ M \sigma^2 I_n ] \\
&= \sigma^2 \mathrm{tr}(M)
\end{align}
```
が成り立ちます．最後に$\mathrm{tr}(M)$について，
```math
\begin{align}
\mathrm{tr}(M) &= \mathrm{tr}[I_n - P] \\
&= \mathrm{tr}(I_n) - \mathrm{tr}(P) \\
&= n - \mathrm{tr}[ X(X^\top X)^{-1} X^\top ] \\
&= n - \mathrm{tr}[ (X^\top X)^{-1} X^\top X ] \\
&= n - \mathrm{tr}(I_p) \\
&= n - p
\end{align}
```
と評価でき，$\hat{\sigma}^2$の不偏性が示されました．


# おわりに
株式会社Nospareには，統計学の様々な分野を専門とする研究者が所属しております．統計アドバイザリーやビジネスデータの分析につきましては[株式会社Nospare](https://bit.ly/38WtGZH) までお問い合わせください．
<a href="https://bit.ly/38WtGZH">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1023506/d5c625c0-d6f4-680b-d702-3c40f11d6c39.jpeg" alt="株式会社Nospare" width=400>
</a>