公開！週末研究ノート１０　ー　偏相関行列の一般式

# はじめに　ー　週末研究ノートとは？

個人的に研究的な活動をやるにあたり、オープンにしてみたら面白いかもと思い、自分が興味を持っている ざっくりテーマについて、これから、ゆるい週末研究を公開していこうと思います。（有識者の方のアドバイスも、ちょっとというかかなり期待してます！笑）

どこかの権威的な学会やジャーナルなどで発表する予定はないため、万が一、私の記事を利用する際には自己責任でお願いします。そんな人はいないと思いますが、念のため。



# 今回のサマリ （TL; DR）

今回は、偏相関行列の一般式（ただし、実空間 $\mathbb{R}^n$ 上に限る）を理解するために、数式を整理しました。参考になる記事はいくつかありましたが、納得するための、自分の前提知識を補完する情報を別途探す必要があったため、改めてまとめることにしました。また、証明の支援として、ChatGPT 先生の協力を仰ぎ、白熱（？）の議論を交わしました笑


# 環境

- なし


# 今回の週末研究ノート

# 偏相関行列の一般式を求める

## 記号の定義

まずは記号の定義をしておき、適宜利用する

```math
\begin{align}
Y & := [y_1, y_2] \\
X & := [x_1, ..., x_{m-2}] \\
D & := [Y X] \\
  & = [y_1, y_2, x_1, ..., x_{m-2}] \\
  & = [d_1, d_2, d_3, ..., d_m] \\
\end{align}
```


ここで、データ数（サンプルサイズ）を $n$ とすると、以下のように表せる
```math
\begin{align}
y_i, x_j, d_k &\in \mathbb{R}^{n} \\
i &= 1, 2 \\
j &= 1, ..., m-2 \\
k &= 1, ..., m \\
\end{align}
```

 また、各データ（変数列）の平均からの差分を $D', X', Y'$ を以下のように定義する

```math
\begin{align}
D':=D - E[D] = D - \mu_D := {[~d_i - E[d_{i}]~]_{i=1}^{m}} \\
X':=X - E[X] = X - \mu_X := {[~x_i - E[x_{i}]~]_{i=1}^{m-2}} \\
Y':=Y - E[Y] = Y - \mu_Y := {[~y_i - E[y_{i}]~]_{i=1}^{2}} \\
\end{align}
```

$X'$ の直交射影を $P$ とし、$X'$ の補空間のへの直交射影を$Q$ とすると以下が成り立つ

```math
\begin{align}
P &= X' (X'^{\mathsf{T}}X')^{-1} X'^{\mathsf{T}} \\
Q &= I - P
\end{align}
```

```math
\begin{align}
P = P^{\mathsf{T}} = P^2 \\
Q = Q^{\mathsf{T}} = Q^2
\end{align}
```

$X'$ は、一般に、矩形行列（非正方行列）であるため、正則ではないため、$(X'^{\mathsf{T}} X')^{-1}$ はこれ以上変形できない点に留意する


### 行列 P の補足


$X' (X'^{\mathsf{T}} X')^{-1} X'^{\mathsf{T}}$ は、$\min_{a \in \mathbb{R}^{m'}} \lVert y' - X'a \rVert$ という最小化問題を最小二乗法で解いた $a \in \mathbb{R}^{m'}$ を使った $Xa$ ($Im X'$ への射影を意味する) が由来である ($y' = y_1', y_2'$)
実際、最小二乗法でとくと、$a = (X'^{\mathsf{T}} X')^{-1} X'^{\mathsf{T}} y'$ が得られ、$X'a = X' (X'^{\mathsf{T}}X')^{-1} X'^{\mathsf{T}} y'$ を得る
ここで、$y'$ に対する変換部分$X' (X'^{\mathsf{T}} X')^{-1} X'^{\mathsf{T}}$ を$P$ と置くと、直交射影の性質 $P^{\mathsf{T}}=P, P=P^2$ を得る

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226427/74c7a2f3-0981-9c1e-3c0d-45c4fee9e163.png)


また、この直交射影の定義に従えば、
射影 $P$ の直交性、
```math
(P y' - y')^{\mathsf{T}} x' = -<(I - P)y', x'> = 0, \text{ for } \forall x' \in Im X \subseteq \mathbb{R}^n
```
も得られる
これは、直交射影の定義から 2つの射影 $P, Q(=I-P)$ の直交性、すなわち
```math
\forall x, y \in \mathbb{R}^n, <Px, (I-P)y> = 0
```
および、射影先のベクトル（$x \in Im X$）の射影が元のベクトルになる恒等性
```math
\forall x' \in Im X', Px' = x'
```
が成立し、これらの結果を利用すると射影 $P$ の直交性を示せる
$Im X'$ 上の恒等性（$\forall x' \in Im X', Px' = x'$）は、$P = UU^{\mathsf{T}}$ とあらわせることを利用するとよい。 ここで、$U$ は、$Im X'$ 上の正規直交基底を列ベクトルして持つ行列。 つまり、$U^T U = I$ が成立する)


ここで、$Im X'$ は、$X'$ の像で以下により定義される $\mathbb{R}^n$ の部分ベクトル空間である
i.e.
```math
Im X' := \\\{ X' \alpha | \alpha \in \mathbb{R}^{m'} \\\} = \{ \sum_{i=1}^{m'} \alpha_i x_i' | \alpha_i \in \mathbb{R}, i=1, ..., m'\} \subseteq \mathbb{R}^n
```

$X'$ は $(n, m')$ 行列であることに留意し、偏相関行列の文脈では、$m' := m-2$ である


### 直交と相関との関係

特に、これらのベクトル内積が $0$ になるという意味での「直交性」は、平均からの差分（変動）をとることで、相関係数が $0$ であることと等価であることに注意する
つまり、$X'$ への射影 $P$ は、$X$ と相関がある成分（平均からの変動、波）を抽出することに相当し、
射影 $Q$ は、$X$ と相関しない（直交する、$X$ とは無相関な）成分（平均からの変動、波）を抽出することを意味している

そして、偏相関行列は、2つの変数 $y_1', y_2'$ に対して、除外したい共変量群 $X$ (変数を列ベクトルとして並べた行列)の変動成分($X'$)が張る部分空間の直交補空間上に射影した（すなわち $Q$ で射影した、共変量 $X$ の変動・影響を除いた）2つの影ベクトル $Q y_1', Q y_2'$ の間の相関係数を成分・要素に持つ相関行列である、ということを、以下で証明を交えて見ていく



---

## 特殊なケースにおける偏相関行列の成分


特殊なケースにおいて、偏相関係数を共分散行列 $\Sigma$ の逆行列 $\Sigma^{-1}$ の分解行列の形を使って求められることを見ていこう


### 共分散行列の分割行列表現


共分散行列 $\Sigma$  は、以下のように表せる
```math
\begin{align}
T := \Sigma
	&= \frac{1}{n} D'^{\mathsf{T}} D' \\
	&= \frac{1}{n}
	\begin{bmatrix}
		Y'^{\mathsf{T}}Y' & Y'^{\mathsf{T}}X' \\
		X'^{\mathsf{T}}Y' & X'^{\mathsf{T}}X' \\
	\end{bmatrix} \\
\end{align}
```

```math
\begin{align}
\Sigma^{-1} &= n
	\begin{bmatrix}
		(A-BD^{-1}C)^{-1} & -U^{-1}BD^{-1} \\
		-D^{-1}CU^{-1} & (D-CA^{-1}B)^{-1} \\
	\end{bmatrix} \\
 &=n
	\begin{bmatrix}
		(Y'^{\mathsf{T}} Y' - (Y'^{\mathsf{T}} X')(X'^{\mathsf{T}} X')^{-1}(X'^{\mathsf{T}} Y'))^{-1} &
		\ast \\
		\ast &
		(X'^{\mathsf{T}} X' - (X'^{\mathsf{T}} Y')(Y'^{\mathsf{T}} Y')^{-1}(Y'^{\mathsf{T}} X'))^{-1} \\
	\end{bmatrix} \\
 &=n
	\begin{bmatrix}
		(Y'^{\mathsf{T}} Y' - Y'^{\mathsf{T}} X'(X'^{\mathsf{T}} X')^{-1}X'^{\mathsf{T}} Y')^{-1} &
		\ast \\
		\ast &
		(X'^{\mathsf{T}} X' - X'^{\mathsf{T}} Y'(Y'^{\mathsf{T}} Y')^{-1}Y'^{\mathsf{T}} X')^{-1} \\
	\end{bmatrix} \\
\end{align}
```


ここで、

```math
\begin{align}
P &:= X'(X'^{\mathsf{T}}X')^{-1}X'^{\mathsf{T}} \\
Q &:= I - P
\end{align}
```
であったことを思い出そう

$\Sigma^{-1}$ の分割行列の$(1, 1)$ 成分 
```math
[\Sigma^{-1}]_A = [\omega_{i, j}]_{i, j}
```
を分割行列を使って表すと

```math
\begin{align}
[\Sigma^{-1}]_{A} &= 
		\begin{bmatrix}
			w_{1, 1} &
			w_{1, 2} \\
			w_{2, 1} &
			w_{2, 2} \\
		\end{bmatrix} \\
	&= n (Y'^{\mathsf{T}} Y'-Y'^{\mathsf{T}} X' (X'^{\mathsf{T}} X')^{-1} X'^{\mathsf{T}}Y')^{-1} \\
	&= n (Y'^{\mathsf{T}} Y'-Y'^{\mathsf{T}} P Y')^{-1} \\
	&= n (Y'^{\mathsf{T}}(I -P) Y')^{-1} \\
	&= n (Y'^{\mathsf{T}}Q Y')^{-1} \\
	&= n 
		\begin{bmatrix}
			y_1' ^{\mathsf{T}} Q y_1' &
			y_1' ^{\mathsf{T}} Q y_2' \\
			y_2' ^{\mathsf{T}} Q y_1' &
			y_2' ^{\mathsf{T}} Q y_2' \\
		\end{bmatrix} ^ {-1} \\
	&= \frac{n}{y_1' ^{\mathsf{T}} Q y_1' y_2' ^{\mathsf{T}} Q y_2' - (y_1' ^{\mathsf{T}} Q y_2')^2}
		\begin{bmatrix}
			  y_2' ^{\mathsf{T}} Q y_2' &
			- y_1' ^{\mathsf{T}} Q y_2' \\
			- y_2' ^{\mathsf{T}} Q y_1' &
			  y_1' ^{\mathsf{T}} Q y_1' \\
		\end{bmatrix} \\
	&= \alpha
		\begin{bmatrix}
			  y_2' ^{\mathsf{T}} Q y_2' &
			- y_1' ^{\mathsf{T}} Q y_2' \\
			- y_2' ^{\mathsf{T}} Q y_1' &
			  y_1' ^{\mathsf{T}} Q y_1' \\
		\end{bmatrix} \\
\end{align}
```

以下の式を計算する （偏相関係数行列の成分に一致することを確認）

```math
\begin{align}
- \frac{\omega_{1, 2}}{\sqrt{\omega_{1,1}}\sqrt{\omega_{2,2}}} 
	&=  - \frac{- \alpha y_1'^{\mathsf{T}}Q y_2'}{\sqrt{\alpha y_1'^{\mathsf{T}} Q y_1'}\sqrt{\alpha y_2'^{\mathsf{T}} Q y_2'}} \\
	&= \frac{y_1'^{\mathsf{T}}Q y_2'}{\sqrt{y_1'^{\mathsf{T}} Q y_1'}\sqrt{y_2'^{\mathsf{T}} Q y_2'}} \\
	&= \gamma_{y_1,y_2|X} \\
\end{align}
```

---
## 偏相関行列の一般式

### 一般式への拡張

偏相関係数を求めたい 偏相関行列 $\Gamma$ の$(i, j)$ 成分 $\Gamma_{i, j}$ の(残りは除外する共変量として扱う)は、$(i, j)$を$(1, 2)$成分に順序を入れ替えた行列 $\Sigma$ の逆行列 $\Sigma_0^{-1}$ 上の$(2, 1)$ 成分に対応させ、元に戻すことで一般式を得られることを、以下で見ていこう

任意の(i, j)成分 $[\Sigma^{-1}]_{i,j}$ についても行入れ替えの基本行列$E_l$、列入れ替えの基本行列$E_r$ を用いて$\Sigma = E_l \Sigma_0 E_r$
(行入れ替えの基本行列は 左から掛ける$E_l$, 列の入れ替えの基本行列は 右から掛ける$E_r$ とする)
    

```math
\begin{align}
\Sigma^{-1}
	&= E_r^{-1} E_r \Sigma^{-1} E_l E_l^{-1} \\
	&= E_r^{-1} (E_r^{-1})^{-1} \Sigma^{-1} (E_l^{-1})^{-1} E_l^{-1} \\
	&= E_r^{-1} (E_l^{-1} \Sigma E_r^{-1})^{-1} E_l^{-1} \\
	&= E_r^{-1} \Sigma_{0}^{-1} E_l^{-1} \\
\end{align}
```

ここで、この $\Sigma_{0}^{-1}$ は、任意の(i, j) 成分を、基本変形により、$1, 2$ 成分に移動されたものであるため、先ほどの$\Sigma^{-1}$ とみなせる

i.e. この $\Sigma_{0}^{-1}$ の左上ブロック $\Sigma_{0|A}^{-1}$ は、


```math
\begin{align}
\Sigma_{0|A}^{-1}
	&= \alpha
		\begin{bmatrix}
			  y_2' ^{\mathsf{T}} Q y_2' &
			- y_1' ^{\mathsf{T}} Q y_2' \\
			- y_2' ^{\mathsf{T}} Q y_1' &
			  y_1' ^{\mathsf{T}} Q y_1' \\
		\end{bmatrix} ^ {-1} \\

\end{align}
```


```math
\begin{align}
\Sigma_{0}^{-1}
	&= 
		\begin{bmatrix}
			\Sigma_{0|A}^{-1} &
			\ast \\
			\ast &
			\ast \\
		\end{bmatrix} \\

	&= 
		\begin{bmatrix}
			\begin{matrix}
				  \alpha y_2' ^{\mathsf{T}} Q y_2' &
				- \alpha y_1' ^{\mathsf{T}} Q y_2' \\
				- \alpha y_2' ^{\mathsf{T}} Q y_1' &
				  \alpha y_1' ^{\mathsf{T}} Q y_1' \\
			\end{matrix}
			&
			\ast \\
			\ast &
			\ast \\
		\end{bmatrix} \\
\end{align}
```

```math
\begin{align}
\Sigma^{-1}
	&= E_r^{-1} \Sigma_{0}^{-1} E_l^{-1} \\
	&= E_r^{-1} 
		\begin{bmatrix}
			\begin{matrix}
				  \alpha y_2' ^{\mathsf{T}} Q y_2' &
				- \alpha y_1' ^{\mathsf{T}} Q y_2' \\
				- \alpha y_2' ^{\mathsf{T}} Q y_1' &
				  \alpha y_1' ^{\mathsf{T}} Q y_1' \\
			\end{matrix}
			&
			\ast \\
			\ast &
			\ast \\
		\end{bmatrix}
		E_l^{-1} \\
	&= 
		\begin{bmatrix}
			\ast  &  \ast  &  \ast  &  \ast  &  \ast \\
			\ast &   \alpha y_2' ^{\mathsf{T}} Q y_2' &
			\ast & - \alpha y_1' ^{\mathsf{T}} Q y_2' & \ast \\
			\ast  &  \ast  &  \ast  &  \ast  &  \ast \\
			\ast & - \alpha y_2' ^{\mathsf{T}} Q y_1' & \ast &
				     \alpha y_1' ^{\mathsf{T}} Q y_1' & \ast \\
			\ast  &  \ast  &  \ast  &  \ast  &  \ast \\
		\end{bmatrix} \\
	&= 
		\begin{bmatrix}
			\ast  &  \ast  &  \ast  &  \ast  &  \ast \\
			\ast &   \alpha d_j' ^{\mathsf{T}}Q d_j' &
			\ast & - \alpha d_i' ^{\mathsf{T}}Q d_j' & \ast \\
			\ast  &  \alpha \ast  &  \ast  &  \ast  &  \ast \\
			\ast & - \alpha d_j' ^{\mathsf{T}}Q d_i' & \ast &
				     \alpha d_i' ^{\mathsf{T}}Q d_i' & \ast \\
			\ast  &  \ast  &  \ast  &  \ast  &  \ast \\
		\end{bmatrix} \\
\end{align}
```

ここで、$\alpha$ は、$d_i, d_j$ に依存して定まることに注意しておく（区別したい場合は、$\alpha = \alpha_{i, j}$ 等とする）

以上より、

```math
\begin{align}
[\Sigma_{0}^{-1}]_{i, j} = [\omega_{i, j}]_{i, j}
	= \left \{
		\begin{array}{cc}
			   \alpha d_i'^{\mathsf{T}} Q d_j' & \text{if } i = j \\
			 - \alpha d_i'^{\mathsf{T}} Q d_j' & \text{if } i \neq j \\
		\end{array}
	\right . \\
	= (-1)^{\delta_{i,j} + 1} d_i'^{\mathsf{T}} Q d_j' \\
\end{align}
```


ここで、$\delta_{i, j}$ は、クロネッカーのデルタを表し、以下のように定義されることに注意しておく

```math
\begin{align}
\delta_{i, j}
	:= \left \{
		\begin{array}{cc}
			 1 & \text{if } i = j \\
			 0 & \text{if } i \neq j \\
		\end{array}
	\right . \\
\end{align}
```


偏相関係数を求めたい$(j, i)$ 成分 $[\gamma_{d_i, d_j|others}] = [\gamma_{d_i, d_j|d_k:k \neq i, j}]$ は、共分散行列 $\Sigma$ の $(i, j)$を$(1, 2)$成分に順序を入れ替えた行列 $\Sigma_0$ の逆行列 $\Sigma_0^{-1}$ 上の$(2, 1)$ 成分に対応させ、元に戻すことで 共分散行列の逆行列の各成分 $w_{i,j}$ と$d_i, d_j$ の関係($w_{i,j} = (-1)^{\delta_{i,j}+1}\alpha 
 d_i^{\mathsf{T}} Q d_j$)を導出できる

この導出した関係を利用して、偏相関係数の各成分を表現すると、偏相関行列を共分散行列の成分を用いた一般式を得られるということである

つまり、以下の式を得る

```math
\begin{align}
&   (-1)^{\delta_{i,j}+1} \frac{\omega_{i, j}}{\sqrt{\omega_{i, i}}\sqrt{\omega_{j, j}}} \\
& = (-1)^{\delta_{i,j}+1} \frac{(-1)^{\delta_{i,j}+1} \alpha d_i'^{\mathsf{T}} Q d_j'}{\sqrt{\alpha d_i'^{\mathsf{T}} Q d_i'}\sqrt{\alpha d_j'^{\mathsf{T}} Q d_j'}} \\
& = \frac{d_i'^{\mathsf{T}} Q d_j'}{\sqrt{d_i'^{\mathsf{T}} Q d_i'}\sqrt{d_j'^{\mathsf{T}} Q d_j'}} \\
& = \frac{<d_i', Q d_j'>}{\sqrt{<d_i', Q d_i'>}\sqrt{d_j', Q d_j'}} \\
& = \frac{<Q d_i', Q d_j'>}{\sqrt{<Q d_i', Q d_i'>}\sqrt{Q d_j', Q d_j'}} \\
& = \frac{<Q d_i', Q d_j'>}{\lVert Q d_i' \rVert ~ \lVert Q d_j' \rVert} \\
&= \gamma_{d_i', d_j'|X} = \gamma_{i, j} \\
\end{align}
```

ここで、$Q$ は、$i, j$ に依存($d_i', d_j'$ に依存)して定まることに注意する
(i.e. 区別したいときは $Q = Q^{(i, j)}$ などのように記述するとよい)


偏相関行列 
```math
\Gamma = [\gamma_{i, j}]_{i, j} = [\gamma_{d_i, d_j | others}]_{i, j}
```
は、共分散行列 $\Sigma$ を用いると以下のように表せる

```math
\begin{align}
\Gamma &= [\gamma_{i, j}]_{i, j} \\
& = [(-1)^{\delta_{i,j}+1} \frac{\omega_{i, j}}{\sqrt{\omega_{i, i}}\sqrt{\omega_{j, j}}}]_{i, j} \\
& = diag (\Sigma^{-1})^{- \frac{1}{2}} \Sigma^{-1} diag (\Sigma^{-1})^{- \frac{1}{2}} \odot [(-1)^{\delta _{i, j} + 1}]_{i, j} \\
& = - diag (\Sigma^{-1})^{- \frac{1}{2}} \Sigma^{-1} diag (\Sigma^{-1})^{- \frac{1}{2}} \odot [(-1)^{\delta _{i, j}}]_{i, j} \\
& = - diag (\Sigma^{-1})^{- \frac{1}{2}} \Sigma^{-1} diag (\Sigma^{-1})^{- \frac{1}{2}} \odot (-1)^{I} \\
\end{align}
```

ここで、 $\odot$ を アダマール積とし、$(-1)^{I}$ を、

```math
\begin{align}
(-1)^I &:= (-1)^{[\delta_{i, j}]_{i, j}} \\

&= (-1)^{
	\begin{bmatrix}
	1 & 0 & \cdots & 0 & \cdots & 0 \\
	0 & 1 & \cdots & 0 & \cdots & 0 \\
	\vdots & \vdots & \ddots & \vdots & \cdots & \vdots \\
	0 & 0 & \cdots & 1 & \cdots & 0 \\
	\vdots & \vdots & \cdots & \vdots & \ddots & \vdots \\
	0 & 0 & \cdots & 0 & \cdots & 1 \\
	\end{bmatrix}
} \\
\\
&=
	\begin{bmatrix}
	-1 & 1 & \cdots & 1 & \cdots & 1 \\
	1 & -1 & \cdots & 1 & \cdots & 1 \\
	\vdots & \vdots & \ddots & \vdots & \cdots & \vdots \\
	1 & 1 & \cdots & -1 & \cdots & 1 \\
	\vdots & \vdots & \cdots & \vdots & \ddots & \vdots \\
	1 & 1 & \cdots & 1 & \cdots & -1 \\
	\end{bmatrix}
\end{align}
```
とする


とくに、アダマール積を使う代わりに、
```math
- diag (\Sigma^{-1})^{- \frac{1}{2}} \Sigma^{-1} diag (\Sigma^{-1})^{- \frac{1}{2}}
```
の対角成分$(i, i)$ を $1$ に強制的に変更することで、代用しても同じ結果が得られる
cf. pingouin の pcorr() の実装 : [pingouin.pcorr](https://pingouin-stats.org/build/html/generated/pingouin.pcorr.html#pingouin.pcorr),  [pingouin/pingouin/correlation.py pcorr()](https://github.com/raphaelvallat/pingouin/blob/master/pingouin/correlation.py#L913)


---

# 補足 (利用定理の証明)


## 逆行列の分割行列による表現


```math
\begin{align}
T
 &:=\begin{bmatrix}
		A & B \\
		C & D \\
	\end{bmatrix} \\
 &= \begin{bmatrix}
		I & O \\
		CA^{-1} & I \\
	\end{bmatrix}
	\begin{bmatrix}
		A & O \\
		O & S \\
	\end{bmatrix}
	\begin{bmatrix}
		I & A^{-1}B \\
		O & I \\
	\end{bmatrix}
\end{align}
```


```math
S := D-CA^{-1}B \\
```



```math
\begin{align}
T^{-1}
 &:=\begin{bmatrix}
		A & B \\
		C & D \\
	\end{bmatrix}^{-1} \\
 &= \left ( \begin{bmatrix}
		I & O \\
		CA^{-1} & I \\
	\end{bmatrix}
	\begin{bmatrix}
		A & O \\
		O & S \\
	\end{bmatrix}
	\begin{bmatrix}
		I & A^{-1}B \\
		O & I \\
	\end{bmatrix}
 \right ) ^ {-1} \\
 &= 
	\begin{bmatrix}
		I & A^{-1}B \\
		O & I \\
	\end{bmatrix} ^ {-1}
	\begin{bmatrix}
		A & O \\
		O & S \\
	\end{bmatrix} ^ {-1}
	\begin{bmatrix}
		I & O \\
		CA^{-1} & I \\
	\end{bmatrix} ^ {-1}
  \\
 &= 
	\begin{bmatrix}
		I & - A^{-1}B \\
		O & I \\
	\end{bmatrix}
	\begin{bmatrix}
		A^{-1} & O \\
		O & S^{-1} \\
	\end{bmatrix}
	\begin{bmatrix}
		I & O \\
		- CA^{-1} & I \\
	\end{bmatrix}
  \\
 &= 
	\begin{bmatrix}
		A^{-1} & - A^{-1}BS^{-1} \\
		O & S^{-1} \\
	\end{bmatrix}
	\begin{bmatrix}
		I & O \\
		- CA^{-1} & I \\
	\end{bmatrix}
  \\
 &= 
	\begin{bmatrix}
		A^{-1} + A^{-1}BS^{-1}CA^{-1} & -A^{-1}BS^{-1} \\
		-S^{-1}CA^{-1} & S^{-1} \\
	\end{bmatrix}
  \\
\end{align}
```

一方、


```math
\begin{align}
T
 &:=\begin{bmatrix}
		A & B \\
		C & D \\
	\end{bmatrix} \\
 &= \begin{bmatrix}
		I & BD^{-1} \\
		O & I \\
	\end{bmatrix}
	\begin{bmatrix}
		U & O \\
		O & D \\
	\end{bmatrix}
	\begin{bmatrix}
		I & O \\
		D^{-1}C & I \\
	\end{bmatrix}
\end{align}
\tag {1}
```
としても分解できる


ここで、

```math
U := A - BD^{-1}C
```

すると、


```math
\begin{align}
T^{-1}
 &:=\begin{bmatrix}
		A & B \\
		C & D \\
	\end{bmatrix}^{-1} \\
 &= \left ( \begin{bmatrix}
		I & BD^{-1} \\
		O & I \\
	\end{bmatrix}
	\begin{bmatrix}
		U & O \\
		O & D \\
	\end{bmatrix}
	\begin{bmatrix}
		I & O \\
		D^{-1}C & I \\
	\end{bmatrix}
 \right ) ^ {-1} \\
 &= 
	\begin{bmatrix}
		I & O \\
		D^{-1}C & I \\
	\end{bmatrix} ^ {-1}
	\begin{bmatrix}
		U & O \\
		O & D \\
	\end{bmatrix} ^ {-1}
	\begin{bmatrix}
		I & BD^{-1} \\
		O & I \\
	\end{bmatrix} ^ {-1}
  \\
 &= 
	\begin{bmatrix}
		I & O \\
		- D^{-1}C & I \\
	\end{bmatrix}
	\begin{bmatrix}
		U^{-1} & O \\
		O & D^{-1} \\
	\end{bmatrix}
	\begin{bmatrix}
		I & - BD^{-1} \\
		O & I \\
	\end{bmatrix}
  \\
 &= 
	\begin{bmatrix}
		U^{-1} & O \\
		-D^{-1}CU^{-1} & D^{-1} \\
	\end{bmatrix}
	\begin{bmatrix}
		I & - BD^{-1} \\
		O & I \\
	\end{bmatrix}
  \\
 &= 
	\begin{bmatrix}
		U^{-1} & -U^{-1}BD^{-1} \\
		-D^{-1}CU^{-1} & D^{-1} + D^{-1}CU^{-1}BD^{-1} \\
	\end{bmatrix}
  \\
\end{align}
\tag {2}
```


式 (1) = 式(2) であることに踏まえ、
```math
\begin{align}
S := D-CA^{-1}B \\
U := A - BD^{-1}C \\
\end{align}
```
を適用すると


```math
\begin{align}
T^{-1} &= 
	\begin{bmatrix}
		U^{-1} & -U^{-1}BD^{-1} \\
		-D^{-1}CU^{-1} & S^{-1} \\
	\end{bmatrix} \\
 & =
	\begin{bmatrix}
		(A-BD^{-1}C)^{-1} & -U^{-1}BD^{-1} \\
		-D^{-1}CU^{-1} & (D-CA^{-1}B)^{-1} \\
	\end{bmatrix}
\end{align}
```



## A = O の証明


$A$ を、$n$ 次正方行列とするとき、 $x^{\mathsf{T}} Ay = 0 \text{ for } \forall x, \forall y \in \mathbb{R}^n$ ならば $A = O = [0]_{i,j}$ 

$x := e_i, y := e_j$ とする

```math
\begin{align}
\text{for } \forall i, \forall j &\in \{1, ..., n\}, \\
x^{\mathsf{T}} A y &= 0 \\
e_i^{\mathsf{T}} A e_j &= 0 \\
\therefore a_{ij} &= 0 \\
\\
i, j は & 任意であったので\\
\therefore A &= O \\
\end{align}
```

---

## 直交射影の同値条件の証明


```math
\begin{align}
& P^2 = P, P^{\mathsf{T}} = P \\
& \iff \\
& \forall x, \forall y \in \mathbb{R}^n, <Px, (I-P)y> = 0 \\
\end{align}
```

($\Rightarrow$)

```math
\begin{align}
& \text{for } \forall x, \forall y \in \mathbb{R}^n, \\
& <Px, (I - P) y> \\
&= (Px)^{\mathsf{T}} (I - P) y \\
&= x^{\mathsf{T}} P^{\mathsf{T}} (I - P) y \\
&= x^{\mathsf{T}} P^{\mathsf{T}} (I - P) y \\
&= x^{\mathsf{T}} (P^{\mathsf{T}}  - P^{\mathsf{T}} P) y \\
&= x^{\mathsf{T}} (P  - P P) y \\
&= x^{\mathsf{T}} (P  - P^2) y \\
&= x^{\mathsf{T}} O y \\
&= 0 \\
\end{align}
```


($\Leftarrow$)

```math
\begin{align}
<Px, (I - P) y> & = 0 \\
(Px)^{\mathsf{T}} (I - P) y & = 0 \\
x^{\mathsf{T}} P^{\mathsf{T}} (I - P) y & = 0 \\
x^{\mathsf{T}} P^{\mathsf{T}} (I - P) y & = 0 &, \text{ for } \forall x, \forall y \in \mathbb{R}^n \\
\\
x, y は、&任意であったので\\
\therefore P^{\mathsf{T}} (I - P) &= O \\
P^{\mathsf{T}} - P^{\mathsf{T}} P &= O \\
P^{\mathsf{T}} - P^{\mathsf{T}} P &= O \\
P^{\mathsf{T}} &= P^{\mathsf{T}} P \tag{1} \\
\\
両辺の転置をとる \\
\therefore (P^{\mathsf{T}})^{\mathsf{T}} &= (P^{\mathsf{T}} P)^{\mathsf{T}} \\
P &= P^{\mathsf{T}} (P^{\mathsf{T}})^{\mathsf{T}} \\
P &= P^{\mathsf{T}} P \\
 &= P^{\mathsf{T}} \\
\therefore P^{\mathsf{T}} &= P \tag{2} \\
\\
by (1), (2), P^{\mathsf{T}} &= P^{\mathsf{T}} P, P^{\mathsf{T}} = P \\
 P^{\mathsf{T}} &= P^{\mathsf{T}} P \\
 P &= P P \\
 &= P^2 \\
\therefore P &= P^2 \\
i.e. P^{\mathsf{T}} = P, P^2 = P \\
\end{align}
```



---

# まとめ

- 偏相関行列 $\Gamma = [\gamma_{i, j}]_{i, j}$ を、共分散行列 $\Sigma$ の逆行列$\Sigma^{-1}$を使って表せることがわかった
$$
\Gamma = - diag (\Sigma^{-1})^{- \frac{1}{2}} \Sigma^{-1} diag (\Sigma^{-1})^{- \frac{1}{2}} \odot (-1)^{I}
$$
- この式により、Python の偏相関ライブラリ pingouin のpcorr 関数の妥当性も同時に確認できる
- また、直交射影の定義や性質を整理し、証明を構築することで実際の射影の意味として妥当であることも確認できた
	- 直交射影の定義により、射影として望ましい性質が満たされている点も確認できた
		- 特に、$Im X$ 上のベクトル $x$ の射影は元の$x$ のままという性質: $\forall x \in Im X, Px = x$
	- 直交射影による像が、最小二乗法の解との関係がある点についても興味深いと感じた
- ChatGPT 先生と議論することで、検索で見つけがたかった曖昧だった定理を改めて導出できた
	- 間違った命題から始めたが、証明ステップを見ていくうちに正しい命題(定理)にたどり着いたのが、興味深かった
	- GPTs で、数学議論用のアシスタントボットを作成してみました
		- https://chat.openai.com/g/g-u6n1bWbDy-mathtermind
- 以上、諸々勉強になり深い理解につながりました



---

## おまけ：ChatGPT 先生と証明論議の軌跡と奇跡

以下の証明の命題にたどり着く奇跡と証明のための論議の軌跡です。

$P$ を n次正方行列 とするとき、以下が成り立つことを示してくれますか？
$P^2 = P, P^{\mathsf{T}} = P \iff \forall x, y \in \mathbb{R}^n, <Px, (I-P)y> = 0$

$A$ を、$n$ 次正方行列とするとき、 $x^{\mathsf{T}} Ax = 0 \text{ for } \forall x \in \mathbb{R}^n$ ならば $A = 0$ を示してくれますか？


- 誤った証明
	- [直交射影の定義](https://chat.openai.com/share/6ad2e53a-b3a8-4ca0-acac-5bce49449f56)
	
- ↑を踏まえて誤った証明から改善
	- [証明： $A = 0$](https://chat.openai.com/share/716d9883-26dd-4851-a51a-5738b5572927)
	
- ↑を踏まえて誤った証明から正しい証明へ
	- [行列 \( A \) の特性](https://chat.openai.com/share/8e569770-3743-4667-b75a-f16304b40973)


---

# 続編 

[公開！週末研究ノート１１　ー　偏相関行列の直交射影と重回帰モデルの関係](https://qiita.com/tkosht/items/82af40c4deadec316c8b) も、ぜひ ご覧ください！（実機検証もあるよ！）



---

# 参考文献


- 偏相関係数の一般式
	- https://www.educa.nagoya-u.ac.jp/~ishii-h/materials/partial_correlation.pdf
	- https://zenn.dev/msrn_yossy/articles/dc5d39003b7eb6

- 偏相関係数の一般式の導出(逆行列利用)を理解するのに必要な知識
	- 分割行列の逆行列
		- https://manabitimes.jp/math/1203
		- https://pseudo-theory-of-everything.hatenablog.com/entry/2020/01/27/070000
	
	- 行列の基本変形・基本行列 (行入れ替え、列入れ替え）
		- https://mathlandscape.com/elementary-matrix/
	
	- 直交射影の定義
		- https://cognicull.com/ja/bfhdbclc
		- https://math-fun.net/20210620/15275/
	
	- 最小二乗法 ($P=X(X^{\mathsf{T}}X)^{-1}X^{\mathsf{T}}$ の起源について / 最小二乗法の意味と射影)
		- https://www.iwanttobeacat.com/entry/2018/01/13/221840
		- https://math-fun.net/20210716/16308/