「曲線あてはめ」の版間の差分
削除された内容 追加された内容
→直線または多項式曲線: もう少し厳密な記述にした |
Seseraginen (会話 | 投稿記録) 編集の要約なし |
||
1行目:
'''曲線あてはめ'''または'''カーブフィッティング'''({{lang-en-short|curve fitting}})<ref name=honma>本間 仁,春日屋 伸昌「次元解析・最小二乗法と実験式」コロナ社(1989)</ref><ref name=kagawa>加川 幸雄,霜山 竜一「入門数値解析」朝倉書店(2000)</ref><ref name=Jhon>John R. Taylor、林 茂雄、 馬場 凉「計測における誤差解析入門 」東京化学同人(2000)</ref><ref name=yoshi>吉沢 康和「新しい誤差論―実験データ解析法 」共立出版 (1989/10) </ref>は、実験的に得られたデータまたは制約条件に最もよく
== 一般論 ==
=== 最小二乗法による最適関数の推定 ===
'''
:<math>y=g(\textbf{x})</math>
を求めることである。説明変数としては測定条件を考えることが多く、目的変数としては、測定値を考えることが多い。説明変数、目的変数共にベクトル量である可能性があるが、測定値のほうは、多変数関数の微分が、値域側の成分に関して独立であることからスカラー量としても一般性を失わない。一方、多変数関数の微分は、定義域側の成分については独立でないため、一般論を述べる上ではベクトル量としておかなければならない。以下、測定条件は、k次元ベクトルの形で与えられているとする。成分で表記すると
:<math>\textbf{x}=\left(
\vdots\\
\right)</math>
となる。
実験データは、説明変数に関するデータ<math>{\textbf{x}}
と目的変数に関するデータ<math>
<math>(
'''
:<math>S(\textbf{a} )=\sum_{j=1}^
を最小とするような、<math>
:<math>{\textbf{a}}=\left(
\vdots\\
\right)</math>
のことを、'''フィッティングパラメータ'''と言う。また、関数Sを考えるときには <math>(y_1 ,\textbf{x}_1 ),\cdots ,(y_n ,\textbf{x}_n )</math> は、もはや定数ベクトルでしかないことに注意されたい。飽くまで関数Sの変数は <math>a_1,\cdots a_{\alpha}</math> である。
尚、Sを定義するにあたり、各データに対して、適当な定数(正または0)<math>
:<math>S(\textbf{a} )= \sum_{j=1}^
のようにすることもある。この方法によって、y方向に誤差(Yエラーバー)がある場合や、「測定回数の異なるデータの平均」の比較が可能であるが、x方向にも誤差(Xエラーバー)がある場合には、対応できない。x方向にも誤差がある場合には、デミングの方法<ref name=honma/>を用いる。尚、(1-1)は「(1-1')において、
'''
「もしも、<math>
この定理は、最適なフィッティングパラメータに対する必要条件を与える。極小値を与えるような <math>
「Sの <math>
がある。無論、極小値が仮に存在したとして、それらが必ずしも最小であるとは限らない。
(1-1)のSを最小とするようなフッティングパラメータ <math>
:<math>g( \textbf{x} )=f( \textbf{x} ,
このgは、説明変数 <math>\textbf{x}</math> と目的変数yの間に
<math>\textbf{x}</math> とyの関数であり、フィッティングパラメータは定数ベクトルと考える。
一般には、「必ず <math>(y,\textbf{x} )=(0,\textbf{0} )</math> を通る」といった[[付帯条件]]が
尚、付帯条件のある場合、ない場合共に、実際の数値計算では、Levenberg-Marquardt algorithm(レーベンバーグ・マルカート法)が用いられることが多い。
90 ⟶ 73行目:
:<math>y = ax + b\;</math>
これは、傾斜 ''a'' の直線である。一般に、このような直線は''x''座標の異なる2点によって一意に定まる。したがって1次多項式は、''x''座標の異なるデータ点がちょうど2個ある場合に、正確にそれらを通る直線となる。無論、最小二乗法を使う場合には、データ点が何個あっても、最適な直線が一意に定まる。ただし、最適な直線とは、残差平方和が最小というだけで、そのデータの素性を最もよく
次数を上げて2次多項式にすると、次のような式になる。
96 ⟶ 79行目:
:<math>y = ax^2 + bx + c\;</math>
この場合、''x''座標の異なる任意の3点に
さらに次数を上げて3次多項式にすると、次のような式になる。
102 ⟶ 85行目:
:<math>y = ax^3 + bx^2 + cx + d\;</math>
この場合、''x''座標の異なる任意の4点に
より一般化すれば、4つの「制約」を正確に満足する、と言える。制約は点だけでなく、[[角度]]や[[曲率]](接する円の半径の逆数)などもある。角度や曲率の制約は曲線の端に設定することが多く、それを'''端末条件''' (end condition) と呼ぶ。多項式曲線を連結した[[スプライン曲線]]が滑らかな曲線となるには、連結する両方の多項式曲線で端末条件を同一にする必要がある。より高次の制約として、例えば「曲率の変化率」といった制約を与えることもある。これは例えば、[[クローバー型]][[インターチェンジ]]で通行する自動車にかかる力を決め、制限速度を決定するのに役立つ。
また、1次多項式は1つの点と角度の制約に
''n'' + 1 個より多い制約があるときでも(''n'' は多項式の次数)、それらを満足する多項式曲線を描くことができる場合がある。例えば3つの点が同一直線上に並ぶような配置であれば、1次多項式を正確にあてはめることができる。しかし、このような配置は例外的であって稀である。通常は全制約を正確に満足することは期待できない。よって、一般には近似度を評価する方法を必要とすることになる。[[最小二乗法]]は最も一般的な方法である。
ここで、なぜ近似ではなく多項式の次数を高くして正確に
*
*
*
ここまで、多項式の次数が制約数より少ない場合を述べてきたが、逆に多項式の次数が制約数より大きい場合はどうなるだろうか。上述の高次多項式の問題が
{{see also|多項式補間}}
=== その他の曲線 ===
場合によっては、[[円錐曲線]](円、楕円、放物線、双曲線など)や[[三角関数]](サイン、コサインなど)の曲線を使うこともある。例えば、空気抵抗を無視すると、重力の影響下にある物体の軌跡は放物線を描く。したがって、そのような物体の観測結果に放物線を
=== 代数的曲線あてはめと幾何学的曲線あてはめ ===
130 ⟶ 113行目:
=== 楕円の幾何学的あてはめ ===
上述の技法は非線形なステップを1つ追加することで[[楕円]]に一般化でき<ref>Paul Sheer, A software assistant for manual stereo photometrology, M.Sc. thesis, 1997</ref>、高速に様々な向きと[[離心率]]の楕円を見
=== 曲面への応用 ===
|