最小二乗法~なぜ誤差の二乗の逆数で重み付けすると良いのか?~その1

はじめに

投稿論文の査読コメントに返信するのに、久しぶりに5次元の連立微分方程式を解く機会があったのですが、計算能力がかなり落ちていることに気づきました。
思い返すとD論を書き始めた辺りから計算が面倒で論文に載っている式をそのまま使うようになった気がします。学部時代は学費と生活費を稼ぐためにバイトで忙しかったため、脳内で微積分計算を復習するとかやっていた訳ですが、今は簡単な計算すらやり方を忘れて鉛筆を握ったまま固まり、数秒後ネット検索をすることが増えました。
実用上は、調べて多少時間かけても解ければ研究を行う上では問題はないですが。
論文/G検定がひと段落したため、計算練習のためにこれまで証明をせずに結果だけ知っていた事柄の証明を行なっていこうと思います。ただし、厳密な数学の説明は避けます。
初回は、最小二乗法を行う特になぜ誤差の二乗の逆数で重み付けすると良いのか?です。

最小二乗法

最小二乗法は得られたデータに最もよく当てはまる関数を求める方法です。"最もよく当てはまる"の定義はたくさんありますが、一般的にユークリッド距離で定義された目的関数の誤差の2乗を用います。具体的に1次関数で近似するとすると下記の$${\sigma^2}$$が誤差関数になります。

$${\sigma^2 = \sum_{i=1}^n (y_i - ax_i - b)^2}$$

$${\sigma^2}$$を最小にすると言うことは、a, bで偏微分した値が0になるa, bを求めれば良いため(ラグランジュの未定乗数法)

$${\frac{\partial \sigma}{\partial a} = -\sum_{i=1}^n x_i(y_i - ax_i - b)=0}$$
$${\frac{\partial \sigma}{\partial b} = -\sum_{i=1}^n (y_i - ax_i - b)=0}$$

であり、上記の連立方程式は下記の行列式で表現できる。

$$\begin{pmatrix}\sum_{i=1}^n x_i^2 & \sum_{i=1}^n x_i \\ \sum_{i=1}^nx_i&n \\\end{pmatrix}\begin{pmatrix}a \\b \\\end{pmatrix} = \begin{pmatrix} \sum_{i=1}^n x_iy_i \\ \sum_{i=1}^n y_i \\\end{pmatrix}$$

左辺の逆行列を両編にかけると

$$\begin{pmatrix}a \\b \\\end{pmatrix} = \frac{1}{n\sum_{i=1}^n x_i^2 - (\sum_{i=1}^nx_i)^2}  \begin{pmatrix}n & -\sum_{i=1}^n x_i \\ -\sum_{i=1}^nx_i& \sum_{i=1}^n x_i^2 \\\end{pmatrix} \begin{pmatrix} \sum_{i=1}^n x_iy_i \\ \sum_{i=1}^n y_i \\\end{pmatrix}$$

最尤推定法

同様に最尤推定法を用いても上記の式が得られることが知られています。誤差が平均0標準偏差$${\alpha}$$の標準偏差に従うと

$${f_(x; 0, \alpha) = \frac{1}{\sqrt{2\pi}{\alpha}}} exp{-\frac{\sigma}{2\alpha}} $$

と$${x_i}$$を生成する確率密度関数は表現できる。ここからn回$${x_i}$$を生成するした時の尤度関数$${L(\theta)}$$は

$${{L(\theta)} = \prod_{i=1}^{n} f_(x_i; 0, \alpha) = \prod_{i=1}^{n}\frac{1}{\sqrt{2\pi}{\alpha}}} exp{-\frac{\sigma_i}{2\alpha}} $$

この尤度関数を最大化するa, bの組み合わせを考えれば良いため、

$${log({L(\theta)}) = -\frac{n}{2}log{(2\pi{\alpha}^2)}} - \sum_{i=1}^{n}{-\frac{(y_i - ax_i - b)^2}{2\alpha}}$$

をa,bで微分すれば良い訳です。右辺第一項はa,bで微分すると消えるため、第二項のみを考えればよく、結局ラグランジュの未定乗数法で解いた式に合流するのが少し考えるとわかると思います。
眠いため、核心部分はその2に書きたいと思います。本日はここまで。


この記事が気に入ったらサポートをしてみませんか?