最小2乗法に適する関数は?

このQ&Aのポイント
  • 最小2乗法に適する関数は、一次関数から始めて次第に次数を上げていく方法が一般的です。
  • データの範囲が狭い場合は一次関数、範囲が広がると曲線になるため、2次関数や3次関数などが有効です。
  • 他にも、特殊な項を加える方法や対数変換を行う方法などがありますが、数学的な解析能力が必要です。
回答を見る
  • ベストアンサー

どんな関数が最小2乗法に適する?

一般論をお聞きしたいのですが、どんな関数に従うか(理論的に)わからないデータがあったとします。 その場合にどんな関数を用いて最小2乗法を行うのが良いのかお尋ねしたいのです。 非常に狭い範囲においては一次関数に従うでしょうから、1次関数にするでしょうし、 少し範囲を広げるとグラフの曲がっているのが見えてくるでしょうから2次関数にするでしょう。 そうやって欲張って(笑)いくと、3次関数,4次関数,…としていくことになるのでしょうが、 他に方法はないのでしょうか。 例えば2次関数に√xの項を加えるとか、3次関数に1/xの項を加えるような方法は有効なのでしょうか。 グラフを見た感じy=ax^n (ただし0<n<1)のような関数なのですが データの対数をとって一次関数にしてもあまり良い近似にならなかったようで、 EXCELの逆行列機能を用いて2次関数,3次関数,…としていったのですが、 わずかであっても極大・極小ができては困ります。 かといって数学力がないので複雑な関数で置いても解けないと困るのです。 こんな事態なのですがアドバイスいただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • at9_am
  • ベストアンサー率40% (1540/3760)
回答No.2

もし各係数が有意になる、などを「良い結果」とするのであればこの方法は使えませんが、単純に R^2 が 1 に近ければ良いというのであれば、私ならこうする、という方法を書きます。 1. グラフを書いてみて大雑把な形を把握する →この問題なら y=ax^n の形 2. 一次関数に変換する →この問題なら log(y) = log(a) + n log(x) 3. もし近似が良くなければ a,n の推定値 a~, n~ を用いて残差 e を e = y - y~ = y - ( log(a~) + n~ log(x) ) として計算し、e と x の関係を 1. から 3. まで繰り返す。 4. 近似が良くなった e と x の関係式を例えば e=b+mx と仮定すると、 log(y) = log(a) + n log(x) + e e = b + m x から log(y) = log(a') + n log(x) + m x とすれば、充分に良い近似が得られる。 この場合、元々の式は y = C x^n exp(x) である。

sak_sak
質問者

補足

残差に対して最小二乗法を行うということですね。 最終結果となる式(y = C x^n exp(x))を導出の段階から使うとなると大変そうですが、これなら何とかなりそうです。ありがとうございました。 ところで、参考までに意味がわからなかったところがあるので、少し教えていただけないでしょうか。 (1)「各係数が有意になる」というのはどういうことでしょうか。 時間と距離の関係を二次関数を用いて最小二乗法で係数を求めたときに、二次の項は加速度と関係がある、というようなことですか? (2)R^2というのは何のことでしょうか。

その他の回答 (2)

  • at9_am
  • ベストアンサー率40% (1540/3760)
回答No.3

> (1)「各係数が有意になる」というのはどういうことでしょうか。 係数の推定値は、当然のことながら分散を持ちます。したがって、係数がゼロかどうかを通常は t 検定を用いて検定する必要があります。 統計的にゼロではないといえる場合、その係数は有意です。 > (2)R^2というのは何のことでしょうか。 y の総変動を説明変数が説明する割合のことで、ゼロと1の間の数値をとります。当然、1であれば y の変動全てを説明していることになりますから、フィットが良くなります。

  • oyaoya65
  • ベストアンサー率48% (846/1728)
回答No.1

最小2乗法に適した関数は滑らかでデータのおおよその特徴を持った関数を使った方がいいですね。n次多項式の近似曲線はどうしても振動(極大、極小値のでるうねりのある曲線)が出てしまい勝ちですね。 最もデータがxの2乗のカーブに沿ってバラついているならxの2乗項を用いた近似関数を使った方かいいですね。 近似関数は、必ずしもxのべき乗だけで構成しなくてもかまいませんね。データの分布をよく観察して、色々な関数にパラメータ係数をつけて表現し、その係数を最小2乗法で決めてやればいいですね。 >グラフを見た感じy=ax^n (ただし0<n<1) そうなら、y=ax^n のaとnを最小2乗法で決めても良い訳ですね。

sak_sak
質問者

補足

>そうなら、y=ax^n のaとnを最小2乗法で決めても良い訳ですね 導出が面倒だったので、とりあえずデータをx,yともに対数にして、 一次関数で近似したのですがあまり良い近似になりませんでした。 それでもy=ax^nでの近似で良くなる可能性はあるのでしょうか。 nを無限まで行えば多項式で十分なわけですよね。 そう考えると、途中で打ち切っているとはいうものの、二次関数の式に闇雲に√xの項や1/xの項を入れるのは無駄があるような気もするのです。 √xの項を入れるのなら、x√xの項を入れなくていいのか、とも考えてしまいます。 私がしたいのは、文献にあるデータの補完をしたいのです。 文献のデータが3桁まで書いてあるのなら、最小2乗法で求めた関数に代入して得られた値の4桁目を四捨五入して元のデータに合うようなものを作りたいのですが…。 そしてデータの性質上、明らかに単調増加なんです。

関連するQ&A

  • 最小二乗法の解き方

    こんにちは。 最小二乗法で解くらしいんですが、解き方がわかりません。 問題は、 ||(Axーb)||=0 (Aはm×n行列)(m>n)            (xはn×1) のとき、b=0で ||x||=(x^T)x=1の条件でxを最小二乗法 でどうやって求めたらよいのでしょうか。 よろしくお願いします

  • 最小二乗法とデータのばらつきを除去

    実験データに最小二乗法を適用して近似関数(y=ax+b)を求めたいです。 しかし,実験データにはばらついた値があり,得られた近似関数も それらの値によって,おおきくずれてしまいます。 そこで,何らかの方法でばらついた値を排除していき, 信頼できる近似関数を求めたいと思います。 聞いたところ,正規分布か何らかの方法で, 信頼区間(95%)以外のデータを除去すれば良いと のことですが,具体的な方法が分かりません。 実験データyi,xiと最小二乗法でy(=a*xi+b)から どのような処理をすればよいのか教えてください。 よろしくお願いします。

  • 直線近似法と対数近似法とは?

    仕事で急に必要になりました。 直線近似法と対数近似法について 教えていただきたく投稿いたしました。 Webで調べたのですが (x_1,y_1),(x_2,y_2),...,(x_n,y_n)     (x_1<x_2<...<x_n) とn個の点から 直線近似法はY=aX+bという式で近似し、 近似の仕方には最小二乗法というのがあるようです。最小二乗法以外の方法があれば教えてください。 また、対数近似法については上記n点を (x_1,log(y_1)),(x_2,log(y_2)),...,(x_n,log(y_n))     (x_1<x_2<...<x_n) とした上で直線近似法を用いて得られた直線Y=aX+b を用いて10^(aX+b)で求める方法でよろしいのでしょうか? 以上宜しくお願いいたします。

  • 最小二乗法の応用について

    実験により、xに対するyの値をxの値をかえながら、N回測定した。測定したxに対するyの関係をグラフに描くと、次の二次関数で表現するのが適当であることがわかった。 y=ax*x+bx+c この時、最小二乗法によりパラメータa、b、cの値を求める式を導出せよ。という問題なのですが、どのようにしたら最小二乗法で求めることができるのですか? どうか教えてください

  • 次数が未知の最小二乗法について

    最小二乗法により実験データを解析したいと考えています。 n回の測定でyとxを求め、 y=ax^2+bx+c という二次関数でフィッティングする場合、未知パラメータabcを擬似逆行列で求めるというところまでは分かったのですが、 y=ax^d+bx+c というように、未知パラメータがabcに加えて、次数のdも未知の場合にはどのように解いたら良いのでしょうか。 どなたか分かる方、教えてください。

  • 最小二乗法の問題

    (x、y)についてのん組のデータ(x1、y1).......(xn、yn)が直線y=ax+bの近似できるとき、aとbを最小二乗法により求めよ。

  • 数値解析について

     ある実験をして全部で9個の結果を得ました。この9個のデータからグラフを描きたいのですが、データにはばらつきがあり、困っています。そこで皆さんにお聞きしたいです。  もし結果がn次関数になることが予想できれば最小二乗法で近似し、グラフを描くのですが、今回の結果は対数関数(自然対数)になることが予想されるのです。何かいい近似方法はないですか?

  • 円の最小二乗法の公式

    いくつかのデータから最小二乗法で近似曲線を求めたいのですが、よくわかりません。そのデータ集の近似曲線は円になります。 最小二乗法を調べ、1次、2次関数についてはわかりました。ある点の座標を(x1,y1), (x2,y2)…、近似曲線上の座標を(x1,y’1),(x2,y’2)… とした時、 (y’1-y1)^2 + (y’2-y2)^2 … が最小となるような係数a,b などを偏微分 → 連立方程式で求めるという方法でした。 円についても、同様の方法で r^2 = (x-a)^2 + (y-b)^2 のような近似曲線の式が求められるのでしょうか?1次関数などのように、y’1-y1を求めようとすると、±√ が出てきてしまい、ややこしくなる気がしますが、これを解くしかないのでしょうか?もしくは別の解法があるのでしょうか?詳しく教えていただけたらと思います。よろしくお願いします。

  • 三次関数の問題です

    関数F(x)=Xの3乗-3(a-1)Xの二乗-12aX(aは実数の定数)のついて、F(X)の極大値M(a)のグラフをかけ。 という問題がどうしても解けません。緊急を要しています。誰か助けてください。

  • 最小二乗法 ニュートン法

    ニュートン法で最小二乗法を使うとき、x+Δxを近似解として、テイラー展開して f(x+Δx)=f(x)+f’(x)Δx この式から新しい近似解を得ると思います。 この時のfは何の関数なのでしょうか? 残差の二乗和でいいのでしょうか? わかる方お願いします。