• 締切済み

matlabでの最小二乗法の仕方

matlabを用いてあるデータを Aexp(B*t) (tは時間、AとBはともにパラメータ) で近似したいのですがやり方がわかりません。 よろしくお願いします。

  • eru8r
  • お礼率25% (5/20)

みんなの回答

回答No.1

Y=Aexp(B*t) は log(Y)=log(A)+B*t と置き換えられますよね。 例えば、 t=[0:0.1:1]'; A_ = 0.5; B_ = 0.7; Y = A_.*exp(B_.*t); のtとYが得られたとします。 E=[ones(size(t)) t]; C = E\log(Y); C(1) =exp(C(1)); C で良いのでは?未確認なので間違いがあるかも・・・。 C(1)に0.5 C(2)に0.7 が入っていませんか?

eru8r
質問者

お礼

対数におきかえてやるのですね。 確かめてみたいと思います。 ありがとうございます!

eru8r
質問者

補足

C(1)に0.5 C(2)に0.7 になりました。 ありがとうございました。

関連するQ&A

  • 最小二乗法の問題

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

  • 最小二乗法の重みづけについて教えてください。

    簡単のため、説明変数tと、目的変数xが、共に実数(スカラー)とします。 また、フィッティング関数 F=F(t,a,b,c) も、簡単のため3変数または4変数のスカラー値関数とし、フィッティングパラメータa,b,cも実数(スカラー)とします。また、Fがフィッティングパラメータを2つしか持たない場合(Fが3変数の場合)には、 F(t,a,b)と読み替えて考えることにします。 また、データ、即ち説明変数と目的変数の実測値の組 (t_{i},y_{i})がn個あるとする。 また、以下の4種類の評価関数を考えます。 A:所謂2ノルム A(a,b,c)=Σ|{y}_{i}-F({t}_{i},a,b,c)|^2 B:n個の正数w_{i}を用いて、重みづけ B(a,b,c)=Σ(w_{i}|{y}_{i}-F({t}_{i},a,b,c)|^2) C:単調(非退化、つまり任意の点で微分がバニッシュしない)な関数φを用いて変換 C(a,b,c)=Σ|φ({y}_{i})-φ(F({t}_{i},a,b,c))|^2 D:所謂1ノルム D(a,b,c)=Σ|{y}_{i}-F({t}_{i},a,b,c)| (Q1)このとき、以下の命題のうち、同値な命題はどれとどれですか? P「(a,b,c)がAの極値点である」 Q「(a,b,c)がBの極値点ある」 R「(a,b,c)がCの極値点ある」 S「(a,b,c)がDの極値点である」 (Q2)重みづけの意味について: *実際、最急降下法のプログラムを作ってみると、 Dの場合で、直線に近い形状になるように変換した場合(たとえばシクモイドの場合logをφに取る)。 Cの場合で、変化が緩慢なiに重みをつけた場合。 Aの場合。 の順に速度が速く、いずれの場合もだいたいの場合には、まあまあ(10000回ぐらい再起計算すれば) まあ、見た目に近いグラフが出てきます。 だとしたとき、wやφというのは、何を意味しているのでしょうか? ここで、最急降下法は、以下の意味で考えている 最急降下法の初期パラメータを(a_0,b_0,c_0)とし、 k回目の計算値を({a}_{k},{b}_{k},c_{k})と記載する。 このとき、({a}_{k},{b}_{k},c_{k})は、以下の漸化式を再帰的に数値計算することで求める。 (a_{k+1},b_{k+1},{c}_{k+1})=(a_{k},b_{k},{c}_{k})-ε*grad(J(a,b,c)) 但し。Jは、A,B,Cいずれかの評価関数で、εは充分小さい正定数 (Q4)εのテンソル化: というほど大げさなものではありませんが、εを正値の対角行列にした場合 収束が早いことがあります。この場合εの異方性がフィッティングパラメータの収束性 どのように作用しているのでしょうか?また、こんなことをしてもいいのでしょうか?

  • 最小二乗法について

    いくつか教えてほしいです。 min f(x)=||Ax-b||2・・・・(I) (1)||Ax-b||2ならわかるんですが||Ax-b||の上と下に2がつくのはどういったことでしょうか?? (2)(I)式を行列表現で表すと (A^T)Ax=(A^T)bとなりますが過程は <Ax,b><Ax,b> =<x,(A^T)Ax>-2<(A^T)b,x>+||b|となり最小化するので偏微分をし=0とおくのですが <A,x>の微分はAというのを用いれば-2<(A^T)b,x>の微分が2(A^T)bとなるのはわかるんですが <x,(A^T)Ax>の微分が2(A^T)Axとなるのがわかりません。 内積の微分は講義ではやってないので独学になります。 教授に聞いたらx=(x1,x2) (A^T)Aを2×2{{a,b},{c,d}}とおいて実際に計算し微分すれば理解できるかもと言われ計算してみたのですがよくわかりませんでした。 どうかご教授お願いします。

  • パラメータが9個ある関数(ガウス分布)の最小二乗法による近似

    ある画像から輝度ヒストグラムを取ったところ3つのガウス分布が重なっているような形状になりました。 これをサンプルデータとし、それを3つのガウス分布の和で近似しようと考えています。 求めたいパラメータはガウス分布A・B・Cの高さh1・h2・h3、平均値μ1・μ2・μ3、分散σ1・σ2・σ3です。 最小二乗法により解こうと考えましたが9元連立方程式となり、指数関数の内外にパラメータが入っており、1つの方程式自体長くなっていることにより解くことが困難です。 パラメータを求める上での条件は3つです。 ・サンプルデータを1つのガウス分布で近似しその差を取り、さらにその差をガウス分布で近似し差を取り、再びガウス分布で近似するといった方法を取らない ・h1・h2・h3は必ず正の値をとる ・パラメータはあらかじめおおよその値を予想できない これらの条件の下で解くことは可能でしょうか。 もし可能ならその解き方を教えてください。 この時、いくつかの解法の仕方がある場合はできるだけ簡単かつ計算量の少ないものを教えてください。 よろしくお願いします。

  • 最小2乗法に関して

    はじめて質問させていただきます。よろしくお願いいたします。 数学が苦手でよくわからず助けてください。 a,b,cはパラメーターであり、 log(Yn)=log(a)+blog(n)-cn の最小2乗法で各パラメーターを出すことができるみたいなのですが、どのように出すのでしょうか? またYとnに関しては Y=10,n=20 Y=50,n=60 Y=15,n=100 Y=13,n=180 といった感じです。 また、このパラメーターはエクセルで計算できるのでしょうか? わかり難い内容となってしまいましたが、 大変困っております。どうぞ教えてください。 よろしくお願いいたします。

  • 円の最小二乗法の公式

    いくつかのデータから最小二乗法で近似曲線を求めたいのですが、よくわかりません。そのデータ集の近似曲線は円になります。 最小二乗法を調べ、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を求めようとすると、±√ が出てきてしまい、ややこしくなる気がしますが、これを解くしかないのでしょうか?もしくは別の解法があるのでしょうか?詳しく教えていただけたらと思います。よろしくお願いします。

  • gnuplotでの最小二乗法について。

    他のカテで質問したのですが、 こちらの方が関係性が深いと思い移動しました。 y,x1,x2 を測定データとして、線形関数 y=a*x1-b*x2 におけるパラメータ a,b をgnuplotを使って最小二乗法で求めたいのですが、参列のデータ(x1,x2,y)を用意して、 f(x)=a*x1-b*x2 fit f(x) "data.dat" via a,b とうった時点で、undefined variable: x1 とエラーが出てしまいます。 どうすればよいでしょうか。よろしくお願いします。

  • 最小二乗法における有効数字について

    最小二乗法における有効数字について質問があります. 直線近似を行うとします.最小二乗法を用いるデータの有効数字を考慮して,最小二乗法により求められた直線の傾きa,切片b の有効数字が決まると思うのですが,どのようにこの有効数字を決定すれば良いのでしょうか?

  • 最小二乗法の偏微分

    近似の直線をy=ax + b とする。 残差二乗和をa,bそれぞれで偏微分すると0になるんですけど、何で0になるのですか? 数学的な意味を教えていただければ嬉しいです。

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

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

専門家に質問してみよう