単回帰分析

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

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

確率変数 X は、Y を説明するための変数であることから説明変数と呼ばれている。また、確率変数 X の値は、他の変数の変化に影響されずに独立した一つの変数であることから、独立変数とも呼ばれている。これに対して、確率変数 Y は、X によって説明されているので、目的変数とよばれている。また、確率変数 Y は、確率変数 X に依存しているため、従属変数とも呼ばれている。

回帰式 Y ~ β0 + β1X は Y = β0 + β1X と書かれることも多い。回帰式 Y = β0 + β1X と書かれても、Y は確率変数であることに注意する必要がある。つまり、Y はある確率分布から得られた 1 つの値である。そのため、説明変数 X = x のとき、Y = β0 + β0x であることを表しているわけではない。言い換えれば、Y は β0 + β0x という 1 つの値で表されているわけではない。この式が意味することを、正確にいえば、X = x のとき、Y は平均 β0 + β0x かつ分散 σ の正規分布からサンプリングされる 1 つの値である。

単回帰分析

1 次関数 y ~ β0 + β1x で数式化できる回帰は、単回帰とよばれることもある。単回帰を行うには、原因と結果が 1 セットなったデータを必要とする。例えば「二酸化炭素の濃度(X)」と「平均気温(Y)」の組み合わせ、「施肥量(X)」と「収穫量(Y)」の組み合わせなどのように、原因と結果がセットになっているデータが必要である。

このようなデータを n ペア集めたとき、一般に、(x1, y1)、(x2, y2)、…、(xn, yn) のように文中で記述することが多い。または、x および y のようにベクトルとして書き表すことも多い。

単回帰は y ~ β0 + β1x によって表され、そのパラメーターは β0 と β1 の 2 つだけである。そのため、n ≥ 2 であれば、パラメーターを計算できる。このパラメーターを計算する方法として、最小二乗法が用いられる。

最小二乗法

回帰直線のパラメーター β0 と β1 を計算するとき、最小二乗法とよばれる計算方法を利用する。回帰直線は、すべての計測点(観測値)を通るわけではない。そのため、回帰直線と計測点との間に、誤差が含まれる。回帰分析において、この誤差のことを残差とよぶ。例えば、下図のように、計測値 yi と回帰直線から計算された推定値との間に残差 ei が見られる。

\[ e_{i} = (y_{i}) - (\beta_{0} + \beta_{1}x_{i}) \]
回帰分析における残差(最小二乗法で最小化を行うようにパラメーターを用いる)

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

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

\[ S_{e} = e_{i}^{2} + e_{2}^{2} + \cdots + e_{n}^{2} \]

ここで、

\[ e_{i}^{2} = \{ y_{i} - \hat{y_{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} \]

Se は下に凸の二次関数であるから、極値が最小値である。よって、両式を用いて、β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 の分布を用いて仮説検定を行う。