回帰分析は因果関係を説明するために使われる

単回帰分析

回帰分析は、因果関係を説明するために使われる分析手法である。例えば、二酸化炭素の濃度が上昇すると平均気温も上昇する、という事象を説明するときに、回帰分析が使われる。このような 1 つの要因が 1 つの結果を与えるという、シンプルな事象に対する回帰分析は、次のように 1 次関数で数式化することができる。確率変数 X と Y は、それぞれ原因と結果と見なすことができる。原因の x が変化するのに伴い、結果 y も変化する。

\[ Y = \beta_{0} + \beta_{1}X \]

確率変数 X と Y は、それぞれ名前が付けられている。確率変数 X は、Y を説明するための変数であることから説明変数とよばれている。また、確率変数 X は、他の確率変数に依存していないため、独立変数ともよばれている。これに対して、確率変数 Y は、X よって説明されるので、目的変数とよばれている。また、確率変数 Y は、確率変数 X に依存しているため、従属変数ともよばれている。

ここで注意すべきこととして、これから説明しようとする Y は、確率変数である。確率変数は、ある確率分布から得られた 1 つの値である。そのため、例えば、説明変数 X = x であったとき、Y は β0 + β0x であることを表しているわけではない。正確に言えば、X = x のとき、Y は平均 β0 + β0x かつ分散 σ の正規分布からサンプリングされる 1 つの値である。

単回帰分析

1 次関数 y = β0 + β1x で数式化できる回帰は、単回帰とよばれることもある。単回帰を行うには、原因と結果が 1 セットなったデータを必要とする。例えば「二酸化炭素の濃度」と「平均気温」などのように、原因と結果が必ずセットになっていなければならない。

データが n セットがあり、それぞれ (x1, y1)、(x2, y2)、…、(xn, yn) のように書きあらわす。n ≥ 2 であれば、基本的に単回帰モデル式 y = β0 + β1x 中のパラメーター β0 と β1 を計算でき、回帰直線を求めることができる。

最小二乗法

回帰分析の誤差

回帰直線のパラメーター β0 と β1 を計算するとき、最小二乗法とよばれる計算方法を利用する。回帰直線は、すべての計測点を通るわけではない。そのため、回帰直線と計測点との間に、「誤差」が含まれる。例えば、右図のようにある計測点 i において、「計測値 yi」 と「計測値 xi を利用して回帰直線で計算された推測値」との間に誤差 ei が見られる。

\[ e_{i} = (y_{i}) - (\beta_{0} + \beta_{1}x_{i}) \]

理想的な回帰直線は、すべての計測点を通る。しかし、現実では測定誤差や想定外の要因などに影響されて、回帰直線は、すべての計測点を通ることはできない。そのため、理想的な回帰直線に近づけるために、回帰直線と計測点の誤差を最小にする方法が取られている。そこで、そのような回帰直線を求めるために、すべての計測点に対して誤差 ei (i = 1, 2, ..., n) を求め、それらの和がもっとも小さくなるような β0 と β1 を計算すればよい。

誤差は、計測値と推測値の差として計算されるが、これがプラスとなったり、マイナスとなったりするため、和を計算を行う上で不便である。そのため、これの誤差に対して 2 乗して、すべてプラスにすれば、和計算が楽になる。

\[ e_{i}^{2} = \{(y_{i}) - (\beta_{0} + \beta_{1}x_{i})\}^{2} \] \[ S_{e}= \sum_{i=1}^{n}e_{i}^{2} = \sum_{i=1}^{n}\{(y_{i}) - (\beta_{0} + \beta_{1}x_{i})\}^{2} \]

2 乗された誤差の和 Se が最小となるときの β0 と β1 を計算するとき、β0 および β1 を変数のように動かし、Se が最小となるような β0 および β1 を求めればよい。これには、Se の式に対して、β0 および β1 それぞれで偏微分してその増減を調べればよい。実際に偏微分すると、以下のようになる。

\[ \begin{eqnarray} \frac{\partial S_{e}}{\partial \beta_{0}} &=& 2\sum_{i=1}^{n}(y_{i} - \beta_{0} - \beta_{1}x_{i})(-1) = 0 \\ \frac{\partial S_{e}}{\partial \beta_{1}} &=& 2\sum_{i=1}^{n}(y_{i} - \beta_{0} - \beta_{1}x_{i})(-x_{i}) = 0 \end{eqnarray} \]

両式を用いて、β0 と β1 に付いて解くと、次のようになる。

\[ \begin{eqnarray} \hat{\beta_{1}} &=& \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) (y_{i}-\bar{y})}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}\\ \hat{\beta_{0}} &=& \bar{y} - \hat{\beta_{1}}\bar{x} \end{eqnarray} \]

ただし、\(\bar{x} = \sum_{i=1}^{n}x_{i}\) および \(\bar{y} = \sum_{i=1}^{n}y_{i}\) とする。

回帰係数

残差の分散

回帰モデルによって説明できない差を残差という。残差 i は、実測値 yi と回帰モデルで計算した値 \(\hat{y_{i}}\)の差として求められる。すべてのデータ点に対して残差を計算したとき、残差の分散 Var[e] は次のように求めることができる。ただし、単回帰では \(\hat{y}\) を計算するためには、切片と傾きという 2 つの回帰係数があるために自由度は n - 2 である。

\[ Var[e] = \frac{ \sum_{i=1}^{n}\left( y_{i} - \hat{y_{i}}\right)^{2} }{n - 2} \]

分子の部分は、残差の平方の和であり、残差平方和と呼ばれたりする。

\[ S_{e}= \sum_{i=1}^{n}\left( y_{i} - \hat{y_{i}}\right)^{2} \]

回帰係数の期待値と分散

単回帰分析において y = β0 + β1x の回帰係数である β0 および β1 を推定した。あるデータのセット (xi, yi) を回帰モデルに代入すると、次の関係が成り立つ。

\[ y_{i} = \beta_{0} + \beta_{1}x_{i} + e_{i} \]

また、n セットのデータの平均 \(\overline{x}, \overline{y} \) を代入したとき、次の関係が成り立つ。ここで、\( \overline{e} = \frac{\sum e_{i}}{n}\) である。

\[ \overline{y} = \beta_{0} + \beta_{1}\overline{x} + \overline{e} \]

ここで両式の差を計算すると、次の式を得ることができる。

\[ y_{i} - \overline{y} = \beta_{1}(x_{i} - \overline{x}) + (e_{i} - \overline{e}) \]

ここで、上の等式を使って、回帰係数 \(\hat{\beta_{1}}\) の期待値と分散について計算する。

\[ \begin{eqnarray} \hat{\beta_{1}} &=& \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) (y_{i}-\bar{y})}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}\\ &=& \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) \left(\beta_{1}(x_{i} - \overline{x}) + (e_{i} - \overline{e})\right)}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \\ &=& \beta_{1}\frac{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} + \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} - \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) \bar{e}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \\ &=& \beta_{1} + \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} - \frac{ 0 \cdot \bar{e}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \\ &=& \beta_{1} + \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \end{eqnarray} \]

ここで \(\hat{\beta_{1}}\) の期待値と分散を計算すると、

\[ \begin{eqnarray} E[\hat{\beta_{1}}] &=& E\left[ \beta_{1} + \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \right] \\ &=& E[ \beta_{1} ] + E\left[ \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \right] \\ &=& \beta_{1} + \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) }{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} E[ e_{i}] \\ &=& \beta_{1} + \frac{0 }{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} E[e_{i}] \\ &=& \beta_{1} \end{eqnarray} \] \[ \begin{eqnarray} Var[\hat{\beta_{1}}] &=& Var\left[ \beta_{1} + \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \right] \\ &=& Var\left[ \frac{\sum_{i=1}^{n}(x_{i}-\bar{x}) e_{i}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \right] \\ &=& \frac{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2} }{\left( \sum_{i=1}^{n}(x_{i}-\bar{x})^{2}\right ) ^{2}} Var[ e_{i}] \\ &=& \frac{ 1 }{ \sum_{i=1}^{n}(x_{i}-\bar{x})^{2} } Var[ e_{i}] \\ &=& \frac{ 1 }{ \sum_{i=1}^{n}(x_{i}-\bar{x})^{2} } Var[ e] \\ &=& \frac{ \frac{ \sum_{i=1}^{n}\left( y_{i} - \hat{y_{i}}\right)^{2} }{n - 2} }{ \sum_{i=1}^{n}(x_{i}-\bar{x})^{2} } \end{eqnarray} \]

\(\hat{\beta_{0}}\) の期待値と分散を計算すると、

\[ \begin{eqnarray} E [\hat{\beta_{0}}] &=& E[\bar{y} - \hat{\beta_{1}}\bar{x} ] \\ &=& E[\beta_{0} - (\hat{\beta_{1}} - \beta_{1})\bar{x} - \bar{e}] \\ &=& E[\beta_{0}] - E[(\hat{\beta_{1}} - \beta_{1})\bar{x}] - E[\bar{e}] \\ &=& \beta_{0} - (\beta_{1}\bar{x} - \beta_{1}\bar{x}) - E[\frac{1}{n}\sum_{i=1}^{n} e_{i}] \\ &=& \beta_{0} - \frac{1}{n}\sum_{i=1}^{n} E[e_{i}] \\ &=& \beta_{0} \end{eqnarray} \] \[ \begin{eqnarray} Var[\hat{\beta_{0}}] &=& E[(\hat{\alpha_{0}} - \alpha_{0})^{2}] \\ &=& E[(- (\hat{\beta_{1}} - \beta_{1})\bar{x} + \bar{e})^{2}] \\ &=& \bar{x}^{2}E[(\hat{\beta_{1}} - \beta_{1})^{2}] - 2\bar{x}E[(\hat{\beta_{1}} - \beta_{1})\bar{e}] + E[\bar{e}^{2}] \\ &=& \frac{ \bar{x}^2 Var[ e] }{ \sum_{i=1}^{n}(x_{i}-\bar{x})^{2} } + 0 + \frac{Var[e]}{n} \\ &=& \left( \frac{ \bar{x}^2 }{ \sum_{i=1}^{n}(x_{i}-\bar{x})^{2} } + \frac{1}{n} \right)\frac{ \sum_{i=1}^{n}\left( y_{i} - \hat{y_{i}}\right)^{2} }{n - 2} \end{eqnarray} \]

回帰係数の検定

回帰係数 \(\hat{\beta_{0}}\) および \(\hat{\beta_{1}}\) の期待値と分散を計算することができた。次に、これらの回帰係数に対して、その係数が 0 かどうかについて検定を行う。例えば、\(\hat{\beta_{1}}\) が 0 かどうかを t 検定で調べるとき、t 値は次のように計算される。

\[ t = \frac{\hat{\beta_{1}} - 0}{\sqrt{Var [{\hat{\beta_{1}}}] }} \]

このように計算された t 値が n - 2 の分布を用いて仮説検定を行う。