最小二乗法と平均

こんにちは。データサイエンスチーム tmtkです。
この記事では、最小二乗法と平均の関係について説明します。最小二乗法は標準的には回帰分析で用いられますが、実は平均も最小二乗法で捉えることができます。
また、最小二乗法と平均の間と同じ関係が、“最小一乗法”と中央値の間にもあることを説明します。

最小二乗法と回帰

最小二乗法とは、回帰分析のパラメータとして、残差の二乗和を最小にするパラメータを選択する手法です。
線形回帰を例にとって具体的に説明します。線形回帰とは、
1. データ(x_1, y_1) , (x_2, y_2), \ldots, (x_n, y_n) \in \mathbb{R}^d \times \mathbb{R}が与えられている。
2. 変数x, yの関係が y = \beta_1x + \beta_0で近似できると仮定する。
3. yの残差 y_i - (\beta_1x_i + \beta_0) の二乗和\sum_{i=1}^n \left(y_i - \left(\beta_1x_1 + \beta_0\right)\right)^2を最小にする\beta_1, \beta_0を計算する。(これが 最小二乗法
4. 3. で得られた\beta_1, \beta_0を用いて、データ列にy=\beta_1x + \beta_0の関係があると見積もる。
という手続きです。
このような、回帰の手続きのうち、残差の二乗和を最小化する手順のことを、最小二乗法といいます。

最小二乗法と算術平均

データx_1, x_2, \ldots, x_n \in \mathbb{R} が与えられているとします。
いま、距離の二乗和関数L(\mu) := \sum_{i=1}^n (x_i - \mu) ^2を最小にする\muを求める問題を考えてみます。これは、二乗和を最小にする問題なので、ある意味で“最小二乗法”だと考えることができます。
L(\mu)を計算しましょう。
\begin{aligned}L(\mu) &= \sum_{i=1}^n(x_i - \mu)^2 \\&= \sum_{i=1}^n(\mu^2 - 2x_i\mu + x_i^2) \\&= n\mu^2 - 2(\sum_{i=1}^nx_i)\mu + \sum_{i=1}^n x_i^2 \\&= n(\mu - \frac{\sum_{i=1}^n x_i}{n})^2 -\frac{(\sum_{i=1}^n x_i)^2}{n} + \sum_{i=1}^n x_i^2.\end{aligned}
したがって、二次関数の一般論から、Lを最小にする\mu\mu = \frac{\sum_{i=1}^nx_i}{n}であることがわかります。これはx_1, x_2, \ldots, x_n \in \mathbb{R}の算術平均です。
したがって、算術平均は“最小二乗法”で計算できると考えることができます。これで、最小二乗法と算術平均の意外な関係が明らかになりました。

“最小一乗法”と中央値

実は、最小二乗法と算術平均の間の関係が、“最小一乗法”(正確には、差のL1ノルムの和の最小化)と中央値の間にもあてはまることがわかります。以下で、これを説明します。
まず、中央値の定義を復習します。

定義. 中央値

  1. データの数が奇数個の場合。
    データx_1, x_2, \ldots, x_{2k+1} \in \mathbb{R}が与えられているとする。いま、データは昇順にならんでいるとする。すなわち、x_i \leq x_j (i < j)が成り立っているとする。
    このとき、このデータの中央値m
    m = x_{k+1}
    で定義する。
  2. データの数が偶数個の場合。
    データx_1, x_2, \ldots, x_{2k} \in \mathbb{R}が与えられているとする。いま、データは昇順にならんでいるとする。すなわち、x_i \leq x_j (i < j)が成り立っているとする。
    このとき、このデータの中央値m
    m = \frac{x_{k}+x_{k+1}}{2}
    で定義する。

さて、前の議論を、“最小一乗法”に変えて実行してみましょう。すると、次の定理が成り立ちます。

定理.

x_1, x_2, \ldots, x_{n} \in \mathbb{R}x_i \leq x_j (i < j)を満たしているとする。
関数L\colon \mathbb{R} \to \mathbb{R}L(m) = \sum_{i=1}^n |m-x_i| (m\in\mathbb{R})で定義する。
このとき、x_1, x_2, \ldots, x_{n}の中央値は、Lの最小値を与える。

証明の方針.

正確な証明を与える前に、証明の方針を述べます。
簡単な例として、x_1, x_2, \ldots, x_{n} \in \mathbb{R}1, 3, 6の場合を考えてみます。
このとき、中央値は3です。
fig1
L(m) = |m-1| + |m-3| + |m-6|は、各点1, 3, 6からmの距離の和だと考えることができます。
定理の主張は、この距離の和がm=3で最小になるということです。
いま、はじめm=3にあったmが、小さい距離\delta > 0 だけ増え、m=3+\deltaになったとします。
fig2
このとき、

  1. 1からmの距離は、3-1から(3+\delta)-1に変化し、\delta>0だけ増える。
  2. 3からmの距離は、3-3から(3+\delta)-3に変化し、\delta>0だけ増える。
  3. 6からmの距離は、6-3から6-(3+\delta)に変化し、\delta>0だけ減る。
    fig3
    ということで、

これらを合計したLは、\delta + \delta - \delta = \delta > 0だけ増える。

ということがわかります。
これを一般化すると、おおざっぱに言って、

数直線上でmが右に動くと、mより左側にあった点の数に比例して距離の和Lが大きくなり、mより右側にあった点の数に比例してLが小さくなる。mが左に動くと、mより左側にあった点の数に比例して距離の和Lが小さくなり、mより右側にあった点の数に比例してLが大きくなる。

ということがいえます。したがって、数直線上でmの左側にも右側にも同じ数の点がある状態が、Lが一番小さくなる状態であり、そのようなmは中央値です。

この描像に沿って、証明をします。

証明.

データの数が偶数の場合も同様なので、奇数の場合にだけ証明する。
n=2k+1とおく。いま、x_i\leq x_{k+1} (i\leq k+1),\, x_i \geq x_{k+1} (i \geq k+1)が成り立っている。
m=x_{k+1}Lの最小値を与えることを証明するためには、任意のmに対してL(m)\geq L(x_{k+1})が成立することを示せばよい。
mを任意にとり、\delta = m - x_{k+1}とおく。

  1. \delta \geq 0のとき。
    i\leq k+1に対して、|m-x_i| = |x_{k+1}+\delta-x_i| = (x_{k+1}-x_i) +\delta = |x_{k+1}-x_i|+\deltaが成り立つ。
    また、i > k+1に対して、三角不等式より|x_{k+1}-x_i| = |(x_{k+1}+\delta-x_i) +\delta| \leq |m-x_i| +\deltaが成り立つ。したがって、|m-x_i|\geq|x_{k+1}-x_i|-\deltaが成り立つ。
    以上より、L(m)=\sum_{i=1}^{k+1}|m-x_i| +\sum_{i=k+2}^{n}|m-x_i| \geq \sum_{i=1}^{k+1}\left(|x_{k+1}-x_i|+\delta\right)+\sum_{i=k+2}^{n}\left(|x_{k+1}-x_i|-\delta\right) = L(x_{k+1})+\delta\geq L(x_{k+1})となって、L(m)\geq L(x_{k+1})が成立する。
  2. \delta \leq 0のとき。
  3. の場合と同様。

以上より、定理が成立することがわかる。

まとめ

差の二乗和を最小化するのが算術平均であり、差の絶対値の和を最小化するのが中央値です。

参考

倉田博史・星野崇宏『入門統計解析』新世社,2009年

AWS利用料$100ドル無料

あなたにおすすめの記事