曲線あてはめ
[Wikipedia|▼Menu]

曲線あてはめ(きょくせんあてはめ)またはカーブフィッティング(: curve fitting)[1][2][3][4]は、実験的に得られたデータまたは制約条件に最もよく当てはまるような曲線を求めること。最良あてはめ、曲線回帰とも。一般に内挿回帰分析を用いる。場合によっては外挿も用いる。回帰分析で曲線を求める場合、その曲線はデータ点を必ず通るわけではなく、曲線とデータ点群の距離が最小になるようにする。曲線あてはめによって得られた曲線を、近似曲線という。特に回帰分析を用いた場合には回帰曲線という。現実の実験データは直線的ではないことが多いため散布図、近似曲線を求める必要性は高い。
一般論
最小二乗法による最適関数の推定

我々が考えるべき問題は、実験データを実験を説明する「説明変数」と「目的変数」に分類した上で、説明変数 x {\displaystyle {\textbf {x}}} と、目的変数yの関係 y = g ( x ) {\displaystyle y=g({\textbf {x}})}

を求めることである。説明変数としては測定条件を考えることが多く、目的変数としては、測定値を考えることが多い。説明変数、目的変数共にベクトル量である可能性があるが、測定値のほうは、多変数関数の微分が、値域側の成分に関して独立であることからスカラー量としても一般性を失わない。一方、多変数関数の微分は、定義域側の成分については独立でないため、一般論を述べる上ではベクトル量としておかなければならない。以下、測定条件は、k次元ベクトルの形で与えられているとする。成分で表記すると 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}}} を求める問題に帰着される[1]。この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-1')の関数Sの極値問題[5]に他ならない。一般に、極値問題は解を持たない可能性があり、また、解が存在したとして、重解の可能性もあるが、一般論として、以下の定理が知られている。

「もしも、 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}}} におけるヘッセ行列が正定値(正値, 正定符号)となること」[5]

がある。極小値が仮に存在したとして、それらが必ずしも最小であるとは限らない。例えば、最適な 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}})} を通る」といった付帯条件が付いている場合がある。このような場合には、ラグランジュの未定乗数法[5]が最適なフィッティングパラメータを探る上で手掛かりを与える。

なお、付帯条件のある場合、ない場合共に、実際の数値計算では、Levenberg-Marquardt algorithm(レーベンバーグ・マルカート法)が用いられることが多い。
様々な曲線あてはめ
直線または多項式曲線正弦関数のデータ点群(黒)に対して、1次多項式(赤)、2次多項式(緑)、3次多項式(黄)、4次多項式(青)をあてはめた図


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:24 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef