QCプラネッツ 品質のプロフェッショナルを育成するサイト

偏相関係数が導出できる

重回帰分析

「偏相関係数の導出がわからない」と困っていませんか?

こういう疑問に答えます。

本記事のテーマ

偏相関係数が導出できる

おさえておきたいポイント

  • ①偏相関係数とは
  • ➁偏相関係数が導出できる
  • ➂偏相関係数を計算する

①偏相関係数とは

偏相関係数とは

変数\(x\)と変数\(y\)はある程度の相関関係があり、
変数\(x\)と変数\(z\)にもある程度の相関関係があるとします。

その場合、変数\(y\)と変数\(z\)の間にも相関関係がありますが、
変数\(x\)の影響が含まれています。

変数\(x\)の影響を含まない、
変数\(y\)と変数\(z\)の相関関係を
偏相関係数といいます。

図で描くと、下図のイメージです。

偏相関係数

偏相関係数の式

偏相関係数の式は下の式になります。

\(ρ_{yz,x}\)=\(\frac{ρ_{yz}-ρ_{xy}ρ_{xz}}{\sqrt{1-ρ_{xy}^2} \sqrt{1-ρ_{xz}^2}}\)

でも、

なんじゃこりゃ!
公式暗記も厳しい!

なので、

導出過程を理解して
偏相関係数の式を理解しましょう。

➁偏相関係数が導出できる

偏相関係数の式の理解する方法

導出過程は以下のとおりです。流れで理解しましょう。

  1. \(y(x)\),\(z(x)\)の回帰式を作る
  2. 相関係数\(ρ\),標準偏差\(σ\)と平方和\(S\)の関係式を駆使して、相関係数\(ρ\)だけで表現した偏相関係数の式を求める
  3. \(y(x)\),\(z(x)\)の残差(\(x\)に影響しない誤差の部分)どうしの相関係数が偏相関係数である

では、導出していきます。

1.回帰式を作る

\(y\),\(z\)について\(x\)についての回帰モデルを作ります。その残差を\(y’\),\(z’\)とします。

回帰式を書くと、それぞれ
●\(\hat{y}\)=\(\bar{y}\)+\(a(x-\bar{x})\)
●\(\hat{z}\)=\(\bar{z}\)+\(b(x-\bar{x})\)
になります。これは単回帰分析の領域なので簡単ですね。

なお、\(y\),\(z\)と回帰成分\(\hat{y}\),\(\hat{z}\)と残差成分\(y’\),\(z’\)には、
●\(y\)=\(\hat{y}\)+\(y’\)
●\(z\)=\(\hat{z}\)+\(z’\)
の関係があるので、

残差を\(y’\),\(z’\)は
●\(y’\)=\(y\)-(\(\bar{y}\)+\(a(x-\bar{x})\))
●\(z’\)=\(z\)-(\(\bar{z}\)+\(b(x-\bar{x})\))
となります。この式を使っていきます。

2.関係式をまとめる

相関係数\(ρ\)、標準偏差\(σ\)、平方和\(S\)の関係式

相関係数\(ρ\)、標準偏差\(σ\)、平方和\(S\)の関係式を挙げます。導出できるので、暗記不要です。

相関係数\(ρ\)は2者間つまり単回帰分析の相関係数なので、
\(ρ_{xy}\)=\(\frac{S_{xy}}{\sqrt{S_{xx}}\sqrt{S_{yy}}}\)
ですね。これは簡単です。

ここで、平方和の式を展開すると、
●\(S_{xx}\)=\(\sum_{i=1}^{n}(x_i-\bar{x})^2\)=\(nσ_x^2\)
●\(S_{yy}\)=\(\sum_{i=1}^{n}(y_i-\bar{y})^2\)=\(nσ_y^2\)
(平方和を個数で割ると、分散。分散の平方根は標準偏差の関係を式にしています。

すると、
\(ρ_{xy}\)=\(\frac{S_{xy}}{\sqrt{S_{xx}}\sqrt{S_{yy}}}\)
\(ρ_{xy}\)=\(\frac{S_{xy}}{\sqrt{n} σ_x \sqrt{n}σ_y }\)
よって
\(S_{xy}\)=\(ρ_{xy} n σ_x σ_y\)
となります。

回帰式の傾き\(a,b\)を\(ρ,σ\)で表現

また、回帰式の傾き\(a,b\)を\(ρ,σ\)で表現します。
●\(a\)=\(\frac{S_{xy}}{S_{xx}}\)
=\(\frac{ρ_{xy} n σ_x σ_y }{ nσ_x^2}\)=\(ρ_{xy}\frac{σ_y}{σ_x}\)
●\(b\)=\(\frac{S_{xz}}{S_{xx}}\)
=\(\frac{ρ_{xz} n σ_x σ_z }{ nσ_x^2}\)=\(ρ_{xz}\frac{σ_z}{σ_x}\)
と表現します。

関係式をまとめます。あとで必要なので、

【関係式】
(1)平方和について
●\(S_{xx}\)=\(nσ_x^2\)
●\(S_{yy}\)=\(nσ_y^2\)
●\(S_{xy}\)=\(ρ_{xy} n σ_x σ_y\)
(2)傾きについて
●\(a\)=\(ρ_{xy}\frac{σ_y}{σ_x}\)
●\(b\)=\(ρ_{xz}\frac{σ_z}{σ_x}\)

では、偏相関係数の式を導出します。

3.偏相関係数を導出する

偏相関係数を導出する最初の式は
\(y’\)と\(z’\)の相関係数を求める式なので、単純に
\(ρ_{y’z’}\)=\(\frac{S_{y’z’}}{\sqrt{S_{y’y’} S_{z’z’}}}\) (式1)

あとは、平方和\( S_{y’y’}\),\( S_{z’z’}\), \( S_{y’z’}\)を\(ρ\)だけの式になるように変形していきます。

平方和の式を整理

(式1)において、平方和を展開します。
●\( S_{y’y’}\)=\(\sum_{i=1}^{n}(y’_i-\bar{y’})^2\)
=\(\sum_{i=1}^{n}(y’_i)^2\)
(ここで、残差の平均\(\bar{y’}\)は0になります)
=\(\sum_{i=1}^{n}((y-\bar{y})-a(x-\bar{x}))^2\)
=\(\sum_{i=1}^{n}(y-\bar{y})^2\)-\(2a\sum_{i=1}^{n}(y-\bar{y})(x-\bar{x})\)+\(a^2\sum_{i=1}^{n}(x-\bar{x})^2\)

よく見ると、それぞれ
=\(S_{yy}\)-\(2aS_{xy}\)+\(a^2S_{xx}\)
\(S\)を\(ρ,σ\)で表現すると、
=\(nσ_y^2\)-\(2aρ_{xy} n σ_x σ_y\)+\(a^2 nσ_x^2\)
\(a\)を\(ρ,σ\)で表現すると、
=\(nσ_y^2\)-\(2(ρ_{xy}\frac{σ_y}{σ_x})ρ_{xy} n σ_x σ_y\)+\((ρ_{xy}\frac{σ_y}{σ_x})^2 nσ_x^2\)
=\(nσ_y^2\)-\(2ρ_{xy}^2 n σ_y\)+\(ρ_{xy}^2 σ_y^2 n\)
=\(nσ_y^2 (1-ρ_{xy}^2)\)
となります。

同様に
●\( S_{z’z’}\)=\(nσ_z^2 (1-ρ_{xz}^2)\)
とy→zに変えるだけでOKです。

●\( S_{z’y’}\)=\(\sum_{i=1}^{n}(y’_i-\bar{y’})(z’_i-\bar{z’})\)
=\(\sum_{i=1}^{n}y’_i z’_i\)
(ここで、残差の平均\(\bar{y’}\),\(\bar{z’}\)は0になります)
=\(\sum_{i=1}^{n}((y-\bar{y})-a(x-\bar{x}))((z-\bar{z})-b(x-\bar{x}))\)
=\(\sum_{i=1}^{n}(y-\bar{y})(z-\bar{z})\)-\(b\sum_{i=1}^{n}(y-\bar{y})(x-\bar{x})\)
-\(a\sum_{i=1}^{n}(x-\bar{x})(z-\bar{z})\)+\(ab\sum_{i=1}^{n}(x-\bar{x})^2\)
=\(S_{yz}\)-\(bS_{xy}\)-\(aS_{xz}\)+\(abS_{xx}\)
\(S\)を\(ρ,σ\)で表現すると、
=\(ρ_{yz} n σ_y σ_z\)-\(bρ_{xy} n σ_x σ_y\)-\(aρ_{xz} n σ_x σ_z\)+\(abnσ_x^2\)
\(a,b\)を\(ρ,σ\)で表現すると、
=\(ρ_{yz} n σ_y σ_z\)-\(ρ_{xz}\frac{σ_z}{σ_x}\)\(ρ_{xy} n σ_x σ_y\)
-\(ρ_{xy}\frac{σ_y}{σ_x}\)\(ρ_{xz} n σ_x σ_z\)
+\(ρ_{xy}\frac{σ_y}{σ_x} ρ_{xz}\frac{σ_z}{σ_x}\)\(nσ_x^2\)
=\(ρ_{yz} n σ_y σ_z\)-\(ρ_{xy} ρ_{xz} n σ_y σ_z\)-\(ρ_{xy} ρ_{xz} n σ_y σ_z\)+\(ρ_{xy} ρ_{xz} n σ_y σ_z\)
=\(ρ_{yz} n σ_y σ_z\)-\(ρ_{xy} ρ_{xz} n σ_y σ_z\)
=\( n σ_y σ_z (ρ_{yz}-ρ_{xy} ρ_{xz})\)

●平方和を整理すると
●\( S_{y’y’}\)=\(nσ_y^2 (1-ρ_{xy}^2)\)
●\( S_{z’z’}\)=\(nσ_z^2 (1-ρ_{xz}^2)\)
●\( S_{z’y’}\)=\( n σ_y σ_z (ρ_{yz}-ρ_{xy} ρ_{xz})\)

偏相関係数\(ρ_{y’z’}\)の導出

ここまで来たら、ゴールはもうすぐです。

\(ρ_{y’z’}\)=\(\frac{ S_{z’y’}}{\sqrt{ S_{y’y’} S_{z’z’}}}\)
=\(\frac{ n σ_y σ_z (ρ_{yz}-ρ_{xy} ρ_{xz})}{\sqrt{ nσ_y^2 (1-ρ_{xy}^2) nσ_z^2 (1-ρ_{xz}^2)}}\)
=\(\frac{ ρ_{yz}-ρ_{xy} ρ_{xz}}{\sqrt{ (1-ρ_{xy}^2) (1-ρ_{xz}^2)}}\)

\(ρ_{yz,x}\)=\(\frac{ρ_{yz}-ρ_{xy}ρ_{xz}}{\sqrt{1-ρ_{xy}^2} \sqrt{1-ρ_{xz}^2}}\)
になりましたね!

偏相関係数\(ρ_{y’z’}\)は\(ρ_{yz,x}\)と書くこともあります。

ちゃんと導出できましたね!

偏相関係数\(ρ_{y’z’}\)の導出の大事なポイント

  1. \(y(x)\),\(z(x)\)の回帰式を作る
  2. \(y(x)\),\(z(x)\)それぞれの\(x\)に関する成分を省いた成分同士の相関係数を導出する
  3. \(ρ\)だけの文字式で整理する

\(y(x)\),\(z(x)\)それぞれの\(x\)に関する成分を省いた成分同士の相関係数を導出する過程を理解することが最も大切です。公式暗記は不要ですね。

➂偏相関係数を計算する

せっかくなので、具体的な偏相関係数の値を求めてみましょう。

データ事例

下のデータを例に挙げます。別にどんなデータでも構いません。

No 年齢x 睡眠時間y 点数z
1 10 8 56
2 12 7 62
3 14 7.5 64
4 13 9 68
5 10 6.5 72
6 25 6 76
7 22 6.5 80
8 24 7 82
9 22 5.5 84
10 16 7 90

10人(年齢、睡眠時間ばらばら)であるテストを実施した結果とします。
年齢xと点数z、睡眠時間yと点数z、年齢xと睡眠時間yの関係を考えます。

相関係数を計算

互いの相関係数を計算しましょう。(計算してみてください)

平方和 相関係数
Sxx 311.6 Rxy 0.343
Syy 9 ρxy -0.585
Szz 1064.4 Rxz 0.456
Sxy -31 ρxz 0.675
Sxz 388.8 Ryz 0.304
Syz -54 ρyz -0.552

偏相関係数を計算

2者間の相関係数を求める際、もう1つの影響を除去した偏相関係数をそれぞれ計算してみましょう。
●\(ρ_{yz,x}\)=\(\frac{ρ_{yz}-ρ_{xy}ρ_{xz}}{\sqrt{1-ρ_{xy}^2} \sqrt{1-ρ_{xz}^2}}\)
=-0.262
●\(ρ_{xz,y}\)=\(\frac{ρ_{xz}-ρ_{xy}ρ_{yz}}{\sqrt{1-ρ_{xy}^2} \sqrt{1-ρ_{yz}^2}}\)
=0.521
●\(ρ_{xy,z}\)=\(\frac{ρ_{yz}-ρ_{xz}ρ_{xy}}{\sqrt{1-ρ_{xz}^2} \sqrt{1-ρ_{xy}^2}}\)
=-0.356

一応値はでますが、フーんな感じですよね。
ただ、偏相関係数がほぼ0の場合は、2者間に相関係数がある程度の値をもっていたとしても相関関係がないことがわかります。

2者間の相関関係を調べる時に活用する偏相関係数がよくわかりましたね。

まとめ

「偏相関係数が導出できる」を解説しました。

  • ①偏相関係数とは
  • ➁偏相関係数が導出できる
  • ➂偏相関係数を計算する


Warning: count(): Parameter must be an array or an object that implements Countable in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 119

    Warning: Invalid argument supplied for foreach() in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 122
error: Content is protected !!