equal_l2’s blog

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

最小二乗法(4) 多項式フィッティング

前:最小二乗法(3) 線形最小二乗法と非線形最小二乗法 - equal_l2’s blog
次:最小二乗法(5) 線形近似 - equal_l2’s blog

\def \vb {\vec{\beta}} \def \fxb {f(x_i,\vb)}今回は、次のような形のモデル関数\fxbについて、\vbを求める。
{\displaystyle \fxb=\sum_{k=0}^{d} \beta_k {x_i}^k}
このモデル関数は、d次の多項式である。

さて、正規方程式は次のようなものであった。
{\displaystyle
\sum_{i=1}^{n}\frac{\partial \fxb}{\partial \beta_j} y_i =
\sum_{i=1}^{n}\frac{\partial \fxb}{\partial \beta_j} \fxb
}

これに上の\fxbを代入すると、
\displaystyle{\frac{\partial \fxb}{\partial \beta_j}={x_i}^j}
より、
\begin{eqnarray}
\sum_{i=1}^{n}{x_i}^j y_i
&=& \sum_{i=1}^{n}{x_i}^j \sum_{k=0}^{d} \beta_k {x_i}^k \\
&=& \sum_{i=1}^{n} \sum_{k=0}^{d} \beta_k {x_i}^{j+k} \\
&=& \sum_{k=0}^{d} \sum_{i=1}^{n} \beta_k {x_i}^{j+k} \\
&=& \sum_{k=0}^{d} \beta_k \sum_{i=1}^{n} {x_i}^{j+k} \\
\end{eqnarray}


ここで、
{\displaystyle X_m = \sum_{i=1}^{n}{x_i}^m,Y_m=\sum_{i=1}^{n}{x_i}^m y_i}
とおくと、上の式は、
\begin{eqnarray}
Y_j
&=& \sum_{k=0}^{d} \beta_k X_{j+k} \\
&=& \beta_0 X_j + \beta_1 X_{j+1} + \cdots + \beta_d  X_{j+d}
\end{eqnarray}

これより、

  \left\{
    \begin{array}{l}
     \begin{eqnarray}
      Y_0 &=& \beta_0 X_0 + \beta_1 X_{1} + \cdots + \beta_d  X_{d} \\
      Y_1 &=& \beta_0 X_1 + \beta_1 X_{2} + \cdots + \beta_d  X_{1+d} \\
      &\vdots& \\
      Y_d &=& \beta_0 X_d + \beta_1 X_{d+1} + \cdots + \beta_d  X_{d+d} \\
     \end{eqnarray}
    \end{array}
  \right.
という連立方程式が得られる。

行列形式で書けば、

    \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)

あとは、これを\vbの各要素について解けばよい。


次回は、実際にd=1(線形近似)を導いてみる。