Python、機械学習

単回帰分析の数学

手持ちのデータ(標本データ)から引いた回帰直線は、あくまでも標本データにおいて適用されるものであり、我々が知りたいのは、どのようなデータにも適用できる、汎用性のある回帰直線です。

前者を標本回帰、後者を母回帰といいます。

母回帰を推定する方法は、標本から母集団を推定するのと同じです。

つまり、標本回帰のパラメータ(傾きと切片)から、母回帰のパラメータ(傾きと切片)がどれくらいの値になるかを推定します。

母回帰と標本回帰

ここでは単回帰モデルを考えます。

母回帰

母回帰を次のように表します。ここで$\mu$とは、母回帰から得られる目的変数のことです。

$\mu=\beta_{0}+\beta_{1} x$

そして、母回帰から得られる目的変数$\mu$に平均0、分散σの誤差項$\varepsilon$を付け加えたものが、実際に観測された目的変数$y$である、とします。このように、実際に観測される$y$を確率変数として表現したモデルを確率モデルといいます。

$y=\mu+\varepsilon \qquad \varepsilon \sim N\left(0, \sigma^{2}\right)$

よって、観測値$y$は次の正規分布にしたがう、ということになります。

$y \sim  N\left(\beta_{0}+\beta_{1} x, \sigma^{2}\right) $

標本回帰

標本回帰は、次のように表します。

$\widehat{y}=\hat{\beta}_{0}+\widehat{\beta}_{1} x $

残差とは?

残差とは、観測値$y$と標本回帰の$y$(つまり$\widehat{y}$)の差のことです。そして、残差を二乗したものを全て足し合わせたものが残差平方和(RSS)です。residual sum of squaresの略です。

残差

$e=y-\widehat{y}$

残差平方和:RSS

$\begin{aligned} \operatorname{RSS} &=\sum_{i=1}^{n} e_{i}^{2} \\ &=\sum_{i=1}^{n}(y_{i}-\hat{y})^{2} \\ &=\sum_{i=1}^{n}\left(y_{i}-\hat{\beta}_{0}-\hat{\beta}_{1} x\right)^{2} \end{aligned}$

最小二乗法

RSSが最小になるように、切片$\hat{\beta}_{0}$と傾き$\hat{\beta}_{1}$を求める方法を「最小二乗法」と呼びます。標本回帰での予測値と実際の観測値の差が極力小さくなるところを探ります。

RSSを$\hat{\beta}_{0}$、$\hat{\beta}_{1}$でそれぞれ偏微分したもの$=0$とし、計算します。計算の結果、$\hat{\beta}_{0}$、$\hat{\beta}_{1}$は次のように表されます。

$\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{\sigma_{x y}}{\sigma_{x}^{2}}$

$\widehat{\beta}_{0}=\bar{y}-\widehat{\beta}_{1} \bar{x}$

ここでチェックしておきたいのが、最小二乗法では母回帰が出てこないという点です。標本から母集団を推定する、という統計学のプロセスが出てきません。

最尤推定法

確率モデルを導入した場合は、最尤推定法が使えます。最尤推定法では、誤差$\varepsilon$に着目します。誤差$\varepsilon$は$N\left(0, \sigma^{2}\right)$にしたがう、としているため、全てのデータに対して、誤差は0に近い値となる確率が高く、逆にいうと0から離れた値にはなり得ないはずです。

つまり、誤差が0.01や-0.01となる可能性は高いですが、2.3や-3.4となる可能性は低いわけです。

確率で表すと、$p(\varepsilon=0.01)$や$p(\varepsilon=-0.01)$は高く、$p(\varepsilon=2.3)$や$p(\varepsilon=-3.4)$は低い、ということになります。各データにおける誤差$\varepsilon_{i}$の確率が同時に高くなってほしいので、$p(\varepsilon_{1})$・$p(\varepsilon_{2})$・ … ・$p(\varepsilon_{n})$が最大になるように切片$\hat{\beta}_{0}$と傾き$\hat{\beta}_{1}$を決めます。これが最尤推定法です。

ちなみに、$p(\varepsilon_{1})$・$p(\varepsilon_{2})$・ … ・$p(\varepsilon_{n})$を尤度関数といいます。

実際に計算すると、上で示したもの(最小二乗法)と同じ切片$\hat{\beta}_{0}$と傾き$\hat{\beta}_{1}$が得られます。

標本回帰について詳しく見ていく

標本回帰の$\hat{\beta}_{0}$、$\hat{\beta}_{1}$についてそれぞれ平均、分散を計算してみます。

標本平均 $E\left[\hat{\beta}_{1}\right], E\left[\hat{\beta}_{0}\right]$

$\begin{aligned} E\left[\hat{\beta}_{1}\right] &=E\left[\frac{\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}}\right] \\ &=\frac{1}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} E\left[\sum_{i=1}^{n}(x_{i}-\bar{x})(y_{i}-\bar{y})\right] \\ &=\frac{1}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \cdot \sum_{i=1}^{n} E[(x_{i}-\bar{x})(y_{i}-\bar{y})] \\ &=\frac{1}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \cdot \sum_{i=1}^{n}(x_{i}-\bar{x})E[y_{i}-\bar{y}] \\ &=\frac{1}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \cdot \sum_{i=1}^{n}(x_{i}-\bar{x})(E[y_{i}]-E[\bar{y}]) \end{aligned}$

$\begin{aligned} y \sim & N\left(\beta_{0}+\beta_{1} x, \sigma^{2}\right) より\\ E[y_{i}] &=\beta_{0}+\beta_{1} x_{i} \\ E[\bar{y}] &=E[E[y_{i}]] \\ &=E\left[\beta_{0}+\beta_{1} x_{i}\right] \\ &=E\left[\beta_{0}\right]+E\left[\beta_{1} x_{i}\right] \\ &=\beta_{0}+\beta_{1} \bar{x} \end{aligned}$

よって、これらを代入すると

$\begin{aligned} E\left[\hat{\beta}_{1}\right] &=\sum_{n=1}^{n}(x_{i}-\bar{x})^{2} \cdot \sum_{n=1}^{1}(x_{i}-\bar{x})\left(\beta_{0}+\beta_{1} x_{i}-\beta_{0}-\beta_{1} \bar{x}\right) \\ &=\sum_{n=1}^{n}(x_{i}-\bar{x})^{2} \cdot \beta_{1} \sum_{n=1}^{n}(x_{i}-\bar{x})^{2} \\ &=\beta_{1} \end{aligned}$

となります。$\hat{\beta}_{0}$については、次のようになります。

$\begin{aligned} E\left[\hat{\beta}_{0}\right] &=E\left[\bar{y}-\hat{\beta}_{1} \bar{x}\right] \\ &=E[\bar{y}]-E[\widehat{\beta}_{1}\bar{x}] \\ &=\beta_{0}+\beta_{1} \bar{x}-\bar{x} E\left[\widehat{\beta}_{1}\right] \\ &=\beta_{0}+\beta_{1} \bar{x}-\bar{x} \beta_{1} \\ &=\beta_{0} \end{aligned}$

標本から推定した$\hat{\beta}_{0} , \hat{\beta}_{1} $の期待値が母回帰のパラメータ$\beta_{0} , \beta_{1} $に等しいことから、$\hat{\beta}_{0} , \hat{\beta}_{1} $は母回帰のパラメータ$\beta_{0} , \beta_{1} $の不偏推定量であると言えます。

標本分散 $V\left[\hat{\beta}_{1}\right], V\left[\hat{\beta}_{0}\right]$

$\hat{\beta}_{1}$は、次のように書き換えることができます。

$\begin{aligned}

\hat{\beta}_{1} &=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)\left(y_{i}-\bar{y}\right)}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \\

&=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}-\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) \bar{y}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \\

&=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}-\sum_{i=1}^{n} x_{i} \bar{y}+\sum_{i=1}^{n} \bar{x} \bar{y}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \\

&=\frac{\sum_{i=n}^{n}\left(x_{i}-\bar{x}\right) y_{i}-n \bar{x} \bar{y}+n \bar{x} \bar{y}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \\

&=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}

\end{aligned}$

したがって、

$\begin{array}{l}

V\left[\widehat{\beta}_{1}\right]=V\left[\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right] \\

\quad=\frac{1}{\left\{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}\right\}^{2}} \cdot V\left[\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}\right] \\

\quad=\frac{1}{\left\{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}\right\}^{2}} \cdot \sum_{i=1}^{n} V\left[\left(x_{i}-\bar{x}\right) y_{i}\right] \\

\quad=\frac{1}{\left\{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}\right\}^{2}} \cdot \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2} V\left[y_{i}\right] \\

\quad=\frac{1}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\cdot V\left[y_{i}\right]

\end{array}$

ここで、



$\begin{aligned} y \sim & N\left(\beta_{0}+\beta_{1} x, \sigma^{2}\right) より\\ V\left[y_{i}\right]&=\sigma^{2} \end{aligned}$

となりますので、これを代入して

$\begin{array}{l}

V\left[\widehat{\beta}_{1}\right]=\frac{\sigma^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}

\end{array}$

となります。

$\hat{\beta}_{0}$は、次のように書き換えることができます。

$\begin{aligned}

\hat{\beta}_{0} &=\bar{y}-\hat{\beta}_{1} \bar{x} \\

&=\frac{1}{n} \sum_{i=1}^{n} y_{i}-\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \cdot \bar{x} \\

&=\sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right) \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} y_{i}

\end{aligned}$



したがって、

$\begin{aligned}

V\left[\hat{\beta}_{0}\right] &=V\left[\sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{1}-\bar{x}\right) \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} y_{i}\right] \\

&=\sum_{i=1}^{n} V\left[\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right) \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} y_{i}\right] \\

&=\sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right) \bar{x}}{\left.\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}\right\}}\right\}^{2} V\left[y_{i}\right] \\

&= \sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right) \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\}^{2}\sigma^{2} \\

&= \sigma^{2} \sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right) \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\}^{2}\\

&=\sigma^{2} \sum_{i=1}^{n}\left\{\frac{1}{n^{2}}-\frac{2\left(x_{i}-\bar{x}\right) \bar{x}}{n \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}+\frac{\left(x_{i}-\bar{x}\right)^{2} \bar{x}^{2}}{\left\{\sum_{i=1}^{1}\left(x_{i}-\bar{x}^{2}\right)\right\}^{2}}\right\} \\

&=\sigma^{2}\left\{n \cdot \frac{1}{n^{2}}-\frac{2 \bar{x}}{n \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)+\frac{\bar{x}^{2} \sum_{i}^{n}\left(x_{i}-\bar{x}\right)^{2}}{\left\{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}\right\}^{2}}\right\}

\end{aligned}$

ここで、

$\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)=\sum_{i=1}^{n} x_{i}-\sum_{i=1}^{n} \bar{x}=n \bar{x}-n \bar{x}=0$

となるので、

$\begin{array}{c}

V\left[\hat{\beta}_{0}\right]=\sigma^{2}\left\{\frac{1}{n}+\frac{\bar{x}^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} \end{array}$

と書けます。さらに、

$\begin{array}{c}

\sigma_{x}^{2}=\bar{x^{2}}-\bar{x}^{2}=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{n} \\

\bar{x}^{2}=\bar{x^{2}}-\frac{\sum_{i=1}^{n}\left(x_{i} -\bar{x}\right)^{2}}{n}

\end{array}$

であることから、これを代入して

$\begin{aligned}

V\left[\hat{\beta}_{0}\right] &=\sigma^{2}\left\{\frac{1}{n}+\frac{\bar{x^{2}}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}-\frac{1}{n}\right\} \\

&=\frac{\sigma^{2} \bar{x^{2}}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}

\end{aligned}$

と表現されます。

$\widehat{y}$の平均、分散

$E[\widehat{y}] $は次のようになります。

$\begin{aligned}  E[\widehat{y}] &=E[\widehat{\beta}_{0}+\widehat{\beta}_{1} x] \\ &=E\left[\widehat{\beta}_{0}\right]+E\left[\widehat{\beta}_{1}x\right] \\ &=\beta_{0}+\beta_{1} x \end{aligned}$

$V[\widehat{y}] $は、次のようになります。

$\begin{aligned}

V[\widehat{y}] &=V\left[\widehat{\beta}_{0}+\hat{\beta}_{1} x\right] \\

&=V\left[\widehat{\beta}_{0}\right]+V\left[\widehat{\beta}_{1} x\right]+2 \operatorname{Cov}\left[\widehat{\beta}_{0}, \hat{\beta}_{1} x\right] \\

&=V\left[\hat{\beta}_{0}\right]+x^{2} V\left[\widehat{\beta}_{1}\right]+2 x \operatorname{Cov}\left(\widehat{\beta}_{0}, \widehat{\beta}_{1}\right)

\end{aligned}$

ここで、共分散$\operatorname{Cov}\left(\hat{\beta}_{0}, \hat{\beta}_{1}\right)$は次のように表せる。

$\operatorname{Cov}\left(\hat{\beta}_{0}, \hat{\beta}_{1}\right)=\operatorname{Cov}\left(\sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right)\bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} y_{i}, \frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right) y_{i}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\}$

一般に、共分散は次のように展開できる。

$\begin{aligned}

\operatorname{Cov}\left(\sum_{i=1}^{n} a_{i} y_{i}, \sum_{i=1}^{n} b_{1} y_{i}\right) &=\operatorname{Cov}\left(a_{1} y_{1}+a_{2} y_{2}+\ldots, b_{1} y_{1}+b_{2} y_{2}+\cdots\right) \\

&=\operatorname{Cov}\left(a_{1} y_{1}, b_{1} y_{1}\right)+\operatorname{Cov}\left(a_{1} y_{1}, b_{2} y_{2}\right)+\cdots \\

&+\operatorname{Cov}\left(a_{2} y_{2}, a_{1} y_{1}\right)+\operatorname{Cov}\left(a_{2} y_{2} , b_{2} y_{2}\right)+\cdots \\

&= a_{1} b_{1} \operatorname{Cov}\left(y_{1}, y_{1}\right)+a_{1} b_{2} \operatorname{Cov}\left(y_{1}, y_{2}\right)+\cdots \\

&+a_{2} b_{1} \operatorname{Cov}\left(y_{2}, y_{1}\right)+a_{2} b_{2} \operatorname{Cov}\left(y_{2}, y_{1}\right)+\cdots

\end{aligned}$

$y_{1}, y_{2}, \dots$は互いに独立であることから、$\operatorname{Cov}\left(y_{i}, y_{j}\right)=0 \quad(i \neq j)$となる。

また、$\operatorname{Cov}\left(y_{i}, y_{i}\right)=V\left[y_{i}\right]$です。

よって、

$\begin{aligned}

\operatorname{Cov}\left(\sum_{i=1}^{n} a_{i} y_{i}, \sum_{i=1}^{n} b_{i} y_{i}\right) &=a_{1} b_{1} V\left[y_{1}\right]+a_{2} b_{2} V\left[y_{2}\right]+\cdots \\

&=\sum_{i=1}^{n} a_{i} b_{i} V\left[y_{i}\right]

\end{aligned}$

と書くことができます。これを$\operatorname{Cov}\left(\widehat{\beta}_{0}, \hat{\beta}_{1}\right) $にも適用すると、

$

\begin{aligned}

\operatorname{Cov}\left(\widehat{\beta}_{0}, \hat{\beta}_{1}\right) &=\sum_{i=1}^{n}\left\{\frac{1}{n}-\frac{\left(x_{i}-\bar{x}\right) \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} \cdot \frac{\left(x_{i}-\bar{x}\right)}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \cdot V\left[y_{i}\right] \\

&=\sum_{i=1}^{n}\left\{\frac{\left(x_{i}-\bar{x}\right)}{n}-\frac{\left(x_{i}-\bar{x}\right)^{2} \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} \cdot \frac{\sigma^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \\

&=\frac{\sigma^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\left\{\frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)-\frac{\bar{x} \sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} \\

&=\frac{\sigma^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\left\{\frac{1}{n}(n \bar{x}-n \bar{x})-\bar{x}\right\} \\

&=\frac{-\sigma^{2} \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}

\end{aligned}$

と表せます。よって、$V[\widehat{y}]$の式は、

$\begin{aligned}

V[\widehat{y}] &=V\left[\widehat{\beta}_{0}\right]+x^{2} V\left[\hat{\beta}_{1}\right]+2 x \operatorname{Cov}\left(\hat{\beta}_{0}, \hat{\beta}_{1}\right) \\

&=\frac{\sigma^{2} \bar{x}^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}+x^{2} \cdot \frac{\sigma^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}+2 x \cdot\left\{\frac{-\sigma^{2} \bar{x}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\} \\

&=\frac{\sigma^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}} \cdot\left(\bar{x}^{2}+x^{2}-2 \bar{x} x\right)

\end{aligned}$

ここで、$\bar{x^{2}}$は次のように表せます。

$\begin{array}{l}

\bar{x^{2}}-\bar{x}^{2}=\sigma_{x}^{2}=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{n} \\

\bar{x^{2}}=\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{n}+\bar{x}^{2}

\end{array}$

これを代入すると、

$

\begin{aligned}

V[\widehat{y}] &=\frac{\sigma^{2}}{\sum_{i=1}^{2}\left(x_{i}-\bar{x}\right)^{2}} \cdot\left\{\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{n}+\bar{x}^{2}-2 \bar{x} x+x^{2}\right\} \\

&=\frac{\sigma^{2}}{\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}} \cdot\left\{\frac{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}{n}+(x-\bar{x})^{2}\right\} \\

&=\sigma^{2} \cdot\left\{\frac{1}{n}+\frac{(x-\bar{x})^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\}

\end{aligned}$

と整理することができます。

以上まとめると、$\widehat{y}$は次の正規分布にしたがう、ということになります。

$\begin{array}{l}

\widehat{y} \sim N(E[\widehat{y}], V[\hat{y}]) \\

\end{array}$

$\begin{array}{l}\

\hat{y} \sim N\left(\beta_{0}+\beta_{1} x,   \sigma^{2}\left\{\frac{1}{n}+\frac{(x-\bar{x})^{2}}{\sum_{i=1}^{n}\left(x_{i}-\bar{x}\right)^{2}}\right\}\right)

\end{array}$