データ分析理論

偏相関係数を線形代数の視点から解説

本記事では、偏相関係数を線形代数の各種概念やツールを用いて解説していきます。

具体的には、偏相関係数を直交補空間での2つのデータベクトルがなす角度としてアプローチします。

これにより、偏相関係数の核心である「注目している2変数以外の影響を取り除く」とは一体何なのかが明確になるはずです。

その後、偏相関係数が相関行列の逆行列に見出せることを説明し、データセットから偏相関行列を算出するアルゴリズムを構築するところまでやっていきます。

偏相関係数とは

ここでは、以降の考察に用いる記号などを確認しながら、偏相関係数の意味を再確認していきます。

まず、\( \mathbf{y}_1, \mathbf{y}_2 \)を注目している2変数に関するn次元平均偏差ベクトルとします。

つまり、変数\( \mathbf{y}_i \)のn個の実現値(データ)を\( y_{ki} \; (k=1,2, \cdots ,n )\)、これらn個の実現値から算出した標本平均を\( \bar{y}_i\)として、\(  \mathbf{y}_i\) を、

\[\mathbf{y}_i = \begin{pmatrix}
y_{1i} – \bar{y}_i \\ y_{2i} – \bar{y}_i \\ \vdots \\ y_{ni} – \bar{y}_i
\end{pmatrix}
\]

と定めます。

他方、これらとは別のp個の異なる変数に関するn次元平均偏差ベクトル\( \mathbf{x}_1, \dots, \mathbf{x}_p \)があるとします。

これらを、\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)と、\( n \times p\) 行列としてまとめ、これを多変量平均偏差行列\( X\) とします。

この設定のもとで、\( \mathbf{y}_1, \mathbf{y}_2 \)の偏相関係数とは、\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響を取り除いたときの\( \mathbf{y}_1 \)と\( \mathbf{y}_2 \)の相関係数(線形関係の程度)のことで\( r_{12|X} \)と表されます。

ここまでが、以降の議論の土台の準備と偏相関係数の意味の簡単な復習でした。

これ以降では、線形代数の各種概念を用いて偏相関係数を2つの方法で導出していきます。

  1. \(\mathrm{Im} X\)の直交補空間での\( \mathbf{y}_1, \mathbf{y}_2 \)のなす角のコサイン
  2. \( X\)から算出した相関行列の逆行列

 

直交補空間での2つのベクトルがなす角のコサイン

このセクションでは、偏相関係数を、\(\mathrm{Im} X\)の直交補空間での\( \mathbf{y}_1, \mathbf{y}_2 \)のなす角のコサインとして導出していきます。

まず、そもそも2つの平均偏差ベクトルの相関係数とは、これら2つのベクトルがなす角のコサインです。

これは相関係数の線形代数的な解釈ですが、この意味では、偏相関係数も変わりはありません。つまり、偏相関係数も2つの平均偏差ベクトルの角度をもとに、そのコサインを算出します。

では、違いは何かというと、偏相関係数の場合、2つのベクトルの角度を測る前に、2つの変数の平均偏差ベクトルを、影響を取り除きたい変数群が生成する空間の直交補空間に射影するという操作を行います。

これが偏相関係数の算出する上での決定的な特徴であり、偏相関係数という概念をビジュアルかつ直感的に理解するための鍵となります。

次からは、

  1. \( \mathbf{y}_1, \mathbf{y}_2 \)から\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響を取り除く
  2. \( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響が取り除かれたベクトルのなす角のコサインを算出する

という2ステップで解説していきます。

\( \mathbf{y}_1, \mathbf{y}_2 \)から\(X=( \mathbf{x}_1, \dots, \mathbf{x}_n) \)の影響を取り除く

2つの平均偏差ベクトル\( \mathbf{y}_1, \mathbf{y}_2 \)から\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響を取り除くとは、線形代数の観点では、\( \mathrm{Im} X \)の直交補空間\( \mathrm{Im} X^\perp \)に\( \mathbf{y}_1, \mathbf{y}_2 \)を直交射影する操作に相当します。

まず、多変量平均偏差行列\( X\)の像 \( \mathrm{Im} X \)は、\( \mathbf{y}_1, \mathbf{y}_2 \)に対する説明可能な空間という解釈ができます。

これに対して、 \( \mathrm{Im} X \)に対する直交補空間\( \mathrm{Im} X^\perp \)は、\( \mathbf{y}_1, \mathbf{y}_2 \)に対して、\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)では説明不可能な空間になります。

ここで、「\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)では説明不可能」ということをもう少し突っ込んで考えてみましょう。

すると、これは、「\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響が及んでいない」ということ、または、「\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響が取り除かれている」とも解釈できるわけです。

この解釈をもとに、今回のケースで\( \mathrm{Im} X^\perp \)を具体的に定義すると、以下のようになります。

\[
\mathrm{Im} X^\perp = \{\mathbf{e} \in \mathbb{R}^n | \text{任意の}\ \mathbf{x}_i \in \mathrm{Im} X \text{に対して}\, \langle \mathbf{x}_i, \mathbf{e} \rangle = 0\}
\]

これが、\( \mathbf{y}_1, \mathbf{y}_2 \)のうち\( \mathbf{x}_1, \dots, \mathbf{x}_n \)の影響が取り除かれたベクトルが属する空間です。(※\( \langle \mathbf{x}_i, \mathbf{e} \rangle\) は、\( \mathbf{x}_i\) と\( \mathbf{e}\) の内積です)

では実際に、どのようにして、\( \mathbf{y}_1, \mathbf{y}_2 \)から\( \mathbf{x}_1, \dots, \mathbf{x}_p \)の影響が取り除かれた部分を取り除けばいいのでしょうか?

別の言い方をすれば、\( \mathbf{y}_1, \mathbf{y}_2 \)のうち\( \mathrm{Im} X^\perp\) に属する部分はどのようにすれば抽出できるのでしょうか?

結論としては、一つ前のセクションでも触れた通り「射影」です。より具体的には、n次元ユーグリッド空間\(R^n \) から、その部分空間\( \mathrm{Im} X^\perp\) へ\( \mathbf{y}_1\) と\(\mathbf{y}_2 \) を直交射影すれば、\( \mathbf{y}_1, \mathbf{y}_2 \)のうち\( \mathrm{Im} X^\perp\) に属する部分を取り出すことができます。

では、\(R^n \rightarrow \mathrm{Im} X^\perp\) への直交射影行列\( Q\) を構成していきます。

まず、\( \mathrm{Im} X \)への直交射影行列を\( P\)とすると、\( P\) は

\[P = X(X^\top X)^{-1}X^\top\]

です。すると、\( \mathrm{Im} X \)の直交補空間である\( \mathrm{Im} X^\perp\) への直交射影行列\( Q\)は、

\begin{align*}
Q &= I – P \\
&= I – X(X^\top X)^{-1}X^\top\end{align*}

となります。\( I\) はn次単位行列です。

ここで、\( \mathbf{e}_1, \mathbf{e}_2 \)をそれぞれ、\( \mathbf{y}_1, \mathbf{y}_2 \)の\( \mathrm{Im} X^\perp \)に属するベクトルとすれば、\( \mathbf{e}_1, \mathbf{e}_2 \)は、

\[
\mathbf{e}_1 = Q \mathbf{y}_1, \:\:\:\: \mathbf{e}_2 = Q \mathbf{y}_2
\]

という関係式で表されます。

これにて、\( \mathbf{y}_1, \mathbf{y}_2 \)から\( \mathbf{x}_1, \dots, \mathbf{x}_n \)の影響が取り除かれた部分\( \mathbf{e}_1, \mathbf{e}_2 \)が抽出できました。

以降では、\( \mathbf{y}_1, \mathbf{y}_2 \)の真の線形関係、すなわち偏相関係数を、\( \mathbf{e}_1 \)と\( \mathbf{e}_2 \)の2つのベクトルがなす角のコサインを用いて導出していきます。

 

\( \mathbf{e}_1 \)と\( \mathbf{e}_2 \)がなす角のコサインを算出する

ここまでで、\( \mathbf{y}_1, \mathbf{y}_2 \)から\( X = (\mathbf{x}_1, \dots, \mathbf{x}_p) \)の影響を取り除いたベクトル\( \mathbf{e}_1, \mathbf{e}_2 \)を抽出することができました。

\( \mathbf{y}_1, \mathbf{y}_2 \)の偏相関係数\( r_{12|X} \)は、これら\( \mathbf{e}_1, \mathbf{e}_2 \)がなす角のコサインとして得ることができます。

\( \mathbf{e}_1, \mathbf{e}_2 \)に対して、2つのベクトルがなす角のコサインの定義を適用すれば、

\[
r_{12|X} = \frac{\langle \mathbf{e}_1, \mathbf{e}_2 \rangle}{\|\mathbf{e}_1\| \cdot \|\mathbf{e}_2\|}
\]

です。これをもう少し式変形していきます。

\begin{align*}r_{12|X} &= \frac{\langle \mathbf{e}_1, \mathbf{e}_2 \rangle}{\|\mathbf{e}_1\| \cdot \|\mathbf{e}_2\|}\\&= \frac{\langle Q\mathbf{y}_1, Q\mathbf{y}_2 \rangle}{\|Q\mathbf{y}_1\| \cdot \|Q\mathbf{y}_2\|}\\&= \frac{(Q\mathbf{y}_1)^\top Q\mathbf{y}_2}{\sqrt{(Q\mathbf{y}_1)^\top Q\mathbf{y}_1} \sqrt{(Q\mathbf{y}_2)^\top Q\mathbf{y}_2}}\\&= \frac{\mathbf{y}_1^\top QQ \mathbf{y}_2}{\sqrt{\mathbf{y}_1^\top QQ \mathbf{y}_1} \sqrt{\mathbf{y}_2^\top QQ \mathbf{y}_2}}\\&= \frac{\mathbf{y}_1^\top Q \mathbf{y}_2}{\sqrt{\mathbf{y}_1^\top Q \mathbf{y}_1} \sqrt{\mathbf{y}_2^\top Q \mathbf{y}_2}}\end{align*}

以上で式変形は完了です。この形まで式変形したのには理由があります。\( \mathbf{y}_1, \mathbf{y}_2 \)の偏相関係数\( r_{12|X} \)が

\[r_{12|X} = \frac{\mathbf{y}_1^\top Q \mathbf{y}_2}{\sqrt{\mathbf{y}_1^\top Q \mathbf{y}_1} \sqrt{\mathbf{y}_2^\top Q \mathbf{y}_2}}\]

と表されることで、さらに何が分かるのか?以降では、これをみていくことにします。

偏相関係数と相関行列の逆行列の関係性

偏相関係数\(r_{12|X}\)は、多変量データ行列から算出される相関行列の逆行列と密接な関係があります。

まずは、これ以降で用いる記号と設定を確認します。

想定する状況は前セクションと同様です。

つまり、\(\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_n\)の影響を除外した\(\mathbf{y}_1,\mathbf{y}_2\)の偏相関に関心があるケースです。

ただし、データベクトルに関しては、相関行列をもとに議論を進めていく都合上、前セクションとやや異なります。

まずは、2+p個の変数に関するデータベクトル\(\mathbf{y}_1,\mathbf{y}_2,\mathbf{x}_1,\mathbf{x}_2,\cdots,\mathbf{x}_p\)は全て、平均0、標準偏差1に標準化されているとします。

例えば、\(\mathbf{x}_i\)に関して、

\[\mathbf{x}_i = \begin{pmatrix}x_{1i} \\ x_{2i}\\ \vdots \\ x_{ni}\end{pmatrix}\]

ですが、これらn個の成分から算出した平均が0、標準偏差が1ということです。

次に、\(Y=(\mathbf{y}_1\; \mathbf{y}_2),\: X=(\mathbf{x}_1\; \mathbf{x}_2\; \cdots\; \mathbf{x}_p)\)として、多変量データ行列\(D\)を\(D=(Y\,X)\)として定めます。

この設定のもと、前のセクションで導出した\( \mathbf{y}_1, \mathbf{y}_2 \)の偏相関係数\( r_{12|X} \)

\[r_{12|X} = \frac{\mathbf{y}_1^\top Q \mathbf{y}_2}{\sqrt{\mathbf{y}_1^\top Q \mathbf{y}_1} \sqrt{\mathbf{y}_2^\top Q \mathbf{y}_2}}\]

を、\( D\) から算出する相関行列の逆行列に見出していきます。

相関行列を平均偏差行列を用いた分割行列として表す

\( D\)をもとに算出される相関行列を\(R\)とします。すると、\( R\) は\(D\)を用いて以下のように表されます。

\begin{align}
R &= \frac{1}{n}D^\top D \\
&= \frac{1}{n} (Y\,X)^\top(Y\,X) \\
&= \frac{1}{n} (\mathbf{y}_1\; \mathbf{y}_2\;\mathbf{x}_1\; \cdots\; \mathbf{x}_p)^\top (\mathbf{y}_1\; \mathbf{y}_2\; \mathbf{x}_1\; \cdots\; \mathbf{x}_p)\\
&= \frac{1}{n} \begin{pmatrix}
\mathbf{y}_{1}^\top \\ \mathbf{y}_{2}^\top \\ \mathbf{x}_{1}^\top \\ \vdots \\ \mathbf{x}_{p}^\top
\end{pmatrix} (\mathbf{y}_1\; \mathbf{y}_2\; \mathbf{x}_1\; \cdots\; \mathbf{x}_p)\\
&=\frac{1}{n}\begin{pmatrix}
Y^\top \\ X^\top
\end{pmatrix}(Y\,X) \\
&= \frac{1}{n}\begin{pmatrix}
Y^\top Y & Y^\top X \\
X^\top Y & X^\top X
\end{pmatrix}
\end{align}

上記において、\( R\) は\((2+p)\)次対称行列、\(Y^\top Y\)は2次対称行列、\(Y^\top X\)は\(2 \times p\)行列、\(X^\top Y\)は\(p\times 2\)行列、\(X^\top X\)はp次対称行列です。

相関行列の逆行列を分割行列として表す

次に、相関行列\(R\)の逆行列を\(R^{-1}\)として、\(R^{-1}\)を\(R\)と同じ4分割の区分けで以下のようにおきます。

\begin{align}
R^{-1} = \begin{pmatrix}
\underset{2 \times 2}{C_{11}} & \underset{2 \times p}{C_{12}} \\
\underset{p \times 2}{C_{21}} & \underset{p \times p}{C_{22}}
\end{pmatrix} = n\begin{pmatrix}
Y^\top Y & Y^\top X \\
X^\top Y & X^\top X
\end{pmatrix}^{-1}
\end{align}

\(R^{-1}\)をこのようにおいた意図は、分割行列の逆行列の公式を用いて、\(R^{-1}\)の各分割ブロック行列\(C_{ij}\)を\(R\)の各分割ブロック行列との関係式の形で表現するためです。

このように表すことで、相関行列の逆行列の中に偏相関係数があることをはっきりと確認できます。

では、まずは一般論として、分割行列の逆行列の公式を確認しておきます。

分割行列の逆行列の公式

\(A\)をp次正則行列、\(D\)をq次正則行列、\(B\)を\( p \times q\) 行列、\(C\)を\( q \times p\) 行列、\(E=(A – BD^{-1}C)^{-1}\)とおけば、

\[\begin{pmatrix} A & B \\ C & D\end{pmatrix}^{-1} = \begin{pmatrix} E & -EBD^{-1} \\ -D^{-1}CE & D^{-1} + D^{-1}CEBD^{-1}\end{pmatrix}\]

では、\(R^{-1}\)の\((1,1)\)区画の2次正方ブロック行列\(C_{11}\)に対して、この公式の対応する部分\(E=(A – BD^{-1}C)^{-1}\)を適用すれば、

\[C_{11} = n\,[Y^\top Y – Y^\top X(X^\top X)^{-1}X^\top Y]^{-1}\]

を得ます。では、この右辺を整理していきます。

\begin{align}
C_{11}&= n\,[Y^\top Y – Y^\top X(X^\top X)^{-1}X^\top Y]^{-1} \\
&= n\,[Y^\top(Y-X(X^\top X)^{-1}X^\top Y)]^{-1} \\
&= n\,[Y^\top(I-X(X^\top X)^{-1}X^\top) Y]^{-1} \\
&= n\,[Y^\top Q Y]^{-1} \\
&= n\,\left[\begin{pmatrix} \mathbf{y}_{1}^\top \\ \mathbf{y}_{2}^\top \end{pmatrix}Q(\mathbf{y}_1\,\mathbf{y}_2)\right]^{-1} \\
&= n\,\left[\begin{pmatrix} \mathbf{y}_{1}^\top \\ \mathbf{y}_{2}^\top \end{pmatrix}(Q\mathbf{y}_1\,Q\mathbf{y}_2)\right]^{-1} \\
&= n\, \begin{pmatrix}
\mathbf{y}_{1}^\top Q \mathbf{y}_1 & \mathbf{y}_{1}^\top Q \mathbf{y}_2 \\
\mathbf{y}_{2}^\top Q \mathbf{y}_1 & \mathbf{y}_{2}^\top Q \mathbf{y}_2
\end{pmatrix}^{-1} \\
&= \frac{n}{\mathbf{y}_{1}^\top Q \mathbf{y}_1\,\mathbf{y}_{2}^\top Q \mathbf{y}_2 – (\mathbf{y}_{1}^\top Q \mathbf{y}_2 )^2}\, \begin{pmatrix}
\mathbf{y}_{2}^\top Q \mathbf{y}_2 & -\mathbf{y}_{1}^\top Q \mathbf{y}_2 \\
-\mathbf{y}_{2}^\top Q \mathbf{y}_1 & \mathbf{y}_{1}^\top Q \mathbf{y}_1
\end{pmatrix} \\
\end{align}

1~2行目では、\( Y^\top\)で括り出しています。

2~3行目では、2行目の\( n \times 2\)行列\( (Y-X(X^\top X)^{-1}X^\top Y)\)に対して、\( Y\) で括ることで、3行目で、n次対称行列\( (I-X(X^\top X)^{-1}X^\top)\) と\( n \times 2\) 行列\( Y\) の積に分解されています。\(I\) はn次単位行列です。

3~4行目は、\( (I-X(X^\top X)^{-1}X^\top)\) が、前のセクションでも扱った、\( \mathrm{Im}\,X \) の直交補空間\(\mathrm{Im}\, X^\perp \) への射影行列\( Q\)であることによります。

7行目では、1~6行目と異なり、\( C_{11}\) の全ての成分はスカラーです。なぜなら、\(\mathbf{y}^\top Q \mathbf{y} \)は、\( \mathbf{y}\)と\( Q \mathbf{y}\)の内積だからです。

よって、2次の逆行列の公式を適用することができ、その結果が8行目となります。

相関行列の逆行列の中に偏相関係数を見出す

繰り返しになりますが、前セクションでは、以下のように偏相関係数を「直交補空間での2つのベクトルがなす角のコサイン」という観点から算出しました。

\[r_{12|X} = \frac{\mathbf{y}_1^\top Q \mathbf{y}_2}{\sqrt{\mathbf{y}_1^\top Q \mathbf{y}_1}\sqrt{\mathbf{y}_2^\top Q \mathbf{y}_2}}\]

これと、今\(C_{11}\)を展開して得られた、

\[ C_{11} = \frac{n}{\mathbf{y}_{1}^\top Q \mathbf{y}_1\,\mathbf{y}_{2}^\top Q \mathbf{y}_2 – (\mathbf{y}_{1}^\top Q \mathbf{y}_2 )^2}\, \begin{pmatrix} \mathbf{y}_{2}^\top Q \mathbf{y}_2 & -\mathbf{y}_{1}^\top Q \mathbf{y}_2 \\ -\mathbf{y}_{2}^\top Q \mathbf{y}_1 & \mathbf{y}_{1}^\top Q \mathbf{y}_1 \end{pmatrix}\]

を見比べてみます。

すると、\(r_{12|X}\)は、\(C_{11}\)において、非対角の\((1,2)\)成分のマイナス1倍を、対角の\((1,1)\)成分と\((2,2)\)成分の平方根で割った値であることが確認できます。

\(r_{12|X}\)と\(C_{11}\)の関係性はどうなっているのでしょうか?

結論としては、\(C_{11}\)に対して、さらに、その逆行列\((C_{11})^{-1}\)をとる操作をしています。

より具体的にみていきましょう。

今、相関行列\(R\)の逆行列\(R^{-1}\)において、その\((1,1)\)区画の\(2 \times 2\)分割ブロック行列\(C_{11}\)を

\[C_{11} = \begin{pmatrix} c_{11} & c_{12} \\ c_{21} & c_{22}\end{pmatrix}\]

とします。これの逆行列\((C_{11})^{-1}\)は、

\[(C_{11})^{-1} = \frac{1}{c_{11}c_{22}-c_{12}c_{21}}\begin{pmatrix} c_{22} & -c_{12} \\ -c_{21} & c_{11}\end{pmatrix}\]

ですね。これの非対角成分を2つの対角成分の平方根で割ると、

\[\frac{-c_{12}}{\sqrt{c_{11}}\sqrt{c_{22}}}\]

が得られるが、確かに上式は、\(C_{11}\)の対角成分\(c_{12}\)のマイナス1倍を、\(C_{11}\)対角成分\(c_{11},\,c_{22}\)の平方根で割った形になっています。

ここまでを一般化すると以下のようになる。

相関行列の逆行列と偏相関係数の関係性

注目している変数の添字を\(i,j\,(i\neq j)\)とする。このとき、添字\(i\)の変数と添字\(j\)の変数の偏相関係数\(r_{ij|rest}\)は、相関行列\(R\)の逆行列を\(R^{-1}=(c_{ij})\)としたとき、\(R^{-1}\)の非対角成分\(c_{ij}\)を対角成分\(c_{ii}\)と\(c_{jj}\)の平方根で割ることで得られる。

\[r_{ij|rest} = \frac{-c_{ij}}{\sqrt{c_{ii}}\sqrt{c_{jj}}}\]

ここで、\(r_{ij|rest}\)におけるrestは、変数\(i\)と変数\(j\)を以外の全ての変数を指す。つまり、偏相関係数\(r_{ij|rest}\)は、変数\(i\)と変数\(j\)以外の全ての変数の影響を取り除いた(固定した)上での変数\(i\)と変数\(j\)の相関係数である。

偏相関行列

ただし、注意点として、相関行列の逆行列そのものが「偏相関係行列」になっているわけではない。あくまで、相関行列の逆行列から得られるのは、注目している2変数の偏相関係数だけである。

よって、実務などのケースで、全ての変数の偏相関係数を得て、それを「偏相関行列」として表したいなら、これまでの理論を用いて「偏相関行列」を構成するプログラムを組む必要がある。

参考図書

 

名古屋大学大学院/石井教授のPDF資料

 

計量経済学のための数学

 

線形代数の理論とPythonによる実践