最小二乗法による最適関数の推定
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/10/06 18:54 UTC 版)
「曲線あてはめ」の記事における「最小二乗法による最適関数の推定」の解説
我々が考えるべき問題は、実験データを実験を説明する「説明変数」と「目的変数」に分類した上で、説明変数 x {\displaystyle {\textbf {x}}} と、目的変数yの関係 y = g ( x ) {\displaystyle y=g({\textbf {x}})} x = ( x 1 ⋮ x k ) {\displaystyle {\textbf {x}}=\left({\begin{matrix}x_{1}\\\vdots \\x_{k}\\\end{matrix}}\right)} となる。 実験データは、説明変数に関するデータ x 1 , ⋯ , x n {\displaystyle {\textbf {x}}_{1},\cdots ,{\textbf {x}}_{n}} と目的変数に関するデータ y 1 , ⋯ , y n {\displaystyle y_{1},\cdots ,y_{n}} の組、 ( y 1 , x 1 ) , ⋯ , ( y n , x n ) {\displaystyle (y_{1},{\textbf {x}}_{1}),\cdots ,(y_{n},{\textbf {x}}_{n})} の形で得られる。また、j番目の測定条件 x i {\displaystyle {\textbf {x}}_{i}} の第i成分を x i j {\displaystyle x_{ij}} で表すものとする。 我々が考えるべき問題は、適当な α {\displaystyle \alpha } 個のパラメータ a 1 , ⋯ , a α {\displaystyle a_{1},\cdots ,a_{\alpha }} と、k+ α {\displaystyle \alpha } 変数の関数 f ( x , a ) {\displaystyle f({\textbf {x}},{\textbf {a}})} を考え、 a {\displaystyle {\textbf {a}}} の値を調整し S ( a ) = ∑ j = 1 n | y i − f ( x j , a ) | 2 {\displaystyle S({\textbf {a}})=\sum _{j=1}^{n}|y_{i}-f({\textbf {x}}_{j},{\textbf {a}})|^{2}} ・・・・ (1-1) を最小とするような、 a {\displaystyle {\textbf {a}}} を求める問題に帰着される。このSの平方根 S {\displaystyle {\sqrt {S}}} のことを、「関数当てはめ時の誤差」という。ここで a = ( a 1 ⋮ a α ) {\displaystyle {\textbf {a}}=\left({\begin{matrix}a_{1}\\\vdots \\a_{\alpha }\\\end{matrix}}\right)} のことを、フィッティングパラメータと言う。また、関数Sを考えるときには ( y 1 , x 1 ) , ⋯ , ( y n , x n ) {\displaystyle (y_{1},{\textbf {x}}_{1}),\cdots ,(y_{n},{\textbf {x}}_{n})} は、もはや定数ベクトルでしかないことに注意されたい。飽くまで関数Sの変数は a 1 , ⋯ a α {\displaystyle a_{1},\cdots a_{\alpha }} である。 なお、Sを定義するにあたり、各データに対して、適当な定数(正または0) w 1 , ⋯ , w n {\displaystyle w_{1},\cdots ,w_{n}} によって重みを付け、 S ( a ) = ∑ j = 1 n w j | y i − f ( x j , a ) | 2 {\displaystyle S({\textbf {a}})=\sum _{j=1}^{n}w_{j}|y_{i}-f({\textbf {x}}_{j},{\textbf {a}})|^{2}} ・・・・ (1-1') のようにすることもある。この方法によって、y方向に誤差(Yエラーバー)がある場合や、「測定回数の異なるデータの平均」の比較が可能であるが、x方向にも誤差(Xエラーバー)がある場合には、対応できない。x方向にも誤差がある場合には、デミングの方法を用いる。なお、(1-1)は「(1-1')において、全てのデータの重みづけが等しい状況」を意味することに注意されたい。 我々が考えるべき問題は、、(1-1)あるいは(1-1')の関数Sの極値問題に他ならない。一般に、極値問題は解を持たない可能性があり、また、解が存在したとして、重解の可能性もあるが、一般論として、以下の定理が知られている。 「もしも、 a 0 {\displaystyle {\textbf {a}}_{0}} で、Sが極値をとるとすると、 g r a d S ( a 0 ) = 0 {\displaystyle {\rm {grad}}S({\textbf {a}}_{0})={\textbf {0}}} である。」 この定理は、最適なフィッティングパラメータに対する必要条件を与える。極小値を与えるような a {\displaystyle {\textbf {a}}} の十分条件としては、 「Sの a {\displaystyle {\textbf {a}}} におけるヘッセ行列が正定値(正値, 正定符号)となること」 がある。極小値が仮に存在したとして、それらが必ずしも最小であるとは限らない。例えば、最適な a {\displaystyle {\textbf {a}}} が無限遠に存在する可能性もある。 (1-1)のSを最小とするようなフッティングパラメータ a 0 {\displaystyle {\textbf {a}}_{0}} が得られた場合には、以下の g ( x ) {\displaystyle g({\textbf {x}})} を、最適関数(xがスカラーの場合には、最適曲線)という。 g ( x ) = f ( x , a 0 ) {\displaystyle g({\textbf {x}})=f({\textbf {x}},{\textbf {a}}_{0})} (1-2) このgは、説明変数 x {\displaystyle {\textbf {x}}} と目的変数yの間に1つの関数関係を与えている。つまり、このgは、 x {\displaystyle {\textbf {x}}} とyの関数であり、フィッティングパラメータは定数ベクトルと考える。 一般には、「必ず ( y , x ) = ( 0 , 0 ) {\displaystyle (y,{\textbf {x}})=(0,{\textbf {0}})} を通る」といった付帯条件が付いている場合がある。このような場合には、ラグランジュの未定乗数法が最適なフィッティングパラメータを探る上で手掛かりを与える。 なお、付帯条件のある場合、ない場合共に、実際の数値計算では、Levenberg-Marquardt algorithm(レーベンバーグ・マルカート法)が用いられることが多い。
※この「最小二乗法による最適関数の推定」の解説は、「曲線あてはめ」の解説の一部です。
「最小二乗法による最適関数の推定」を含む「曲線あてはめ」の記事については、「曲線あてはめ」の概要を参照ください。
- 最小二乗法による最適関数の推定のページへのリンク