静粛に、只今統計勉強中

仕事でデータ分析をすることになったバリバリ文系アラフィフのおっさんが、独学で統計の勉強を始めました。

偏相関係数は残差の相関係数だった3


前回、統計検定2級試験の2018年6月 問2で取り上げられたデータを使って、実際に、常設映画館数と一般病院病床数を各々人口に回帰させる単回帰モデルを最小二乗法で推定した時の残差、 e1とe2相関係数が、偏相関係数の定義
 r_{12・3}=\dfrac{r_{12}-r_{13}r_{23}}{\sqrt{1-r_{13}^2}\sqrt{1-r_{23}^2}}
で求められる値と一致することを確かめることができました。

今回は、このことが数理の上でも証明されることを確認してみたいと思います。

導出のプロセスを勉強にするにあたっては、こちら

のPDF「VI-1-2. 偏相関分析」を参考にさせていただきました。ありがとうございました。

 

最初に、3つの変数を偏差(平均値を差し引いた値)に変えてしまいます。
これで、各データのベクトルはそのままに、平均が0になるわけですね。

f:id:cyclo-commuter:20190626143645p:plain f:id:cyclo-commuter:20190624145314p:plain

3変数の偏差をそれぞれ  x,y,z とすると、上の式は以下のとおりとなります。

 r_{xy・z}=\dfrac{r_{xy}-r_{xz}r_{yz}}{\sqrt{1-r_{xz}^2}\sqrt{1-r_{yz}^2}}

また、残差を求める数式を

 e1 = x - a - b × z \quad (\hat x =a + b × z)

 e2 = y - c - d × z \quad (\hat y =c + d × z)

とします。

このとき、 a,b,c,dは、それぞれ以下であることが知られています。(ただし、 SS_{xz}はxとzの偏差積和、 SS_{zz}はzの偏差平方和を表し、以下同様です。)

 b= \dfrac{SS_{xz}}{SS_{zz}}

 a= \bar x - b \bar z

 d= \dfrac{SS_{yz}}{SS_{zz}}

 c= \bar y - b \bar z

よって、 残差 e1,e2は、それぞれ

 e1 = x - (\bar x - b \bar z) - \dfrac{SS_{xz}}{SS_{zz}} × z

 e2 = y - (\bar y - b \bar z) - \dfrac{SS_{yz}}{SS_{zz}} × z

と表すことができます。

しかし、偏差である x,y,zは平均が0なので、

 e1 = x - \dfrac{SS_{xz}}{SS_{zz}} × z

 e2 = y - \dfrac{SS_{yz}}{SS_{zz}} × z

というふうに、あらかじめ切片を除いておけます。
最初に変数を偏差にしておくことで、式変換がめちゃめちゃ楽になるわけですね!

 

求めたいのは残差 e1,e2相関係数ですから、

 r_{e1e2}=\dfrac{SS_{e1e2}}{\sqrt{SS_{e1e1}}\sqrt{SS_{e2e2}}}

となります。分子と分母をそれぞれ式変換していきます。

 

まず分子から。 e1,e2の偏差積和 SS_{e1e2}は、

 SS_{e1e2}=\sum_{i-1}^n(x_i-\hat x_i)(y_i-\hat y_i)

と表すことができます。が、 nとiの表記は煩雑なので、これ以降は省略させていただきます。

 SS_{e1e2}=\sum(x-\hat x)(y-\hat y)=\sum\left(x-\dfrac{SS_{xz}}{SS_{zz}}z\right)\left(y-\dfrac{SS_{yz}}{SS_{zz}}z\right)

右辺のカッコを開くと、

 S_{e1e2}=\sum xy - \sum x\dfrac{SS_{yz}}{SS_{zz}}z - \sum y\dfrac{SS_{xz}}{SS_{zz}}z + \sum\dfrac{SS_{xz}}{SS_{zz}}z\dfrac{SS_{yz}}{SS_{zz}}z

ここでも、変数を偏差にしておいたことが効いてきます。

 S_{e1e2}=SS_{xy} - \dfrac{SS_{xz}SS_{yz}}{SS_{zz}} -\dfrac{SS_{xz}SS_{yz}}{SS_{zz}} + \dfrac{SS_{xz}SS_{yz}}{SS_{zz}}

 =SS_{xy} - \dfrac{SS_{xz}SS_{yz}}{SS_{zz}}

 

次に、分母の \sqrt{ }の中を式変換します。

 SS_{e1e1}=\sum(x-\hat x)^2=\sum\left(x-\dfrac{SS_{xz}}{SS_{zz}}z\right)^2

 =\sum x^2 - 2\sum x\dfrac{SS_{xz}}{SS_{zz}}z + \sum\dfrac{SS_{xz}^2}{SS_{zz}^2}z^2

 =SS_{xx} - 2\dfrac{SS_{xz}^2}{SS_{zz}} + \dfrac{SS_{xz}^2}{SS_{zz}}

 =SS_{xx} - \dfrac{SS_{xz}^2}{SS_{zz}}

同様に、

 SS_{e2e2}=SS_{yy} - \dfrac{SS_{yz}^2}{SS_{zz}}

 

ここで困ったことに、黒倉先生のPDFでは線形代数行列式)を使って、私が求めたいのとは別の数式に導いてしまいます。*1

なので、今度はこちらのWEBサイト

を参考にさせていただきます。といっても最後のほうだけですが・・・

 

さて、分子をさらに式変換します。

 SS_{e1e2}=\dfrac{SS_{xy}}{\sqrt{SS_{xx}}\sqrt{SS_{yy}}}\sqrt{SS_{xx}}\sqrt{SS_{yy}}-\dfrac{SS_{xz}SS_{yz}}{\sqrt{SS_{zz}}\sqrt{SS_{zz}}\sqrt{SS_{xx}}\sqrt{SS_{yy}}}\sqrt{SS_{xx}}\sqrt{SS_{yy}}

 =r_{xy}\sqrt{SS_{xx}}\sqrt{SS_{yy}}-\dfrac{SS_{xz}}{\sqrt{SS_{xx}}\sqrt{SS_{zz}}}\dfrac{SS_{yz}}{\sqrt{SS_{yy}}\sqrt{SS_{zz}}}\sqrt{SS_{xx}}\sqrt{SS_{yy}}

 =r_{xy}\sqrt{SS_{xx}}\sqrt{SS_{yy}}-r_{xz}r_{yz}\sqrt{SS_{xx}}\sqrt{SS_{yy}}

 =(r_{xy}-r_{xz}r_{yz})\sqrt{SS_{xx}}\sqrt{SS_{yy}}

 \dfrac{\sqrt{SS_{xx}}\sqrt{SS_{yy}}}{\sqrt{SS_{xx}}\sqrt{SS_{yy}}}を掛けることで、相関係数を含む式に変換することができました!

 

同様に、分母も。

 \sqrt{SS_{e1e1}}\sqrt{SS_{e2e2}}=\sqrt{SS_{xx} - \dfrac{SS_{xz}^2}{SS_{zz}}}\sqrt{SS_{yy} - \dfrac{SS_{yz}^2}{SS_{zz}}}\dfrac{\sqrt{SS_{xx}}\sqrt{SS_{yy}}}{\sqrt{SS_{xx}}\sqrt{SS_{yy}}}

 =\sqrt{\dfrac{SS_{xx}}{SS_{xx}} - \dfrac{SS_{xz}^2}{SS_{xx}SS_{zz}}}\sqrt{\dfrac{SS_{yy}}{SS_{yy}} - \dfrac{SS_{yz}^2}{SS_{yy}SS_{zz}}}\sqrt{SS_{xx}}\sqrt{SS_{yy}}

 =\sqrt{1-r_{xz}^2}\sqrt{1-r_{yz}^2}\sqrt{SS_{xx}}\sqrt{SS_{yy}}

 

以上を r_{e1e2}を求める式に代入すると、

 r_{e1e2}=\dfrac{(r_{xy}-r_{xz}r_{yz})\sqrt{SS_{xx}}\sqrt{SS_{yy}}}{\sqrt{1-r_{xz}^2}\sqrt{1-r_{yz}^2}\sqrt{SS_{xx}}\sqrt{SS_{yy}}}

 =\dfrac{r_{xy}-r_{xz}r_{yz}}{\sqrt{1-r_{xz}^2}\sqrt{1-r_{yz}^2}}

 

というわけで、なんとか証明できました!

いやあ、苦労した~。

こうして自分の手で確認してみると、赤本や『統計学基礎』って不親切だよな、とか思っちゃいますね。

相関係数について言えば、回帰分析の説明の前に持ってくるのは大間違いだよ! と声を大にして言いたいですねえ。

*1:線形代数が、既に私のキャパを超えてもいるのですが・・・