equal_l2’s blog

※記載されている内容の正確性は保証しませんが、間違いを指摘していただければ直します。

最小二乗法(8) 重み付き多項式フィッティング

前:最小二乗法(7) 項の欠けた線形近似 - equal_l2’s blog
次:なし
\def\fxb{f(x_i,\vec\beta)}\def\csq{\chi^2}\def\ssq{{\sigma_i}^2}
最小二乗法(1)~(7)で行ってきたフィッティングは、各y_iがすべて同じ誤差\sigma_yを持つものとして行ってきた。
しかし、時には各y_iにそれぞれ違う誤差\sigma_iを付けたい気分の日もあるだろう。

このとき、最小にするのはもはや残差の二乗和ではなく、
\displaystyle\csq=\sum_{i=1}^{n} \frac{\left(y_i- \fxb\right)^2}{\ssq}
である。

方法論は同じで、全てのパラメータ\beta_jについて、
{\displaystyle \frac{\partial \csq}{\partial \beta_j}=0 \rm \hspace{10pt} for \hspace{2pt} all \hspace{2pt} \it j}
となるような\beta_jを求めればよい。

実際に偏微分すると、
\begin{eqnarray}
\frac{\partial \csq}{\partial \beta_j}
&=& \frac{\partial}{\partial \beta_j}\sum_{i=1}^{n}\frac{\left(y_i- \fxb\right)^2}{\ssq}\\
&=& -2 \sum_{i=1}^{n}\frac{\partial \fxb}{\partial \beta_j}\frac{y_i- \fxb}{\ssq}= 0
\end{eqnarray}

変形すれば、正規方程式は
{\displaystyle
\sum_{i=1}^{n}\frac{\partial \fxb}{\partial \beta_j} \frac{y_i}{\ssq} =
\sum_{i=1}^{n}\frac{\partial \fxb}{\partial \beta_j} \frac{\fxb}{\ssq}
}
となる。

各パラメータの誤差は、誤差の伝播式より、
\displaystyle
\sigma(\beta_j)=\sqrt{\sum_{i=1}^{n}\left\{ {\sigma_i}^2 \left( \frac{\partial \beta_j}{\partial y_i} \right)^2\right\}}
となる。

ここで、モデル関数として多項式
{\displaystyle \fxb=\sum_{k=0}^{d} \beta_k {x_i}^k}
を用いて、
\displaystyle X_m = \sum_{i=1}^{n}\frac{{x_i}^m}{\ssq},Y_m=\sum_{i=1}^{n}\frac{{x_i}^m y_i}{\ssq}
とおけば、解くべき正規方程式は

    \left(\begin{array}{c}{Y_0 \\ Y_1 \\ \vdots \\ Y_d }\end{array}\right) =
    
    \left(
    \begin{array}{cccc}
      X_0& X_1& \cdots& X_d& \\
      X_1& X_2& \cdots& X_{1+d}& \\
      \vdots& \vdots& \ddots& \vdots& \\
      X_d& X_{d+1}& \cdots& X_{d+d}& \\
    \end{array}
    \right)

    \left(\begin{array}{c}{\beta_0 \\ \beta_1 \\ \vdots \\ \beta_d }\end{array}\right)
となり、(項の中身が変わったことを除けば)重みをすべて同じにした場合と変わらない。

次回は、一応d=1についての結果を述べておこう。