平均値は二乗誤差最小,中央値は絶対誤差最小

更新日時 2022/05/13

平均値と中央値について,少し難しい(けどおもしろい)性質を紹介します。(平均値と中央値の意味は→平均値,中央値,最頻値の求め方といくつかの例

平均値と中央値の性質
  • 平均値は平均二乗誤差(MSE,Mean Squared Error)を最小にする。
  • 中央値は平均絶対誤差(MAE,Mean Absolute Error)を最小にする。

この性質を,以下の順に説明していきます。

  • レベル1:具体例で主張の意味を大雑把に理解する
  • レベル2:1を一般化して,データの平均値・中央値の性質を理解する
  • レベル3:連続型確率分布についても考える
目次
  • レベル1:具体例

  • レベル2:データの平均値・中央値の性質

  • レベル3:連続型確率分布の場合

  • 分位点回帰

レベル1:具体例

まずは,高校数学の問題です。「平均は二乗誤差(差の二乗和)を最小にする」という意味を理解しましょう。

例題1

f(x)=(xa)2+(xb)2+(xc)2f(x)=(x-a)^2+(x-b)^2+(x-c)^2

を最小にする xx を計算せよ。

解答

二次関数の最小化問題。平方完成すると,

f(x)=3x22(a+b+c)x+a2+b2+c2=3(xa+b+c3)2+定数f(x)=3x^2-2(a+b+c)x+a^2+b^2+c^2\\ =3\left(x-\dfrac{a+b+c}{3}\right)^2+定数

よって,x=a+b+c3x=\dfrac{a+b+c}{3} のとき最小になる。

xxa,b,ca,b,c の平均値 a+b+c3\dfrac{a+b+c}{3} と一致するときが最小でした! 平均値は二乗誤差(差の二乗和)を最小にするというわけです。

次は中央値です。

例題2

f(x)=xa+xb+xcf(x)=|x-a|+|x-b|+|x-c|

を最小にする xx を計算せよ。ただし,abca\leq b\leq c とする。

解答

絶対値を含む関数の最小化問題。場合分けすると,

  • xax\leq a のとき f(x)=3x+a+b+cf(x)=-3x+a+b+c
  • axba\leq x\leq b のとき f(x)=xa+b+cf(x)=-x-a+b+c
  • bxcb\leq x\leq c のとき f(x)=xab+cf(x)=x-a-b+c
  • cxc\leq x のとき f(x)=3xabcf(x)=3x-a-b-c

pic01 グラフは図のような折れ線になる。x=bx=b のとき最小値 cac-a となる。

xxa,b,ca,b,c の中央値 bb と一致するときが最小でした! 中央値は絶対誤差(差の絶対値の和)を最小にするというわけです。

レベル2:データの平均値・中央値の性質

次は,nn 個の数からなるデータについて考えます。

問題

nn 個のデータ x1,x2,,xnx_1,x_2,\cdots,x_n について「全体としてどれくらいの大きさなのか」1つの数 xx で表現したい。

考え方1:平均値

誤差が最小となる xx を代表としよう。ただし,誤差とは,ズレの二乗の和 L(x)=i=1n(xxi)2L(x)=\displaystyle\sum_{i=1}^n(x-x_i)^2 のこととしよう。

例題1と同様に,L(x)L(x) を最小にする xx を平方完成 or 微分で計算すると,x=x1+x2++xnnx=\dfrac{x_1+x_2+\cdots +x_n}{n} となる。

つまり,上記赤文字の考え方に基づくと,代表値は平均値とするべき。

考え方2:中央値

誤差が最小となる xx を代表としよう。ただし,誤差とは,ズレの大きさの和 L(x)=i=1nxxiL(x)=\displaystyle\sum_{i=1}^n|x-x_i| のこととしよう。

例題2と同様に,L(x)L(x) を最小にする xx を場合分けで計算すると,

  • nn が奇数なら,x=xn+12x=x_{\frac{n+1}{2}} のとき
  • nn が偶数なら,xn2xxn+22x_{\frac{n}{2}}\leq x\leq x_{\frac{n+2}{2}} のとき

となる。つまり,上記赤文字の考え方に基づくと,代表値は中央値とするべき。

※「中央値なら L(x)L(x) 最小」ですが「L(x)L(x) を最小にする xx は中央値のみ」とは言えません。nn が偶数の場合は,L(x)L(x) を最小にする xx には幅があります。

考え方3:最頻値

誤差が最小となる xx を代表としよう。ただし,誤差とは,一致していないものの数 L(x)={ixxi}L(x)=|\{i\mid x\neq x_i\}| のこととしよう。

この考え方に基づくと,代表値は最頻値とするべきです。

レベル3:連続型確率分布の場合

次は,連続型確率分布について考えます。

前提知識:確率密度関数の意味と具体例

問題

確率密度関数が f(x)f(x) である確率分布について「全体としてどれくらいの大きさなのか」1つの数 xx で表現したい。

考え方1:平均値

誤差が最小となる xx を代表としよう。ただし,誤差とは,ズレの二乗の期待値 L(x)=(xt)2f(t)dtL(x)=\displaystyle\int_{-\infty}^{\infty}(x-t)^2f(t)dt のこととしよう。

二乗を展開すると,

L(x)=x2f(t)dt2xtf(t)dt+(xに依存しない定数)L(x)\\ =x^2\displaystyle\int_{-\infty}^{\infty}f(t)dt-2x\displaystyle\int_{-\infty}^{\infty}tf(t)dt+(xに依存しない定数)

第一項の積分は,確率密度関数の定義より 11 なので,

x22xtf(t)dtx^2-2x\displaystyle\int_{-\infty}^{\infty}tf(t)dt を最小にする xx を考えればよい。これは xx の二次関数であり,平方完成 or 微分により x=tf(t)dtx=\displaystyle\int_{-\infty}^{\infty}tf(t)dt のとき最小になることがわかる。これは平均値(期待値)の定義そのもの。

つまり,上記赤文字の考え方に基づくと,代表値は平均値とするべき。

考え方2:中央値

誤差が最小となる xx を代表としよう。ただし,誤差とは,ズレの大きさの期待値 L(x)=xtf(t)dtL(x)=\displaystyle\int_{-\infty}^{\infty}|x-t|f(t)dt のこととしよう。

絶対値の中身の符号で場合分けすると,

L(x)=x(tx)f(t)dt+x(xt)f(t)dt=xtf(t)dtxxf(t)dt+xxf(t)dtxtf(t)dtL(x)=\displaystyle\int_{x}^{\infty}(t-x)f(t)dt+\displaystyle\int_{-\infty}^x(x-t)f(t)dt\\ =\displaystyle\int_{x}^{\infty}tf(t)dt-x\displaystyle\int_x^{\infty}f(t)dt+x\int_{-\infty}^xf(t)dt-\int_{-\infty}^xtf(t)dt

定積分で表された関数の微分の公式を使って L(x)L(x)xx で微分すると,

  • 第一項は xf(x)-xf(x)
  • 第四項は xf(x)-xf(x)
  • 第二項は xf(t)dt+xf(x)-\displaystyle\int_x^{\infty}f(t)dt+xf(x)
  • 第三項は xf(t)dt+xf(x)\displaystyle\int_{-\infty}^xf(t)dt+xf(x)

よって,導関数は L(x)=xf(t)dt+xf(t)dtL'(x)=-\displaystyle\int_x^{\infty}f(t)dt+\displaystyle\int_{-\infty}^xf(t)dt

これは,xx が小さいときマイナス,中央値(50%点)のとき 00,大きいときプラスになる。つまり,xx が中央値のとき L(x)L(x) は最小。

つまり,上記赤文字の考え方に基づくと,代表値は中央値とするべき。

分位点回帰

中央値は,

L(x)=x(tx)f(t)dt+x(xt)f(t)dtL(x)=\displaystyle\int_{x}^{\infty}(t-x)f(t)dt+\displaystyle\int_{-\infty}^x(x-t)f(t)dt

という誤差関数を最小化するのでした。この誤差関数を少し変形して

Lα(x)=αx(tx)f(t)dt+(1α)x(xt)f(t)dtL_{\alpha}(x)=\alpha\displaystyle\int_{x}^{\infty}(t-x)f(t)dt+(1-\alpha)\displaystyle\int_{-\infty}^x(x-t)f(t)dt

を考えてみます。ただし,0α10\leq\alpha\leq 1 です(大きい方のズレと小さい方のズレでペナルティに差をつけています)。α=12\alpha=\dfrac{1}{2} の場合が中央値に対応します。

中央値の場合と同様に計算すると,導関数は

Lα(x)=αxf(t)dt+(1α)xf(t)dtL'_{\alpha}(x)=-\alpha\displaystyle\int_x^{\infty}f(t)dt+(1-\alpha)\displaystyle\int_{-\infty}^xf(t)dt

となります。これが 00 になるのは,xf(t)dt=α\displaystyle\int_{-\infty}^xf(t)dt=\alpha のときです。つまり,xx が下側 α\alpha パーセント点と一致するとき Lα(x)L_{\alpha}(x) が最小になります。

この「Lα(x)L_{\alpha}(x) を最小にする xx が下側 α\alpha パーセント点」という性質を利用して,データから下側 α\alpha パーセント点を予測する手法があります(分位点回帰,Quantile Regression)。

高校数学のテクニックがたくさん登場して楽しかったです。