非線形最小二乗法は、 m個の観測値のセットをn 個の未知のパラメータ ( m ≥ n )に関して非線形なモデルに適合させるために使用される最小二乗分析の形式です。これは、いくつかの非線形回帰の形式で使用されます。この方法の基本は、モデルを線形モデルで近似し、連続的な反復によってパラメータを改良することです。線形最小二乗法と多くの類似点がありますが、いくつかの重要な違いもあります。経済理論では、非線形最小二乗法は、(i) プロビット回帰、(ii) 閾値回帰、(iii) 平滑回帰、(iv) ロジスティックリンク回帰、(v) Box–Cox 変換回帰変数 ( )
一連のデータポイント、そして曲線(モデル関数)変数に加えてまた、パラメータ、とベクトルを求めることが望まれている 最小二乗法の意味で与えられたデータに曲線が最もよく適合するようなパラメータ、つまり二乗和 が最小化され、残差(サンプル内予測誤差)r iは次のように与えられる。 のために
Sの最小値は、勾配がゼロのときに発生します。モデルにはn個のパラメータが含まれているため、 n個の勾配方程式が存在します。
非線形システムでは、導関数はこれらは独立変数とパラメータの両方の関数であるため、一般にこれらの勾配方程式には閉じた解がありません。代わりに、パラメータの初期値を選択する必要があります。次に、パラメータは反復的に改良されます。つまり、値は逐次近似によって得られます。
ここで、kは反復回数であり、増分のベクトルは、これはシフトベクトルとして知られています。各反復において、モデルは の周りの一次テイラー多項式展開への近似によって線形化されます。 ヤコビ行列Jは定数、独立変数、およびパラメータの関数であるため、反復ごとに変化します。したがって、線形化モデルの観点から、 残差は次のように与えられる。
これらの式を勾配方程式に代入すると、次のようになる。 これらを整理すると、n個の連立一次方程式、正規方程式となる。
正規方程式は行列表記で次のように表される。
これらの式は、非線形最小二乗問題に対するガウス・ニュートン法の基礎となる。
導関数を用いたヤコビ行列の定義における符号規約に注意してください。係数とともに現れる可能性がある他の記事や文献にも記載されています。
観測値の信頼性が等しくない場合、加重二乗和を最小化することができます。
対角重み行列Wの各要素は、理想的には、測定の誤差分散の逆数に等しくなければならない。 [ 1 ] より一般的には、正規方程式は次のようになる。
線形最小二乗法では、目的関数Sはパラメータの 二次関数である。パラメータが1つしかない場合、そのパラメータに関するS のグラフは放物線になります。パラメータが2つ以上ある場合、任意の2つのパラメータに関するSの等高線は同心円楕円になります(正規方程式行列がは正定値です。最小パラメータ値は楕円の中心で見つかります。一般的な目的関数の形状は放物面楕円として記述できます。NLLSQでは、目的関数は最小値に近い領域でのみパラメータに関して二次関数であり、その領域では切り捨てテイラー級数がモデルの良い近似となります。 パラメータ値が最適値から大きく乖離するほど、等高線は楕円形から大きく逸脱します。このことから、初期パラメータ推定値は、可能な限り(未知の!)最適値に近づけるべきであることがわかります。また、ガウス・ニュートン法は目的関数がパラメータに関して近似的に2次式である場合にのみ収束するため、発散が発生する理由も説明できます。
条件不良や発散の問題は、最適値に近い初期パラメータ推定値を見つけることで修正できます。これを行う良い方法は、コンピュータシミュレーションです。観測データと計算データの両方が画面に表示されます。観測データと計算データの一致が十分に良好になるまで、モデルのパラメータを手動で調整します。これは主観的な判断になりますが、非線形改良の良い出発点を見つけるには十分です。初期パラメータ推定値は、変換または線形化を使用して作成できます。さらに良いのは、確率的漏斗アルゴリズムなどの進化アルゴリズムを使用すると、最適なパラメータ推定値を取り囲む凸状の吸引領域が得られます。 ランダム化とエリート主義を使用し、ニュートン法を併用するハイブリッドアルゴリズムは、有用で計算効率が高いことが示されています。
以下に説明する方法のいずれも、解決策を見つけるために適用できます。
収束の常識的な基準は、二乗和が反復ごとに増加しないことである。しかし、この基準は、さまざまな理由から、実際には実装が難しい場合が多い。有用な収束基準は、 0.0001という値はやや恣意的であり、変更する必要があるかもしれない。特に、実験誤差が大きい場合は、値を大きくする必要があるかもしれない。代替基準としては、
繰り返しますが、数値はやや恣意的です。0.001は、各パラメータを0.1%の精度で精緻化することを指定するのと同等です。これは、パラメータの最大相対標準偏差よりも小さい場合に妥当です。
ヤコビ行列の要素の解析的表現を導出することが非常に困難、あるいは不可能なモデルも存在する。その場合、数値近似 は、計算によって得られる。のためにそして増加分、数値微分が大きすぎると近似誤差を生じ、小さすぎると丸め誤差を生じないように、サイズを選択する必要があります。
重み付き最小二乗法のページにある該当セクションに、関連情報が記載されています。
複数の極小値が発生する可能性のある状況は様々であり、その例としては以下のようなものがある。
複数の最小値が存在する場合、目的関数の値が必ずしも等しいとは限りません。偽の最小値(局所的最小値とも呼ばれる)は、目的関数の値が、いわゆる大域的最小値における値よりも大きい場合に発生します。見つかった最小値が大域的最小値であることを確実にするには、パラメータの初期値を大きく変えて最適化を開始する必要があります。開始点に関わらず同じ最小値が見つかった場合、それは大域的最小値である可能性が高いと言えます。
複数の最小値が存在する場合、重要な結果が生じます。目的関数は、2 つの最小値の間のどこかに停留点 (例えば、最大値または鞍点) を持ちます。目的関数の停留点では、勾配がゼロになり、降下方向が一意に存在しないため、正規方程式行列は正定値ではありません。停留点に近い点 (パラメータ値の集合) からの改良は条件が悪く、開始点としては避けるべきです。たとえば、ローレンツ関数をフィッティングする場合、ローレンツ関数の半幅がゼロのとき、正規方程式行列は正定値ではありません。[ 2 ]
非線形モデルは、場合によっては線形モデルに変換できます。このような近似は、例えば、最良推定量の近傍でよく適用され、ほとんどの反復最小化アルゴリズムにおける基本的な仮定の1つです。線形近似が有効な場合、モデルは一般化最小二乗法による推論に直接使用でき、線形テンプレート適合[ 3 ]の式が適用されます。
線形近似のもう1つの例は、モデルが単純な指数関数である場合です。 これは対数を取ることで線形モデルに変換できる。 グラフ上では、これは片対数グラフ上 での作業に相当します。二乗和は次のようになります。 誤差が乗法的で対数正規分布に従う場合を除き、この手順は避けるべきです。なぜなら、誤解を招く結果が生じる可能性があるからです。これは、 yの実験誤差がどのような値であっても、 log yの誤差は異なるためです。したがって、変換された二乗和を最小化すると、パラメータ値とその計算された標準偏差の両方で異なる結果が得られます。しかし、乗法的誤差が対数正規分布に従う場合、この手順によって偏りのない一貫性のあるパラメータ推定値が得られます。
別の例として、2つのパラメータを決定するために使用されるミカエリス・メンテン速度論が挙げられる。そして: ラインウィーバー・バークプロット のに対してパラメータに関して線形であるそしてしかし、データエラーに非常に敏感で、独立変数の特定の範囲にデータを適合させる傾向が強い。。
正規方程式 解決できるかもしれない線形最小二乗法で説明されているように、コレスキー分解によってパラメータが反復的に更新されます。 ここで、kは反復回数である。この方法は単純なモデルには十分かもしれないが、発散が発生すると失敗する。したがって、発散を防ぐ対策が不可欠である。
発散が発生した場合、簡単な対処法はシフトベクトルの長さを短くすることです。分数f 例えば、目的関数の新しい値が最後の反復での値よりも小さくなるまで、シフトベクトルの長さを順次半分にすることができます。分数fは、線探索によって最適化できます。[ 4 ] f の各試行値では目的関数を再計算する必要があるため、その値を厳密に最適化する価値はありません。
シフトカットを使用する場合、シフトベクトルの方向は変化しません。このため、この方法の適用範囲は、目的関数がパラメータに関してほぼ二次関数である場合とシフトベクトルの方向が大きく異ならない状況に限定されます。
発散が発生し、シフトベクトルの方向が「理想的な」方向から大きく外れてシフトカットが効果的でない場合、つまり発散を回避するために必要な割合fが非常に小さい場合は、方向を変更する必要があります。これはマルカートパラメータを使用することで実現できます。[ 5 ]この方法では、正規方程式が修正されます。 どこはマルカートパラメータであり、Iは単位行列です。 の値を増やすとシフトベクトルの方向と長さの両方を変更する効果があります。シフトベクトルは、最も急な降下方向に向かって回転します。 は最も急な降下ベクトルです。したがって、が非常に大きくなると、シフトベクトルは最急降下ベクトルのごく一部になります。
マルカートパラメータの決定には様々な戦略が提案されている。シフトカット法と同様に、このパラメータを厳密に最適化しすぎると無駄になる。むしろ、目的関数の値を減少させる値が見つかったら、そのパラメータの値を次の反復に持ち越し、可能であれば減少させ、必要であれば増加させる。マルカートパラメータの値を減少させる場合、カットオフ値が存在し、その値以下であれば安全にゼロに設定できる。つまり、修正されていないガウス・ニュートン法を継続できる。カットオフ値はヤコビアンの最小特異値に等しく設定できる。[ 6 ]この値の上限は次のように与えられる。ここで、trはトレース関数である。[ 7 ]
二乗和の最小値は、正規方程式を立てる必要のない方法で求めることができます。線形化モデルを用いた残差は次のように表すことができます。 ヤコビ行列は直交分解の対象となり、QR分解はその過程を説明するために用いられる。 ここでQは直交行列である行列であり、 Rは分割された行列ブロック、、そしてゼロブロック。上三角形です。
残差ベクトルは左から乗算される。
これは二乗和には影響しない。Qは直交しているため、 Sの最小値は上側のブロックがゼロのときに得られます。したがって、シフトベクトルは、次の式を解くことによって求められます。
Rは上三角関数であるため、これらの式は容易に解くことができる。
直交分解法の変形として、特異値分解があり、これはRをさらに直交変換によって対角化するものである。
どこ直交しており、は特異値の対角行列であり、は、の固有ベクトルの直交行列である。または同等に右特異ベクトルこの場合、シフトベクトルは次のように与えられる。
この式の比較的単純さは、非線形最小二乗法の理論的解析において非常に有用である。特異値分解の応用については、LawsonとHanson [ 6 ]で詳しく議論されている。
There are many examples in the scientific literature where different methods have been used for non-linear data-fitting problems.
Direct search methods depend on evaluations of the objective function at a variety of parameter values and do not use derivatives at all. They offer alternatives to the use of numerical derivatives in the Gauss–Newton method and gradient methods.
これらの方法やその他の方法に関するより詳細な説明は、『数値計算レシピ』に掲載されており、様々なプログラミング言語によるコンピュータコードも併せて提供されています。