質問: データのカーブフィッティングについて (x,y)の組み合わせのデータが数多くあり、y=a+bx+cx^2..という曲線をフィットさせることを考えます。係数a, b, cを求めるということです。エクセルとか科学ソフトに入っているものと思います。 この係数の決め方は、実際にはどのような方針なのしょうか。例えば、最小二乗法のように誤差を調べて、その誤差の式をa, b, cで偏微分して0として3つの式を立て、それを解いてa, b, cを求めるというようなことでしょうか。それはダメなんじゃないかと思うのですが。 y(x,z)=a+bx+czで、x, zが独立ならそれがやれるのであり、この場合、z=x^2なのでzのxに対する独立性に問題があるからなのですが。どうでしょうか。 試しにy=1.5x^2 でxに乱数を与えて計算して(x, y)の組み合わせを数多く作成し、模擬データとしてy=a+bx+cx^2のa, b, cを推定してa=b=0, c=1.5がしっかり算出されるものでしょうか。y=1.5x^2 で乱数で発生したデータであっても低次のy=a + bxという式で最小二乗法を使えばa, b(いずれも非0)の結果が出ますね。そこでもう1つ高次の項 cx^2を付けて推定したら先のa, bが変更を受けてa, bが0でc=1.5となる結果が出てくるものでしょうか。 よろしくお願いします。
回答: >科学ソフトに入っているものと思います。 フリーソフトの には 任意の関数形でフィッティングできる機能があります。 もちろんy=a+bx+cx^2..という曲線をフィットさせることも可能です。 >最小二乗法のように誤差を調べて、その誤差の式をa, b, cで偏微分して0として3つの式を立て、それを解いてa, b, cを求めるというようなことでしょうか。 >それはダメなんじゃないかと思うのですが。 非線形関数にも対応した最小二乗法を採用しているので何ら問題ありません。 gnuplot を実際に使って, 係数を求めて得られたフィッティング関数をプロットして確認してみて下さい。納得できると思います。