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

重回帰分析の回帰式が導出できる

重回帰分析

「重回帰分析の回帰式がわからない、傾きやy切片の公式が覚えられない」と困っていませんか?

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

本記事のテーマ

重回帰分析の回帰式が導出できる

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

  • ①回帰式は誤差を最小にする条件で導出
  • ➁回帰式を導出
  • ➂【実例】回帰式を作る
多変量解析はすべて数式で導出できます。導出過程から本質を理解しましょう。

①回帰式は誤差を最小にする条件で導出

データの構造式を作る

本記事は、説明変数が2つ(\(x_1,x_2\))、目的変数\(y\)についての回帰式を作ります。

導出過程を一切端折らず解説しますので、一度などって下さい。理解が深まります!

回帰式をなす、データの構造式は
\(y=a+bx_1+cx_2\)
として、定数\(a,b,c\)を求めていきます。回帰式となる定数\(a,b,c\)を
●\(a\)=\(β_0\)
●\(b\)=\(β_1\)
●\(c\)=\(β_2\)
でよく表現します。

回帰式は誤差を最小にする条件で導出

ここで、同じ\(x_1,x_2\)について、実測値\(y_i\)と回帰式で求められる\(\hat{y_i}\)の2つを考えます。

重回帰分析

図は、理解しやすくするために、あえて2次元で描いています。

実測値\(y_i\)と予測値\(\hat{y_i}\)の差を\
\(Q(a,b,c)\)と定義して
\(Q(a,b,c)\)=\(\sum_{i=1}^{n}(y_i – \hat{y_i})^2\)
が最小となる条件が、重回帰分析の回帰式を求める条件となります。

つまり、実測値と予測値の差(誤差)を最小にする条件から回帰式を作ります。

「(誤差)を最小にする条件」が最も大事です!

複雑な計算になりますが、エッセンスは、「(誤差)を最小にする条件」です。

➁回帰式を導出

2乗和を展開(導出過程すべて見せます!)

\(Q(a,b,c)\)=\(\sum_{i=1}^{n}(y_i – \hat{y_i})^2\)

\(Q(a,b,c)\)=\(\sum_{i=1}^{n}((y_i -\bar{y}) –(\hat{y_i}-\bar{y}))^2\)
と間に\(\bar{y}\)を入れます。

また、\(\bar{y}\)と\(\hat{y_i}\)は回帰式を通るので、
●\(\bar{y}\)=\(a_+b \bar{x_1}+c \bar{x_2}\)
●\(\hat{y}\)=\(a_+b x_{1i}+c x_{2i}\)
が成り立つので、\(Q(a,b,c)\)に代入します。

代入すると、
\(Q(a,b,c)\)= \(\sum_{i=1}^{n}((y_i -\bar{y})\) –\(b(x_{1i}-\bar{x_1})\)-\( c(x_{2i}-\bar{x_2}))^2\)
さらに、意図的に
●\(\bar{y}\)=\(a_+b \bar{x_1}+c \bar{x_2}\)を
0=\(\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}\))
として、\(Q(a,b,c)\)に代入します。

よって、
\(Q(a,b,c)\)= \(\sum_{i=1}^{n}((y_i -\bar{y})\)
-\(b(x_{1i}-\bar{x_1})\)
-\( c(x_{2i}-\bar{x_2})\)
+\((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2})))^2\)
となります。

2乗和を整理

この長い2乗式を展開します。

\(Q(a,b,c)\)
= \(\sum_{i=1}^{n}\) \( ((y_i -\bar{y})^2 \) →(1)
+\(b^2(x_{1i}-\bar{x_1})^2\) →(2)
+\(c^2(x_{2i}-\bar{x_2})^2\) →(3)
+\(((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\) →(4)
-\(2b(y_i -\bar{y})(x_{1i}-\bar{x_1})\) →(5)
-\(2c (y_i -\bar{y})(x_{2i}-\bar{x_2})\) →(6)
+\(2(y_i -\bar{y})(\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))\) →(7)
+ \(2bc(x_{1i}-\bar{x_1})(x_{2i}-\bar{x_2})\) →(8)
-\(2b(x_{1i}-\bar{x_1})\)\((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))\) →(9)
-\(2c(x_{2i}-\bar{x_2})\)\((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2})))\) →(10)
と展開します。長いですが、頑張りましょう。

上の計算式を(1)~(10)に分けて、それぞれ見ていきましょう。

●(1)は
\(\sum_{i=1}^{n}\) \( (y_i -\bar{y})^2 \)=\(S_{yy}\)と置けます。
以下、Sは平方和を使って式を簡単に書いていきます。

●(2)は
\(\sum_{i=1}^{n}\) \(b^2(x_{1i}-\bar{x_1})^2\) =\(b^2 S_{11}\)と置けます。

●(3)は
\(\sum_{i=1}^{n}\) \(c^2(x_{2i}-\bar{x_2})^2\) =\(c^2 S_{22}\)と置けます。

●(4)はちょっとややこしいですが、定数を∑するので、
\(\sum_{i=1}^{n}\)\(((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\)
=\(n((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\)
となります。あとで定数\(a\)を求めるための大事な式になります。

●(5)は
\(\sum_{i=1}^{n}\)\(2b(y_i -\bar{y})(x_{1i}-\bar{x_1})\)
=\(2b S_{1y}\)と置けます。

●(6)は
\(\sum_{i=1}^{n}\)\(2c (y_i -\bar{y})(x_{2i}-\bar{x_2})\)
= \(2c S_{2y}\)と置けます。

●(7)は、
\(\sum_{i=1}^{n}\)\(2(y_i -\bar{y})(\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))\)
=2\((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))\)\(\sum_{i=1}^{n}\)\((y_i -\bar{y})\)
と定数を∑の外に出せて、かつ、
\(\sum_{i=1}^{n}\)\((y_i -\bar{y})\)=0
なので、
(7)=0になります。

●(8)は、
\(\sum_{i=1}^{n}\) \(2bc(x_{1i}-\bar{x_1})(x_{2i}-\bar{x_2})\)
=\(2bc S_{12}\)
と置けます。

●(9)は、
\(\sum_{i=1}^{n}\)\(2b(x_{1i}-\bar{x_1})\)\((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))\)
=\(2b(\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))\)\(\sum_{i=1}^{n}\)\((x_{1i}-\bar{x_1})\)
と定数を∑の外に出せて、かつ、
\(\sum_{i=1}^{n}\)\((x_{1i}-\bar{x_1})\)=0
なので、
(9)=0になります。

●(10)は、
\(\sum_{i=1}^{n}\)\(2c(x_{2i}-\bar{x_2})\)\((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2})))\)
=\(2c(\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2})))\)\(\sum_{i=1}^{n}\)\((x_{2i}-\bar{x_2})\)
と定数を∑の外に出せて、かつ、
\(\sum_{i=1}^{n}\)\(\sum_{i=1}^{n}\)\((x_{2i}-\bar{x_2})\)=0
なので、
(10)=0になります。

誤差を最小にする条件

(1)~(10)をまとめると、

\(Q(a,b,c)\)= \(S_{yy}\)-\(b^2 S_{11}\)+\(c^2 S_{22}\)
+\(n((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\)
-\(2b S_{1y}\)- \(2c S_{2y}\)+\(2bc S_{12}\)
と整理できます。

だいぶスッキリしましたね。機械的に計算しているだけなので、公式暗記の前に一回はなぞって理解しましょう。

回帰式を導出

ここで、回帰式の係数とy切片を求めます。つまり、
●\(a\)=\(β_0\)
●\(b\)=\(β_1\)
●\(c\)=\(β_2\)
の各値です。

回帰式は\(Q(a,b,c)\)が最小となる条件です。

y切片 \(β_0\)の導出

(Q(a,b,c))が最小となる条件で、定数(a)が有る項は、

\(Q(a,b,c)\)= \(S_{yy}\)-\(b^2 S_{11}\)+\(c^2 S_{22}\)
+\(n((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\)
-\(2b S_{1y}\)- \(2c S_{2y}\)+\(2bc S_{12}\)

\(((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\)
の部分ですね。

黄色マーカの2乗が最小になるのは、中身が0の時ですね。

よって、
\(\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2})\)=0
が条件となり、変形すると、
\(β_0\)=\(a\)=\(\bar{y}\)-(\(b \bar{x_1}+c \bar{x_2})\)
が求める式となります。

傾き\(β_1\)、\(β_2\)の導出

\(Q(a,b,c)\)= \(S_{yy}\)-\(b^2 S_{11}\)+\(c^2 S_{22}\)
+\(n((\bar{y}\)-(\(a_+b \bar{x_1}+c \bar{x_2}))^2\)
-\(2b S_{1y}\)- \(2c S_{2y}\)+\(2bc S_{12}\)
は、\(b,c\)の変数なので、
偏微分=0
から求めます。

●\(\displaystyle \frac{\partial Q(b,c)}{\partial b}\)=0
●\(\displaystyle \frac{\partial Q(b,c)}{\partial c}\)=0
から条件式を作ります。

●\(\displaystyle \frac{\partial Q(b,c)}{\partial b}\)
=\(2bS_{11}-2S_{1y}+2cS_{12}\)=0
●\(\displaystyle \frac{\partial Q(b,c)}{\partial c}\)
=\(2cS_{22}-2S_{2y}+2bS_{12}\)=0
となる連立方程式ができます。

よって、
\(S_{11}b+S_{12}c\)=\(S_{1y}\)
\(S_{12}b+S_{22}c\)=\(S_{2y}\)
を満たす連立方程式から、
傾き\(b\)=\(β_1\)、\(c\)=\(β_2\)が導出できます。

【結論】回帰式の導出

●y切片 \(β_0\)の導出
\(β_0\)=\(a\)=\(\bar{y}\)-(\(b \bar{x_1}+c \bar{x_2})\)
から計算し、
●傾き\(β_1\)、\(β_2\)の導出
\(S_{11}b+S_{12}c\)=\(S_{1y}\)
\(S_{12}b+S_{22}c\)=\(S_{2y}\)
を満たす連立方程式から、\(β_1\)、\(β_2\)が導出できます!

ちゃんと、導出できましたね!一切途中経過を端折っていないので、なぞるだけでも理解が深まります!

では、具体的な数字を使って回帰式を作ってみましょう。

➂【実例】回帰式を作る

データ例

以下のデータを使って重回帰分析の回帰式を作ってみましょう。

x1 x2 y
3 1 3
2 4 4
4 2 4
4 5 7
5 4 7
6 2 5

導出式から回帰式を計算する

●y切片 \(β_0\)の導出
\(β_0\)=\(a\)=\(\bar{y}\)-(\(b \bar{x_1}+c \bar{x_2})\)
から計算し、
●傾き\(β_1\)、\(β_2\)の導出
\(S_{11}b+S_{12}c\)=\(S_{1y}\)
\(S_{12}b+S_{22}c\)=\(S_{2y}\)
を満たす連立方程式から、\(β_1\)、\(β_2\)が導出できます!

なので、
●平均\(\bar{x_1},\bar{x_2},\bar{y}\)と
●平方和\(S_{11}\),\(S_{12}\),\( S_{1y}\),\( S_{22}\),\( S_{2y}\)
を計算しましょう。結構、計算が必要ですね。
下表に結果をまとめましょう。

x1 x2 y A=
\(x_1\)-\(\bar{x_1}\)
B=
\(x_2\)-\(\bar{x_2}\)
C=
\(y-\bar{y}\)
\(A^2\)=\(S_{11}\) \(AC\)=\(S_{1y}\) \(AB\)=\(S_{12}\) \(B^2\)=\(S_{22}\) \(BC\)=\(S_{2y}\) \(C^2\)=\(S_{yy}\)
3 1 3 -1 -2 -2 1 2 2 4 4 4
2 4 4 -2 1 -1 4 2 -2 1 -1 1
4 2 4 0 -1 -1 0 0 0 1 1 1
4 5 7 0 2 2 0 0 0 4 4 4
5 4 7 1 1 2 1 2 1 1 2 4
6 2 5 2 -1 0 4 0 -2 1 0 0
合計 24 18 30 0 0 0 10 6 -1 12 10 14
平均 4 3 5 ↑\(S_{11}\) ↑\(S_{1y}\) ↑\(S_{12}\) ↑\(S_{22}\) ↑\(S_{2y}\) ↑\(S_{yy}\)

よって、
●y切片 \(β_0\)の導出
\(β_0\)=\(a\)=\(\bar{y}\)-(\(b \bar{x_1}+c \bar{x_2})\)
から計算し、
●傾き\(β_1\)、\(β_2\)の導出
\(10b-c\)=6
\(-b+12c\)=10
から、
\(b=β_1\)=\(\frac{82}{119}\)
\(c=β_2\)=\(\frac{106}{109}\)

\(β_0\)=\(a\)=\(\bar{y}\)-(\(b \bar{x_1}+c \bar{x_2})\)
から
5-\(\frac{82}{119}\)×4-\(\frac{106}{109}\)×3=-\(\frac{51}{109}\)

以上、
\(y\)=-\(\frac{51}{109}\)+\(\frac{82}{119}x_1\)+\(\frac{106}{109}x_2\)
=-0.429+0.689\(x_1\)+0.891\(x_2\)
となります。

Excelから回帰式を計算する

関数を使って一発で出せます。

LINEST関数を使います。下図のように、縦5マス、横3マス分を選択して、
「=LINEST(D3:D8,B3:C8,TRUE,TRUE)」
の関数を入力して
「ctrl+shift」を同時に押して、「enter」すると自動計算されます。

重回帰分析

自動計算は一瞬でできて、下図の結果になります。

重回帰分析

確かに、手計算で求めた
\(y\)=-\(\frac{51}{109}\)+\(\frac{82}{119}x_1\)+\(\frac{106}{109}x_2\)
=-0.429+0.689\(x_1\)+0.891\(x_2\)
と一致します。

当然、手計算でもExcel関数からでも結果は一致します。Excel関数の方が楽チンですが、意味を理解するためにも手計算で一度解くことを勧めます。

まとめ

「重回帰分析の回帰式が導出できる」を解説しました。

  • ①回帰式は誤差を最小にする条件で導出
  • ➁回帰式を導出
  • ➂【実例】回帰式を作る


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 !!