• ベストアンサー

3つ係数を求める最小二乗法

実験のデータをもとにある式をたてようと思っています。  Y=a*t^α*τ^β のa,α,βを求めたいのですがいまいち計算が合いません。Y,t,τは概知です。 自分なりに計算したのでチェックをお願いいたします。  Y=a*t^α*τ^β 1次式に変形して  log(y)=log(a)+αlog(t)+βlog(τ) 各項を文字に置き換えて  Y=A+αT+βΤ 最小二乗法から  Mi=a11Z1+a21z2+a31z3 [a1a1]z1+[a1a2]z2+[a1a3]z3=Σa1iMi=c1 [a2a1]z1+[a2a2]z2+[a2a3]z3=Σa2iMi=c2 [a3a1]z1+[a3a2]z2+[a3a3]z3=Σa3iMi=c3 このとき  Mi=Y a1=1 z1=A a2=T z2=α  a3=Τ  z3=β データは  t =1.8 ,3.6 ,5.4  τ =5.75,5.75,5.75 (一律)  y =0.00158,0.003955,0.006999 クラメルの式で解くと、  A=-2.464  α=0.219  β=-0.134 になりました。 理想としては、右上がりのグラフになって欲しいのに、βがマイナスのため右下がりになってしまいます。 根本的に解き方が違うのでしょうか… どうか、よろしくお願いします!!

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

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

このデータでは、αに関しては決まりますが a とβは決まりません。 log(y)=log(a)+αlog(t)+βlog(τ) という式ですが、τが一定なので C = log(a)+βlog(τ) とおくと C も一定になります。この C は求めることができますが、それを満たす a とβの組は無数にあります。 もう一つ付け加えるならば、未知数=データ数なので、この場合は連立方程式で解けます。最小自乗推定は必要ありません。勿論、この場合にも同じく a とβが決まらない(解が無数に存在する)という問題が発生します。

asano69
質問者

お礼

回答ありがとうございます。 確かに、このデータでは求まりませんね; τをが違うデータもあわせてやってみるとできました! いままでエクセルの式が間違っていて答えがでてなかったようで… 初歩的ミスで恥ずかしい限りです。 どうもありがとうございました!

その他の回答 (1)

  • age_momo
  • ベストアンサー率52% (327/622)
回答No.1

3次正方行列Aの要素をa11-a33で表すとして、この場合、 a11=Σ1=3 a12=a21=Σlog(ti) a31=a13=Σlog(τi) a22=Σ{log(ti)}^2 a23=a32=Σlog(ti)log(τi) a33=Σ{log(τi)}^2 ですが、今回の実験結果では正則ではないようです。 確認ください。

asano69
質問者

お礼

回答ありがとうございます。 確かに正則ではありませんでした…。 エクセルの式が間違っていて気づきませんでした。 データを増やして再チャレンジしてみます。

関連するQ&A

  • 球の最小二乗法について

    はじめまして. 工学部の学生です. 球の中心座標と半径を求める最小二乗法について教えてください.お願いします. 私も,エクセルを使って式を立てて計算したのですが,中心がどうしてもずれてしまいます. |Σx^2 Σxy Σzx Σx | |a|  |-Σ(x^2+y^2+z^2)x| |Σxy Σy^2 Σzy Σy | |b| = |-Σ(x^2+y^2+z^2)y| |Σzx Σyz Σz^2 Σz | |c|  |-Σ(x^2+y^2+z^2)z| |Σx  Σy  Σz   n | |d|  |-Σ(x^2+y^2+z^2)| この式をクラーメルの公式を使って解いて x=-a/2 y=-b/2 z=-c/2 r=√{(a^2+b^2+c^2)/4-d} で,計算したのですが,答えがうまく求まりません. どなたか教えていただけないでしょうか.

  • 最小2乗法などによる推定について

    2次による推定(近似?)を行っているのですが、 (a1*x^2+a2*x+a3)(a4*y^2+a5*y+*a6)(a7*z^2+a8*z+a9) =c1*x^2*y^2*z^2+c2*x^2*y^2*z+・・・・・・+c27 上記の式の場合、最終的に係数cが1から27まででてくるとおもいます。この係数はどのようにして求めればよいのでしょうか? なお、x,y,zは既知の数です。 見にくく、わかりづらいかと思いますがよろしくお願いいたします。

  • 最小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 といった感じです。 また、このパラメーターはエクセルで計算できるのでしょうか? わかり難い内容となってしまいましたが、 大変困っております。どうぞ教えてください。 よろしくお願いいたします。

  • 3次元の最小二乗法

    A(x1,y1,z1)とB(x2,y2,z2)とC(x3,y3,z3)とD(x4,y4,z4)の点で 最小2乗法ほうを使い直線近似したいのですが、どのような式になりますかご存知の方教えていただけますか?

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

    簡単のため、説明変数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}}とおいて実際に計算し微分すれば理解できるかもと言われ計算してみたのですがよくわかりませんでした。 どうかご教授お願いします。

  • 最小二乗法の推定値の誤差

    変数xを変化させたときの測定値yを最小二乗法で二次式y=a*x^2 + b*x +c にフィッティングさせ推定値a, b, cを求めるとき、 測定値yの誤差がδyであるときの推定値a, b, cの誤差を求めたいのです。 具体的には、(x,y)=(-1,2), (0,0), (1,1.5), (2,5) の4つのデータを 二次式にフィッティングさせたときのa,b,cはa=1.375, b=-0.325, c=0.225ですが、 測定値yの測定誤差が0.1のときのa,b,cの誤差を求めたいのです。 よろしくお願いします。

  • 2次曲面の最小二乗法

    関数 f(x,y) = a(x+b)^2 + c(y+d)^2 + e について、 http://home.hiroshima-u.ac.jp/tkurita/thesis/thesis/node151.html の(392)式の形にしたいのですが、Xはどうなるでしょうか? 計算したところ、係数(a,b,c,d)が含まれてしまいます。 計算自体が間違っているのか、係数を消す方法があるのか、どうしてもわかりません。 ご教授お願いします。 計算の参考に用いたのは以下のページです。 http://www.eli.hokkai-s-u.ac.jp/~kikuchi/ma2/chap08.html

  • 最小2乗

    (1) (x,y)=(-3,4),(-2,1),(-1,0),(0,-1),(1,1),(2,2),(3,3)を 方程式 y = ax^2 + bx + c で最小2乗法に当てはめたときの a,b,cを求める (2) 要素(x,y,z)=(1,3,2),(2,1,1),(3,2,4),(4,5,3),(5,4,5)が z = ax + by + p とモデル化されるとき、残差の2乗Σp^2 が 最小になるように定式化して、最小となるa,bを求める という問題です。 これらを行列を用いて解きたいのですが、どのようにすればよいか分かりません。よろしくお願いします。

  • 最小二乗法

    n組のデータ (xi, yi) を,特定点(X0, Y0) を通る直線 y = ax+b でフィッティングしたい。最小二乗法で係数a,bを求めるため の式を導きなさい。 という問題で 各データの残差を二乗した和が最小になるときのa,bを求めるのですが 特定点(X0,Y0)を通るにはどうすればよいでしょうか? ただ単に、特定点を通らずフィッティングするやりかたはわかるのですが・・・。 よろしくお願いします。