非線形最小二乗法

非線形最小二乗法（ひせんけいさいしょうにじょうほう、英: non-linear least squares）とは、観測データに対するカーブフィッティング手法の一つであり、最小二乗法を非線形なモデル関数に拡張したものである。非線形最小二乗法は、未知パラメータ（フィッティングパラメータ）を非線形の形で持つ関数モデルを用いて、観測データを記述すること、すなわち、データに最も当てはまりの良いフィッティングパラメータを推定することを目的とする。 m {\displaystyle m} 個のデータポイント ( x i , y i ) , ( x 2 , y 2 ) , … , ( x m , y m ) {\displaystyle (x_{i},y_{i}),(x_{2},y_{2}),\dots ,(x_{m},y_{m})} からなるセットに対し、 n {\displaystyle n} 個のフィッティングパラメータ β 1 , β 2 , … , β n {\displaystyle \beta _{1},\beta _{2},\dots ,\beta _{n}} を持つモデル関数 y = f ( x , β ) {\displaystyle y=f(x,{\boldsymbol {\beta }})} (1-1) をあてはめる場合を考える。ここで、それぞれのデータ ( x m , y m ) {\displaystyle (x_{m},y_{m})} において、 x i {\displaystyle x_{i}} は説明変数とし、 y i {\displaystyle y_{i}} は目的変数とする。 β = ( β 1 , β 2 , … , β n ) {\displaystyle {\boldsymbol {\beta }}=(\beta _{1},\beta _{2},\dots ,\beta _{n})} は、前記の n {\displaystyle n} 個のフィッティングパラメータ β i {\displaystyle \beta _{i}} からなる実数ベクトルとする。 また、以下で定まる残差 r i = y i − f ( x i , β ) ( i = 1 , 2 , … , m ) {\displaystyle r_{i}=y_{i}-f(x_{i},{\boldsymbol {\beta }})\qquad (i=1,2,\dots ,m)} (1-2) のそれぞれは、それぞれ、期待値 0 {\displaystyle 0} 、標準偏差 σ i {\displaystyle \sigma _{i}} の正規分布に従うとする。また、話を簡単にするため、 x i {\displaystyle x_{i}} それぞれは、いずれも誤差を持たないとする。 このとき、考えるべき問題は、もっとも当てはまりのよい β {\displaystyle {\boldsymbol {\beta }}} を見つけ出すことである。 非線形最小二乗法では、以下の残差平方和（より正確に言えば、標準化された残差平方和） S ( β ) = ∑ i = 1 m r i 2 2 σ i 2 = ∑ i = 1 m ( y i − f ( x i , β ) ) 2 2 σ i 2 {\displaystyle S({\boldsymbol {\beta }})=\sum _{i=1}^{m}{\frac {r_{i}^{2}}{2{\sigma }_{i}^{2}}}=\sum _{i=1}^{m}{\frac {({y}_{i}-f({x}_{i},{\boldsymbol {\beta }}))^{2}}{2{\sigma }_{i}^{2}}}} (1-3) を最小とするような β {\displaystyle {\boldsymbol {\beta }}} が、もっとも当てはまりの良い f {\displaystyle f} を与えるフィッティングパラメータと考える。 この考え方は、数多ある考え方の一つに過ぎない。他の考え方としては、例えば ∑ i = 1 n | r i | {\displaystyle {\sum }_{i=1}^{n}|{r}_{i}|} を最小にする考え方 ∑ i = 1 m ( y i − f ( x i , β ) ) 2 {\displaystyle \sum _{i=1}^{m}(y_{i}-f(x_{i},{\boldsymbol {\beta }}))^{2}} を最小とする考え方（単に各データのバラつきが同じと勝手に仮定しただけ）。 データ、モデル関数共に何らかの変換（例えば対数変換）を加えたうえで、最小二乗法をする考え方。 カイ二乗値を最小にする考え方。 等があり得る。これらの考え方で”最適”となったフッティングパラメータは、最小二乗法では”最適”とは限らない。 ただし、最小二乗法の考え方は、確率論的に尤もらしさが裏付けられている。このことについては、次節にて論じる。 最小二乗法は、正規分布に対応したフィッティングパラメータの最尤推定法である。ここでは最小二乗法の尤もらしさについて、確率論を援用して検討する。すなわち、残差 r i {\displaystyle {\boldsymbol {r_{i}}}} それぞれが、期待値 0 {\displaystyle {\boldsymbol {0}}} 、標準偏差 σ i {\displaystyle {\boldsymbol {\sigma _{i}}}} の正規分布に従う確率変数であり、かつ、 r i {\displaystyle r_{i}} からなる確率変数の族は、独立試行と考え、確率論を援用する。 仮定より、残差 r i {\displaystyle r_{i}} それぞれは、いずれも、期待値 0 {\displaystyle 0} 、標準偏差 σ i {\displaystyle \sigma _{i}} の正規分布に従うため、あるデータセット ( x i , y i ) {\displaystyle (x_{i},y_{i})} において、その測定値が y i {\displaystyle y_{i}} となる確率 P ( y i ) {\displaystyle P(y_{i})} は、 P ( y i ) = 1 σ 2 π exp ⁡ ( − r i 2 2 σ 2 ) {\displaystyle {P}({y}_{i})={\frac {1}{\sigma {\sqrt {2\pi }}}}\exp \left(-{\frac {{r}_{i}^{2}}{2\sigma ^{2}}}\right)} 　(2-1) となる。 今、データの測定は（数学的に言えば残差 r i {\displaystyle {\boldsymbol {r_{i}}}} それぞれが）独立試行と考えられるため、 m {\displaystyle {\boldsymbol {m}}} 個のデータポイントのセット ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x m , y m ) {\displaystyle {\boldsymbol {(x_{1},y_{1}),(x_{2},y_{2}),\ldots ,(x_{m},y_{m})}}} が得られる確率 P ( y 1 , … , y m ) {\displaystyle {\boldsymbol {P(y_{1},\ldots ,y_{m})}}} は、 P ( y 1 , … , y m ) = ∏ i = 1 m P ( y i ) = ∏ i = 1 m 1 σ 2 π exp ⁡ ( − r i 2 2 σ 2 ) = 1 ( σ 2 π ) m exp ⁡ ( ∑ i = 1 m ( − ( y i − f ( x i , β ) ) 2 2 σ 2 ) ) {\displaystyle {\begin{aligned}P(y_{1},\dots ,y_{m})&=\prod _{i=1}^{m}P(y_{i})\\&=\prod _{i=1}^{m}{\frac {1}{\sigma {\sqrt {2\pi }}}}\exp \left(-{\frac {r_{i}^{2}}{2\sigma ^{2}}}\right)\\&={\frac {1}{(\sigma {\sqrt {2\pi }})^{m}}}\exp \left(\sum _{i=1}^{m}\left(-{\frac {(y_{i}-f(x_{i},{\boldsymbol {\beta }}))^{2}}{2\sigma ^{2}}}\right)\right)\end{aligned}}} 　(2-2) となる。ここで、 Π i = 1 n {\displaystyle {\Pi }_{i=1}^{n}} は、連乗積を表す。 上式において、正規分布の単峰性より、確率 P ( y i , … , y m ) {\displaystyle P(y_{i},\ldots ,y_{m})} は、 S ( β ) = ∑ i = 1 m ( y i − f ( x i , β ) ) 2 2 σ 2 {\displaystyle S(\beta )=\sum _{i=1}^{m}{\frac {(y_{i}-f(x_{i},{\boldsymbol {\beta }}))^{2}}{2\sigma ^{2}}}} 　(2-3) が最小（最も 0 {\displaystyle 0} に近いとき）において、最大（最尤）となる。すなわち、最尤法の教えるところによれば、このとき、もっとも当てはまりがよいと考えるのが妥当だろうということになる。 我々が考えるべき問題は、標準化された残差平方和 S ( β ) = ∑ i = 1 m r i 2 2 σ i 2 = ∑ i = 1 m ( y i − f ( x i , β ) ) 2 2 σ i 2 {\displaystyle S({\boldsymbol {\beta }})=\sum _{i=1}^{m}{\frac {r_{i}^{2}}{2\sigma _{i}^{2}}}=\sum _{i=1}^{m}{\frac {(y_{i}-f(x_{i},{\boldsymbol {\beta }}))^{2}}{2\sigma _{i}^{2}}}} 　(3-1) を最小とするようなパラメータ β {\displaystyle {\boldsymbol {\beta }}} を見つけることである。 このような β {\displaystyle {\boldsymbol {\beta }}} において、 S {\displaystyle S} の勾配 grad S {\displaystyle S} は 0 {\displaystyle 0} になる（必要条件）。したがって、このような β {\displaystyle {\boldsymbol {\beta }}} は、以下の連立方程式の解となる。 ∂ S ∂ β j = 2 ∑ i = 1 m r i ∂ r i ∂ β j = 0 ( j = 1 , … , n ) ( 1 ) {\displaystyle {\frac {\partial S}{\partial \beta _{j}}}=2\sum _{i=1}^{m}r_{i}{\frac {\partial r_{i}}{\partial \beta _{j}}}=0\quad (j=1,\dots ,n)\qquad (1)} 　(3-2) 線形の最小二乗法では、式(3-2)は未知パラメータ β {\displaystyle {\boldsymbol {\beta }}} についての連立一次方程式になるため、行列を用いて容易に解くことができるが、非線形最小二乗法では反復解法を用いる必要がある。解法には以下のような方法が知られている。 最急降下法 ニュートン法 ガウス・ニュートン法 Marquardt法、修正Marquardt法 パウエル（Powell）の最小二乗法、パウエルのハイブリッド法 ^ a b 本間 仁; 春日屋 伸昌『次元解析・最小二乗法と実験式』コロナ社、1989年。  ^ a b c d T. Strutz: Data Fitting and Uncertainty (A practical introduction to weighted least squares and beyond). Vieweg+Teubner, ISBN 978-3-8348-1022-9. Ch6に、非線形最小二乗法の尤もらしさに関する記述が記載されている。 ^ http://www.hulinks.co.jp/support/kaleida/curvefit.html ^ a b 中川徹; 小柳義夫『最小二乗法による実験データ解析』東京大学出版会、1982年、19, 95-124頁。ISBN 4-13-064067-4。  ^ 実際には、重解が出る場合も多い。 ^ 少なくとも m > n {\displaystyle m>n} でなければナンセンスとなる。 ^ 無論、例えば一つの特別な状況として、いずれの残差の標準偏差も、全て同じ値σである時、すなわち、 r i {\displaystyle r_{i}} それぞれが、期待値 0 {\displaystyle 0} 、標準偏差 σ {\displaystyle \sigma } の正規分布に従う場合には、残差平方和 S {\displaystyle S} から、共通項 1 / ( 2 σ i 2 ) {\displaystyle 1/(2{\sigma _{i}}^{2})} がくくりだせる。したがって、この場合には、最小二乗法は、 ∑ i = 1 m ( y i − f ( x i , β ) ) 2 {\displaystyle \sum _{i=1}^{m}(y_{i}-f(x_{i},{\boldsymbol {\beta }}))^{2}} を最小とするような β {\displaystyle {\boldsymbol {\beta }}} が、最も当てはまりが良いと考えるのと同等である。