重回帰分析とは

/機械学習

重回帰モデル

回帰分析とは、目的変数(従属変数)$y$ と説明変数(独立変数)$x_i$ の間に定量的な関係 $y=f(x_i)$ を見出すことです。特に、説明変数が2つ以上の場合を重回帰と呼びます。$m$ 個の説明変数の場合の重回帰モデルは、以下のように $m$ 次元の超平面で表されます。

$$y=a+\sum_{i=1}^mb_ix_i$$

以下、説明変数を2個( $x_1,x_2$ )と仮定して、重回帰モデルを以下のような平面で仮定します。この係数 $a,b_1,b_2$ を求め、その妥当性を評価することが回帰分析の目的です。

$$y=a+b_1x_1+b_2x_2$$

回帰式

回帰式とは、実測値( $x_{1j},x_{2j},y_j$ )から最小二乗法により求められた係数 $\hat{a},\hat{b}_1,\hat{b}_2$ により表される直線です。

$$\hat{y}_j=\hat{a}+\hat{b}_1x_{1j}+\hat{b}_2x_{2j}  -①$$

尚、回帰式で得られる予測値 $\hat{y}_j$ は実測値 $y_j$ とは異なります。

平方和と偏差積和の定義

$n$ 個の実測値の平均 $\overline{x}_1$ 、$\overline{x}_2$ 、$\overline{y}$ を以下で定義すると、

$$\bar{x}_i=\frac{1}{n}\sum_{j=1}^nx_{ij}$$$$\bar{y}=\frac{1}{n}\sum_{j=1}^ny_i$$

説明変数 $x$ と目的変数 $y$ の平方和は以下で定義されます。

$$S_{11}\equiv\sum_j(x_{1j}-\bar{x}_1)^2=\sum_jx_{1j}^2-n\bar{x}_1^2  -②$$$$S_{22}\equiv\sum_j(x_{2j}-\bar{x}_2)^2=\sum_jx_{2j}^2-n\bar{x}_2^2  -②$$$$S_{yy}\equiv\sum(y_j-\bar{y})^2=\sum y_j^2-n\bar{y}^2  -③$$

回帰による平方和 $S_R$ は以下で定義されます。

$$S_R\equiv\sum(\hat{y}_j-\bar{y})^2$$

偏差積和 $S_{12}$ 、$S_{1y}$ 、$S_{2y}$ は以下で定義されます。

$$S_{12}\equiv\sum_j(x_{1j}-\bar{x}_1)(x_{2j}-\bar{x}_2)=\sum_jx_{1j}x_{2j}-n\bar{x}_1\bar{x}_2  -④$$$$S_{1y}\equiv\sum_j(x_{1j}-\bar{x}_1)(y_j-\bar{y})=\sum_jx_{1j}y_j-n\bar{x}_1\bar{y}  -⑤$$$$S_{2y}\equiv\sum_j(x_{2j}-\bar{x}_2)(y_j-\bar{y})=\sum_jx_{2j}y_j-n\bar{x}_2\bar{y}  -⑤$$

残差と残差平方和の定義

残差 $e_j$ は実測値と予測値の差で定義され、

$$e_j\equiv y_j-\hat{y}_j$$

残差はランダムに表れるため以下になります。

$$\sum e_j=0$$

残差平方和 $S_e$ は残差の2乗和として定義されます。

$$S_e\equiv\sum_{j=1}^ne_j^2=\sum_{j=1}^n(y_j-\hat{a}-\hat{b}_1x_{1j}-\hat{b}_2x_{2j})^2$$

回帰式の導出と評価

残差平方和を最小にする係数 $\hat{a}$ 、$\hat{b}_i$ を最小二乗法で求めます。残差平方和が停留点をもつ条件は以下になり、

$$\frac{\partial S_e}{\partial\hat{a}}=\frac{\partial S_e}{\partial\hat{b}_1}=\frac{\partial S_e}{\partial\hat{b}_2}=0  -⑥$$

これより回帰式の係数を求めると(⑦の導出)、

$$\hat{a}=\bar{y}-\hat{b}_1\bar{x}_1-\hat{b}_2\bar{x}_2  -⑦$$

$$\left(\begin{array}{cc} \hat{b}_1 \\ \hat{b}_2 \end{array}\right)=\frac{1}{S_{11}S_{22}-S_{12}^2}\left(\begin{array}{cc} S_{22}S_{1y}-S_{12}S_{2y} \\ -S_{12}S_{1y}+S_{11}S_{2y} \end{array}\right)  -⑧$$

従って、回帰式①は次で表されます。この直線は平均値( $\bar{x}_1,\bar{x}_2,\bar{y}$ )を通ることが分かります。

$$\hat{y}=\bar{y}+\hat{b}_1(x_1-\bar{x}_1)+\hat{b}_2(x_2-\bar{x}_2)  -⑨$$

これらの関係より、残差については以下が成り立ち、(⑩の導出

$$\sum x_{1j}e_j=\sum x_{2j}e_j=0  -⑩$$

残差平方和は以下のように表すことができます。ここで $S_R$ は回帰によって説明できる変動です。(⑪の導出

$$S_e\equiv S_{yy}-S_R$$$$S_R=\hat{b}_1S_{1y}+\hat{b}_2S_{2y}  -⑪$$

寄与率

寄与率 $R^2$ とは、目的変数の全変動 $S_{yy}$ のうち、回帰によって説明できる変動 $S_R$ の割合で以下で定義されます。寄与率は1に近いほど性能のよい回帰式であることが言えます。

$$R^2\equiv\frac{S_R}{S_{yy}}$$

寄与率は以下のように表すことができます。(⑫の導出

$$R^2=1-\frac{S_e}{S_{yy}}=\frac{\hat{b}_1S_{1y}+\hat{b}_2S_{2y}}{S_{yy}}  -⑫$$

尚、重回帰回帰の場合は、説明変数の個数が増えれば、⑫による寄与率は大きくなってしまいます。従って、単なる平方和の比ではなく自由度を用いて調整が行われます。$R^{*2}$ を自由度調整済寄与率と呼ばれます。

$$R^{*2}=1-\frac{S_e/\phi_e}{S_{yy}/\phi_T}=1-\frac{S_e}{S_{yy}}\cdot\frac{n-1}{n-2}$$

標準化残差

標準化残差とは、実測値が予測値(回帰式)からどれくらい離れているかを表す量です。$k$ 番目のサンプルの標準化残差 $e_k’$ は以下で定義されます。

$$e_k’\equiv\frac{e_k}{\sqrt{V_e}}$$

ここで $V_e$ は分散で、残差平方和を自由度で割って求められます。

$$V_e=\frac{S_e}{\phi_e}=\frac{S_e}{n-2}$$

標準化残差は標準正規分布 $N(0,1^2)$ に従うため、標準化残差が大きいサンプルは異常でないか検討し、異常である理由が見つかった場合は、そのサンプルを外して分析をやり直す必要があります。

テコ比

回帰式 $\hat{y}_j$ をサンプル(実測値)$y_k$ で展開した場合、

$$\hat{y}_j\equiv\sum_{k=1}^nh_{jk}y_k  -⑭$$

テコ比とは、実測値 $y_j$ の変化に対する予測値 $\hat{y}_j$ の変化の比 $h_{jj}$ で表されます。(⑮の導出

$$h_{jj}=\frac{1}{n}+(x_{j1}-\bar{x}_1)^2S^{11}+(x_{j2}-\bar{x}_2)^2S^{22}$$$$+2(x_{j1}-\bar{x}_1)(x_{j2}-\bar{x}_2)S^{12}  -⑮$$

尚、$S^{11}$ 、$S^{12}$ 、$S^{22}$ は以下のような逆行列として定義されます。

$$\left(\begin{array}{cc} S^{11} & S^{12} \\
S^{12} & S^{22} \end{array}\right)\equiv\left(\begin{array}{cc} S_{11} & S_{12} \\
S_{12} & S_{22} \end{array}\right)^{-1}  -⑯$$

テコ比が大きすぎると、予測値(回帰式)が実測値の変動により強く影響されることを表しており、好ましくありません。テコ比は $j$ 番目の実測値の平均値から乖離度を表します。

導出

⑦を導く

条件式⑥の $\hat{a}$ について計算すると、

$$0=\frac{\partial S_e}{\partial\hat{a}}=-2\sum(y_j-\hat{a}-\hat{b}_1x_{1j}-\hat{b}_2x_{2j})$$$$=-2(n\bar{y}-n\hat{a}-n\hat{b}_1\bar{x}_1-n\hat{b}_2\bar{x}_2)$$

これより⑦が得られます。

$$\hat{a}=\bar{y}-\hat{b}_1\bar{x}_1-\hat{b}_2\bar{x}_2  -⑦$$

一方、$\hat{b}_i$ について⑦を用いて計算すると、

$$0=\frac{\partial S_e}{\partial\hat{b}_1}=-2\sum x_{1j}(y_j-\hat{a}-\hat{b}_1x_{1j}-\hat{b}_2x_{2j})$$$$=-2\Big(S_{1y}+n\bar{x}_1\bar{y}-n\hat{a}\bar{x}_1-\hat{b}_1(S_{11}+n\bar{x}_1^2)-\hat{b}_2(S_{12}+n\bar{x}_1\bar{x}_2)\Big)$$$$=-2(S_{1y}-\hat{b}_1S_{11}-\hat{b}_2S_{12})$$

$$0=\frac{\partial S_e}{\partial\hat{b}_2}=-2\sum x_{2j}(y_j-\hat{a}-\hat{b}_1x_{1j}-\hat{b}_2x_{2j})$$$$=-2\Big(S_{2y}+n\bar{x}_2\bar{y}-n\hat{a}\bar{x}_2-\hat{b}_1(S_{12}+n\bar{x}_1\bar{x}_2)-\hat{b}_2(S_{22}+n\bar{x}_2^2)\Big)$$$$=-2(S_{2y}-\hat{b}_1S_{12}-\hat{b}_2S_{22})$$

これらをまとめると、

$$\left(\begin{array}{cc} S_{11} & S_{12} \\
S_{12} & S_{22} \end{array}\right)
\left(\begin{array}{cc} \hat{b}_1 \\ \hat{b}_2 \end{array}\right)=\left(\begin{array}{cc} S_{1y} \\ S_{2y} \end{array}\right)  -⑭$$

これを解くと⑧が得られます。

$$\left(\begin{array}{cc} \hat{b}_1 \\ \hat{b}_2 \end{array}\right)=\left(\begin{array}{cc} S_{11} & S_{12} \\
S_{12} & S_{22} \end{array}\right)^{-1}\left(\begin{array}{cc} S_{1y} \\ S_{2y} \end{array}\right)$$$$=\frac{1}{S_{11}S_{22}-S_{12}^2}\left(\begin{array}{cc} S_{22} & -S_{12} \\
-S_{12} & S_{11} \end{array}\right)\left(\begin{array}{cc} S_{1y} \\ S_{2y} \end{array}\right)  -⑧$$

⑩を導く

⑩の $x_{1j}$ について、①を代入して計算すると、

$$\sum x_{1j}e_j=\sum x_{1j}(y_j-\hat{y}_j)$$$$=\sum x_{1j}y_j-\sum x_{1j}(\hat{a}+\hat{b}_1x_{1j}+\hat{b}_2x_{2j})$$$$=S_{1y}+n\bar{x}_1\bar{y}-n\hat{a}\bar{x}_1-\hat{b}_1(S_{11}+n\bar{x}_1^2)-\hat{b}_2(S_{12}+n\bar{x}_1\bar{x}_2)$$$$=S_{1y}-\hat{b}_1S_{11}-\hat{b}_2S_{12}=0$$

最後は⑭を利用しています。⑩の $x_{2j}$ について計算すると、

$$\sum x_{2j}e_j=\sum x_{2j}(y_j-\hat{y}_j)$$$$=\sum x_{2j}y_j-\sum x_{2j}(\hat{a}+\hat{b}_1x_{1j}+\hat{b}_2x_{2j})$$$$=S_{2y}+n\bar{x}_2\bar{y}-n\hat{a}\bar{x}_2-\hat{b}_1(S_{12}+n\bar{x}_1\bar{x}_2)-\hat{b}_2(S_{22}+n\bar{x}_2^2)$$$$=S_{2y}-\hat{b}_1S_{12}-\hat{b}_2S_{22}=0$$

⑪を導く

残差平方和は定義式に⑦を代入すると、

$$S_e=\sum(y_j-\hat{a}-\hat{b}_1x_{1j}-\hat{b}_1x_{1j})^2$$$$=\sum\Big((y_i-\bar{y})-\hat{b}_1(x_{1j}-\bar{x}_1)-\hat{b}_2(x_{2j}-\bar{x}_2)\Big)^2$$$$=S_{yy}+\hat{b}_1^2S_{11}+\hat{b}_2^2S_{22}-2\hat{b}_1S_{1y}-2\hat{b}_2S_{2y}+2\hat{b}_1\hat{b}_2S_{12}$$$$=S_{yy}+\hat{b}_1(\hat{b}_1S_{11}+\hat{b}_2S_{12})+\hat{b}_2(\hat{b}_2S_{22}+\hat{b}_1S_{12})-2\hat{b}_1S_{1y}-2\hat{b}_2S_{2y}$$$$=S_{yy}-\hat{b}_1S_{1y}-\hat{b}_2S_{2y}$$

最後は⑭を使うことで⑪が得られます。

⑮を導く

⑯を⑧に代入すると、

$$\hat{b}_1=S^{11}S_{1y}+S^{12}S_{2y}$$$$=\sum_k\Big(S^{11}(x_{1k}-\bar{x}_1)+S^{12}(x_{2k}-\bar{x}_2)\Big)(y_k-\bar{y})$$$$\hat{b}_2=S^{12}S_{1y}+S^{22}S_{2y}$$$$=\sum_k\Big(S^{12}(x_{1k}-\bar{x}_1)+S^{22}(x_{2k}-\bar{x}_2)\Big)(y_k-\bar{y})$$

これを⑨に代入すると、

$$\hat{y}_j=\bar{y}+\hat{b}_1(x_{1j}-\bar{x}_1)+\hat{b}_2(x_{2j}-\bar{x}_2)$$$$=\frac{1}{n}\sum_ky_k$$$$+(x_{1j}-\bar{x}_1)\sum_k\Big(S^{11}(x_{1k}-\bar{x}_1)+S^{12}(x_{2k}-\bar{x}_2)\Big)(y_k-\bar{y})$$$$+(x_{2j}-\bar{x}_2)\sum_k\Big(S^{12}(x_{1k}-\bar{x}_1)+S^{22}(x_{2k}-\bar{x}_2)\Big)(y_k-\bar{y})$$

この右辺について、$k=j$ の項を書き出すと、

$$\frac{1}{n}y_j+\Big(S^{11}(x_{1j}-\bar{x}_1)^2+S^{22}(x_{2j}-\bar{x}_2)^2$$$$+2S^{12}(x_{1j}-\bar{x}_1)(x_{2j}-\bar{x}_2)\Big)y_j$$

この係数が $h_{jj}$ であるため、⑮が導かれることが分かります。

 

数学
解析学、代数学、幾何学、統計学、論理・基礎論、情報・暗号、機械学習、金融・ゲーム理論、高校数学
散策路TOP
数学、応用数学、古典物理、量子力学、物性論、電子工学、IT、力学、電磁気学、熱・統計力学、連続体力学、解析学、代数学、幾何学、統計学、論理・基礎論、プラズマ物理、量子コンピュータ、情報・暗号、機械学習、金融・ゲーム理論

 

タイトルとURLをコピーしました