曲線あてはめ

出典: フリ?百科事典『ウィキペディア(Wikipedia)』

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

一般論 [ 編集 ]

最小二?法による最適??の推定 [ 編集 ]

我?が考えるべき問題は 、??デ?タを??を?明する「 ?明?? 」と「 目的?? 」に分類した上で、?明?? と、目的??yの?係

を求めることである。?明??としては測定?件を考えることが多く、目的??としては、測定値を考えることが多い。?明??、目的??共にベクトル量である可能性があるが、測定値のほうは、多????の微分が、値域側の成分に?して?立であることからスカラ?量としても一般性を失わない。一方、多????の微分は、定義域側の成分については?立でないため、一般論を述べる上ではベクトル量としておかなければならない。以下、測定?件は、k次元ベクトルの形で?えられているとする。成分で表記すると

となる。

??デ?タは、?明??に?するデ?タ と目的??に?するデ?タ の組、 の形で得られる。また、j番目の測定?件 の第i成分を で表すものとする。

我?が考えるべき問題 は、適?な 個のパラメ?タ と、k+ ??の?? を考え、 の値を調整し

 ???? (1-1)

を最小とするような、 を求める問題に?着される [1] 。このSの平方根 のことを、「???てはめ時の誤差」という。ここで

のことを、 フィッティングパラメ?タ と言う。また、??Sを考えるときには は、もはや定?ベクトルでしかないことに注意されたい。飽くまで??Sの??は である。

なお、Sを定義するにあたり、各デ?タに?して、適?な定?(正または0) によって重みを付け、

 ???? (1-1')

のようにすることもある。この方法によって、y方向に誤差(Y エラ?バ? )がある場合や、「測定回?の異なるデ?タの平均」の比較が可能であるが、x方向にも誤差(Xエラ?バ?)がある場合には、??できない。x方向にも誤差がある場合には、デミングの方法 [1] を用いる。なお、(1-1)は「(1-1')において、全てのデ?タの重みづけが等しい?況」を意味することに注意されたい。

我?が考えるべき問題 は、(1-1)あるいは(1-1')の??Sの 極値問題 [5] に他ならない。一般に、極値問題は解を持たない可能性があり、また、解が存在したとして、重解の可能性もあるが、一般論として、以下の定理が知られている。

「もしも、 で、Sが極値をとるとすると、 である。」

この定理は、最適なフィッティングパラメ?タに?する必要?件を?える。極小値を?えるような の十分?件としては、

「Sの における ヘッセ行列 正定値(正値, 正定符?) となること」 [5]

がある。極小値が?に存在したとして、それらが必ずしも最小であるとは限らない。例えば、最適な が無限遠に存在する可能性もある。

(1-1)のSを最小とするようなフッティングパラメ?タ が得られた場合には、以下の を、最適??(xがスカラ?の場合には、最適曲線)という。

(1-2)

このgは、?明?? と目的??yの間に1つの???係を?えている。つまり、このgは、 とyの??であり、フィッティングパラメ?タは定?ベクトルと考える。

一般には、「必ず を通る」といった 付??件 が付いている場合がある。このような場合には、 ラグランジュの未定??法 [5] が最適なフィッティングパラメ?タを探る上で手掛かりを?える。

なお、付??件のある場合、ない場合共に、?際の?値計算では、Levenberg-Marquardt algorithm(レ?ベンバ?グ?マルカ?ト法)が用いられることが多い。

??な曲線あてはめ [ 編集 ]

直線または多項式曲線 [ 編集 ]

正弦??のデ?タ点群(?)に?して、1次多項式(赤)、2次多項式(?)、3次多項式(?)、4次多項式(?)をあてはめた?

まず、次のような1次 多項式 を考える。

これは、傾斜 a の直線である。一般に、このような直線は x 座標の異なる2点によって一意に定まる。したがって1次多項式は、 x 座標の異なるデ?タ点がちょうど2個ある場合に、正確にそれらを通る直線となる。最小二?法を使う場合には、デ?タ点が何個あっても、最適な直線が一意に定まる。ただし、最適な直線とは、 ?差平方和 が最小というだけで、そのデ?タの素性を最もよく表しているとは限らない。

次?を上げて2次多項式にすると、次のような式になる。

この場合、 x 座標の異なる任意の3点に?てはめることができる。

さらに次?を上げて3次多項式にすると、次のような式になる。

この場合、 x 座標の異なる任意の4点に?てはめることができる。

より一般化すれば、4つの「制約」を正確に?足する、と言える。制約は点だけでなく、 角度 曲率 (接する円の半?の逆?)などもある。角度や曲率の制約は曲線の端に設定することが多く、それを 端末?件 (end condition) と呼ぶ。多項式曲線を連結した スプライン曲線 が滑らかな曲線となるには、連結する?方の多項式曲線で端末?件を同一にする必要がある。より高次の制約として、例えば「曲率の?化率」といった制約を?えることもある。これは例えば、 クロ?バ?型 インタ?チェンジ で通行する自動車にかかる力を決め、制限速度を決定するのに役立つ。

また、1次多項式は1つの点と角度の制約に?てはめることができ、3次多項式は2つの点と1つの角度、1つの曲率の制約に?てはめることができる。他にも??な制約の組み合わせで各種次?の多項式を?てはめることができる。

n  + 1 個より多い制約があるときでも( n は多項式の次?)、それらを?足する多項式曲線を描くことができる場合がある。例えば3つの点が同一直線上に?ぶような配置であれば、1次多項式を正確にあてはめることができる。しかし、このような配置は例外的であって稀である。通常は全制約を正確に?足することは期待できない。よって、一般には近似度を評?する方法を必要とすることになる。 最小二?法 は最も一般的な方法である。

ここで、なぜ近似ではなく多項式の次?を高くして正確に?てはめようとしないのかという疑問が生じる。それには、以下のような理由がある。

  • 正確な一致が存在するとしても、それを計算できるとは限らない。使用しているアルゴリズムによっては計算が?散してしまって解を求められなかったり、非常に時間がかかることがある。
  • デ?タそのものに誤差がある場合、各点を正確に通る曲線よりも近似的な曲線の方が好ましい場合がある。
  • ルンゲ現象 が起きやすい。 n 次多項式曲線の ?曲点 の?は最大 n-2 である。したがって、一般に次?が低いほうが曲線はより滑らかになる。次?が高くても滑らかな曲線にすることは可能だが、次?が低い方が簡?である。

ここまで、多項式の次?が制約?より少ない場合を述べてきたが、逆に多項式の次?が制約?より大きい場合はどうなるだろうか。上述の高次多項式の問題が全て生じることになるだけでなく、解が一意に定まらないという問題も生じる。そこから1つの曲線を選?するのはソフトウェアや人間の役割となる。このため、近似でよい場合は次?をなるべく低く設定するのが一般に最善とされている。

その他の曲線 [ 編集 ]

場合によっては、 円錐曲線 (円、楕円、放物線、?曲線など)や 三角?? (サイン、コサインなど)の曲線を使うこともある。例えば、空?抵抗を無視すると、重力の影響下にある物?の軌跡は放物線を描く。したがって、そのような物?の?測結果に放物線を?てはめることは意味がある。潮の干?は正弦波のパタ?ンを描くので、干?に?するデ?タには正弦曲線を?てはめることができる。あるいは、より正確には月と太陽の影響を考慮して、2種類の正弦曲線の合成を?てはめることもある。

代?的曲線あてはめと幾何?的曲線あてはめ [ 編集 ]

代?的なデ?タ解析においては、曲線とデ?タ点のY軸方向の距離を最小化するような曲線を求める。しかし、グラフィックスや?像の分野では、幾何?的な曲線あてはめ、すなわち曲線とデ?タ点の直交する距離が最小になるような曲線を求める(あるいは、X軸とY軸の?方で曲線とデ?タ点の距離を最小化する)方が見た目がよい。しかし、幾何?的曲線あてはめは非線形かつ反復的な計算を必要とするため、あまり使われない。

円の幾何?的あてはめ [ 編集 ]

Coope [6] は、2次元のデ?タ点群に視?的に最もうまくあてはまる円を求める問題を考えた。その手法は非線形な問題を?値解析的な反復なしに線形な問題にみごとに?換でき、??の技法よりも劇的に性能を向上させることができる。

楕円の幾何?的あてはめ [ 編集 ]

上述の技法は非線形なステップを1つ追加することで 楕円 に一般化でき [7] 、高速に??な向きと 離心率 の楕円を見付けることができる。

曲面への?用 [ 編集 ]

以上、2次元の曲線を論じてきたが、同じことは3次元空間における曲面にも適用できる。通常、 u v という2つの方向を表すパラメ?タに沿った曲線の網で定義されるパッチ(あて布)を?べたものが曲面となる。

ソフトウェア [ 編集 ]

R言語 のような統計パッケ?ジ、 GNU Scientific Library SciPy のような ?値解析ソフトウェア には、曲線あてはめ用コマンドがある。また、曲線あてはめ?用のプログラムとして、TableCurve、 Fityk などがある。詳しくは外部リンクを?照。

脚注 [ 編集 ]

  1. ^ a b c 本間 仁,春日屋 伸昌「次元解析?最小二?法と??式」コロナ社(1989)
  2. ^ 加川 幸雄,霜山 ?一「入門?値解析」朝倉書店(2000)
  3. ^ John R. Taylor、林 茂雄、 馬場 凉「計測における誤差解析入門 」東京化?同人(2000)
  4. ^ 吉? 康和「新しい誤差論―??デ?タ解析法 」共立出版 (1989/10)
  5. ^ a b c 島 和久「多??の微分積分?」近代科?社 (1991/09)
  6. ^ Coope, I.D., Circle fitting by linear and nonlinear least squares , Journal of Optimization Theory and Applications Volume 76, Issue 2, New York: Plenum Press, February 1993
  7. ^ Paul Sheer, A software assistant for manual stereo photometrology, M.Sc. thesis, 1997

外部リンク [ 編集 ]

?? [ 編集 ]

オンラインの解? [ 編集 ]

オンライン計算器、アプリケ?ション、デモ [ 編集 ]