からっぽのしょこ

読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

3.2.2:ハット行列の性質の導出【空間データサイエンス入門のノート】

はじめに

 『Pythonで学ぶ空間データサイエンス入門』の独学ノートです。本の内容から寄り道してアレコレ考えます。
 本を読んだ上で補助的に読んでください。  

 この記事では、線形回帰モデルにて登場するハット行列について、数式を使って解説します。

【前の内容】

www.anarchive-beta.com

【他の内容】

www.anarchive-beta.com

【今回の内容】

3.2.2 ハット行列の性質の導出

 ハット行列(hat matrix)の性質を導出します。ハット行列は、射影行列(projection matrix)とも呼ばれます。

定義式の確認

 まずは、ハット行列の定義を数式で確認します。

  N \times M の行列を変数  \mathbf{X} とします。

 \displaystyle
\mathbf{X}
    = \begin{pmatrix}
          x_{11} & x_{12} & \cdots & x_{1M} \\
          x_{21} & x_{22} & \cdots & x_{2M} \\
          \vdots & \vdots & \ddots & \vdots \\
          x_{N1} & x_{N2} & \cdots & x_{NM}
      \end{pmatrix}

 ハット行列  \mathbf{S} は、次の式で定義されます。

 \displaystyle
\mathbf{S}
    = \mathbf{X}
      (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \mathbf{X}^{\top}
\tag{1}

  \mathbf{A}^{\top} \mathbf{A} の転置行列、 \mathbf{A}^{-1} \mathbf{A} の逆行列を表します。
  (N \times M) (M \times N) (N \times M) (M \times N) の行列の積なので、 \mathbf{S} N \times N の正方行列になります。

性質の導出

 次は、ハット行列の性質を数式で確認します。

転置

 ハット行列  \mathbf{S} の転置を考えます。

 \displaystyle
\begin{aligned}
\mathbf{S}^{\top}
   &= \Bigl(
          \mathbf{X}
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
          \mathbf{X}^{\top}
      \Bigr)^{\top}
\\
   &= (\mathbf{X}^{\top})^{\top}
      \Bigl(
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \Bigr)^{\top}
      \mathbf{X}^{\top}
\\
   &= \mathbf{X}
      \Bigl(
          (\mathbf{X}^{\top} \mathbf{X})^{\top}
      \Bigr)^{-1}
      \mathbf{X}^{\top}
\\
   &= \mathbf{X}
      \Bigl(
          \mathbf{X}^{\top} (\mathbf{X}^{\top})^{\top}
      \Bigr)^{-1}
      \mathbf{X}^{\top}
\\
   &= \mathbf{X}
      (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \mathbf{X}^{\top}
\\
   &= \mathbf{S}
\end{aligned}

途中式の途中式(クリックで展開)


  • 1: 定義式(1)より、 \mathbf{S} の転置行列の式を立てます。
  • 2: 転置行列の性質  (\mathbf{A} \mathbf{B} \mathbf{C})^{\top} = \mathbf{C}^{\top} \mathbf{B}^{\top} \mathbf{A}^{\top} より、式全体を転置します。
  • 3: 転置行列の性質  (\mathbf{A}^{\top})^{\top} = \mathbf{A} より、転置行列の転置は元の行列になります。
  • 3: 転置と逆行列の性質  (\mathbf{A}^{-1})^{\top} = (\mathbf{A}^{\top})^{-1} より、逆行列の転置行列は転置行列の逆行列になります。
  • 4: 転置行列の性質  (\mathbf{A} \mathbf{B})^{\top} = \mathbf{B}^{\top} \mathbf{A}^{\top} より、中の2つの行列を転置します。
  • 5: 転置行列の性質より、2重の転置は元の行列です。
  • 6: 式全体が定義式(1)なので、 \mathbf{S} に置き換えます。

  \mathbf{S} の転置行列は、 \mathbf{S} になります。よって、 \mathbf{S} は対称行列であることが分かります。

n乗

 ハット行列  \mathbf{S} の2乗を考えます。

 \displaystyle
\begin{aligned}
\mathbf{S} \mathbf{S}
   &= \Bigl(
          \mathbf{X}
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
          \mathbf{X}^{\top}
      \Bigr)
      \Bigl(
          \mathbf{X}
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
          \mathbf{X}^{\top}
      \Bigr)
\\
   &= \mathbf{X}
      (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \mathbf{X}^{\top} \mathbf{X}
      (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \mathbf{X}^{\top}
\\
   &= \mathbf{X}
      (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \mathbf{X}^{\top}
\\
   &= \mathbf{S}
\end{aligned}

途中式の途中式(クリックで展開)


  • 1: 定義式(1)より、2つの  \mathbf{S} の行列の積の式を立てます。
  • 2: 括弧を展開します。
  • 3: 逆行列の性質  \mathbf{A}^{-1} \mathbf{A} = \mathbf{A} \mathbf{A}^{-1} = \mathbf{I} より、 (\mathbf{X}^{\top} \mathbf{X}) を1つの行列とみなすと、 (\mathbf{X}^{\top} \mathbf{X})^{-1} (\mathbf{X}^{\top} \mathbf{X}) または  (\mathbf{X}^{\top} \mathbf{X}) (\mathbf{X}^{\top} \mathbf{X})^{-1} は単位行列  \mathbf{I} になります。
  • 3: 単位行列の性質  \mathbf{I} \mathbf{A} = \mathbf{A} \mathbf{I} = \mathbf{A} より、 \mathbf{I} は消えます。
  • 4: 式全体が定義式(1)なので、 \mathbf{S} に置き換えます。

  \mathbf{S} の2乗は、 \mathbf{S} になります。
 また、自分自身を掛けても変化しないので、n乗しても変化しません。この性質から射影行列と呼ばれます。

変数との積

 ハット行列  \mathbf{S} と変数  \mathbf{X} の積を考えます。

 \displaystyle
\begin{aligned}
\mathbf{S} \mathbf{X}
   &= \Bigl(
          \mathbf{X}
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
          \mathbf{X}^{\top}
      \Bigr)
      \mathbf{X}
\\
   &= \mathbf{X}
      (\mathbf{X}^{\top} \mathbf{X})^{-1}
      \mathbf{X}^{\top} \mathbf{X}
\\
   &= \mathbf{X}
\end{aligned}

途中式の途中式(クリックで展開)


  • 1: 定義式(1)より、2つの行列  \mathbf{S}, \mathbf{X} の行列の積の式を立てます。
  • 2: 括弧を展開します。
  • 3: 逆行列の性質より、後の4つの行列は単位行列になり消えます。

  \mathbf{S}, \mathbf{X} の積は、 \mathbf{X} になります。

トレース

 ハット行列  \mathbf{S} のトレースを考えます。

 \displaystyle
\begin{aligned}
\mathrm{trace}(\mathbf{S})
   &= \mathrm{trace} \Bigl(
          \mathbf{X}
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
          \mathbf{X}^{\top}
      \Bigr)
\\
   &= \mathrm{trace} \Bigl(
          (\mathbf{X}^{\top} \mathbf{X})^{-1}
          \mathbf{X}^{\top} \mathbf{X}
      \Bigr)
\\
   &= \mathrm{trace}(\mathbf{I}_M)
\\
   &= M
\end{aligned}

途中式の途中式(クリックで展開)


  • 1: 定義式(1)より、 \mathbf{S} のトレースの式を立てます。
  • 2: トレースの性質  \mathrm{tr}(\mathbf{A} \mathbf{B}) = \mathrm{tr}(\mathbf{B} \mathbf{A}) より、 ((\mathbf{X}^{\top} \mathbf{X})^{-1} \mathbf{X}^{\top}) を1つの行列とみなして、1つ目の行列と入れ替えます。入れ替え後の形状は、 (M \times N) (N \times M) (M \times N) (N \times M) の行列の積なので、 M \times M の行列になります。
  • 3: 逆行列の性質より、単位行列になります。
  • 4: トレースの性質  \mathrm{tr}(\mathbf{I}_n) = n より、単位行列のトレースは次元数になります。

  \mathbf{S} のトレースは、 \mathbf{X} の行数になります。
  n \times n の単位行列の形状を明示する場合は  \mathbf{I}_n と表記します。

 この記事では、ハット行列を確認しました。次の記事では、冪等行列を確認します。

参考文献

おわりに

 初めて知りました。面白いですね。面白くなる理由が気になりますが無視することにします。行列をヒートマップで見るのにハマってる今日この頃ですが、図から言えることが特に思い付かなかったので、これも無視することにしました。
 ベクトルの射影を求める(sin・cosを使う)射影行列とは別物ですよね?同じ名前だと困ります。

 この記事の投稿日に公開されたOCHA NORMAの新曲をどうぞ♪

 え、なんか格好良さげな雰囲気(グループ比)を出してきたな、どうした!?夏だからか?

【次の内容】

www.anarchive-beta.com