• ベストアンサー

n個のデータが

あるn個の観測データ(xi,yi)(i=1,2,3,....,n)がある。 この観測データには次の関係があることがわかっている。    y = ax^2 + bx + c 係数を求める関係式を導出せよ。 という問題なのですが,どのように解けばよいのか見当もつきません。 よろしくお願いします。

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

  • ベストアンサー
  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.3

かつて、表計算ソフトに二次関数への近似を行う機能がなかった時代、 私は自力でやったことがあります。 これは、いわば、二次関数についての最小二乗法になります。 各データ(xi, yi)の誤差は εi = axi^2 + bxi + c - yi と置くことが出来ます。 εi^2 = (axi^2 + bxi + c - yi)^2 Σεi^2 = Σ(axi^2 + bxi + c - yi)^2 ここで、 x1, x2, x3, ・・・・・ xn、および、y1, y2, y3, ・・・・・ yn は定数、 a, b, c は変数、 と見なすことができます。 Σεi^2 が最小(極小)になるようなa、b、cを求めればよいことになります。 極小ということは、微分がゼロ。 しかし、変数が3つあるので、それぞれの偏微分がゼロです。 V=Σεi^2 と置けば、 ∂V/∂a = 0 ∂V/∂b = 0 ∂V/∂c = 0 以上のことで、導出のきっかけがつかめると思います。 こちらもご参照。 http://www.st.chukyo-u.ac.jp/hatano/leastsqrshort/kyokusenn/kyokusenn.html

gasdfdf
質問者

お礼

ありがとうございます! おかげで解けそうな気がしてきました!

その他の回答 (3)

noname#101087
noname#101087
回答No.4

#2 です。 >この問題の応用問題もあります。 >実際に21個の測定データが与えられ,係数の値を求めるプログラムを作成する問題です。 「最小二乗法による二次式の当てはめ」でも、三元 {a, b, c} 連立方程式 を解くことになるようです。   (Mi1)a + (Mi2)b + (Mi3)c = Ni   (i=1,2,3) を解くトレーニングしておくのは無駄じゃないでしょうね。

gasdfdf
質問者

お礼

何度もありがとうございます! なんとかやってみます。

noname#101087
noname#101087
回答No.2

「最小二乗近似」ではなく、ピッタリの点集合{xi, yi}ならば、異なる三つのペアから {a, b, c} を未知数とする 連立方程式   y1 = a(x1)^2 + b(x1) + c   y2 = a(x2)^2 + b(x2) + c   y3 = a(x3)^2 + b(x3) + c をたてて、解けばよさそうです。 でも、ほんとにそういう問題なのでしょうか ?

gasdfdf
質問者

補足

はい。この問題はこれで間違いありません。 ただ,この問題の応用問題もあります。 実際に21個の測定データが与えられ,係数の値を求めるプログラムを作成する問題です。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ああ, 問題に条件が足らないですね. 「観測データ」なら一般には誤差を含むので, その誤差に関する処理が必要です. 他に何か書いてありませんか? まあ, 一般論としては最小二乗とかだろうけど.

gasdfdf
質問者

お礼

回答ありがとうございました!

gasdfdf
質問者

補足

スイマセン。 条件は他に指定されていません。 この状態では解くことができないのですか・・・

関連するQ&A

  • スピアマンの順位相関係数の導出過程を教えてください

    スピアマンの順位相関係数ρ=1-{6D/n(n^2-1)} // D=Σ(xi-yi)^2 の導出過程を教えてください。ピアソンの積率相関係数から導くそうですが、私には分かりませんでした。 また、以下の導出過程も教えて頂けると光栄です。 Cov(x,y)=Σxiyi-(ΣxiΣyi/n)

  • 相関係数について

    相関係数についてわからないことがあります。 ある二つの物体A,Bが同時に観測されたとします。 この時、A(xi,yi),B(x'i,y'i)というような座標に観測され、i=N回観測された場合、この二物体間の相関係数を求めるにはどのようにすればよいのでしょうか? xとx'の相関とyとy'の相関をそれぞれ別に求めればよいのでしょうか? よろしくお願いします。

  • 最小二乗法において

    y=ax^2+bx=c とおいたとき、最小自乗法から a,b,cの値を求めるには?という問題で、 S=Σ(yi-(axi^2 + bxi + c))^2 とおき、 ∂S/∂a=-2Σxi^2(yi-(axi^2 + bxi + c)) ∂S/∂b=-2Σxi(yi-(axi^2 + bxi + c)) ∂S/∂c=-2Σ(yi-(axi^2 + bxi + c)) となり、 aΣxi^4 + bΣxi^3 + cΣxi^2 = Σxi^2yi aΣxi^3 + bΣxi^2 + cΣxi = Σxiyi aΣxi^2 + bΣxi + cΣ = Σyi というとこまでは出来たのですが、ここから先と誤差の求め方がわかりません。 初心者なので出来ればわかりやすく教えて下さい。

  • ∑の微分について

    式の導出中に∑の微分について混乱してしまいました. 以下のような式について考えています. xとyは同じ長さのデータ集合です. xとyは独立です. ∑はどちらもiについての∑です. (1)[ ∑{ f(xi)*log(yi) } ]をyiで微分 (2)[ ∑{ f(xi) } * log(yj) ]をyjで微分 それぞれどんな式なるのかがわかりません. 式について本当は f(xi)/yi または f(xj)/yj というものを導出したいです. そこまでが複雑すぎていろいろ理解できていないので 結果論的に考えて理解したいのですが… 何かこれについて教えていただけないでしょうか.

  • 最小二乗平面

    ある複数の空間座標(x1,y1,z1)~(xn,yn,zn)(nは3以上)から、平面近似式である最小二乗平面の方程式を求める関数を作ろうと考えています。 平面方程式はz=ax+by+c(a,b,cが定数)であらわされ、引数を座標と座標個数n、戻り値をa,b,cにします。 ここ(http://oshiete1.goo.ne.jp/qa2802443.html)を参考に 最小二乗平面の連立方程式を解くコードを書いたのですが、 どうも答えが合いません。どなたかご教授願えないでしょうか? 開発環境はC++Builder2007です。 ↓の数式をコードにしましたが、コードが間違っているのか、 数式自体がダメなのかさっぱりわかりません。 //与えられるn個の3次元座標(xi,yi,zi)から平面方程式を求める //平面方程式:z = ax + by + c //最小二乗平面を求める連立方程式は下記のようになる。 // aΣxi^2 + bΣxiyi + cΣxi = Σxizi // aΣxiyi + bΣyi^2 + cΣyi = Σyizi // aΣxi + bΣyi + cn = Σzi //これを行列で解く // |Σxi^2 Σxiyi Σxi | |a| = |Σxizi| // |Σxiyi Σyi^2 Σyi | |b| = |Σyizi| // |Σxi Σyi n | |c| = |Σzi | //ここで // |Σxi^2 Σxiyi Σxi | // A = |Σxiyi Σyi^2 Σyi | // |Σxi Σyi n | // // |Σxizi| // B = |Σyizi| // |Σzi | // // |a| // C = |b| // |c| // //とすると // // C = B・A^-1 // //で求めることができる

  • この式の答えを教えてください

    この式のn・Xi・Yiにはどの数値が入るのか教えてください X1=1 X2=2 X3=3 Y1=2 Y2=3 Y3=4      n Z=n*∑(Xi)^2(Yi)^2      i=1

  • 線形代数 - 内積

    とある問題でつまずいています。 n次元実ベクトル空間において、 zを任意のn次ベクトル、Aをn×n 行列とし || Az || = || z || ならば <Ax, Ay> = <x, y> となることを証明せよ というものです。ちなみに "|| ||"は標準的なノルム < , >は標準内積です。 標準内積の定義式にまで戻って証明を試みました。 n Σ fi を、Σ[i=1, n](fi) と以後表記します。 i=1 x, y のi行目の成分をそれぞれ xi, yi、 Aの(i, j)成分を aij とすれば、 <x, y> = Σ[i=1, n](xi * yi) で内積は定義され、 Axのi行目の成分 = Σ[j=1, n](aij * xj) Ayのi行目の成分 = Σ[j=1, n](aij * yj) であるので、与えられた条件より <Ax, Ax> = Σ[i=1, n](Σ[j=1, n](aij * xj))^2 = <x, x> = Σ[i=1, n](xi)^2 <Ay, Ay> = Σ[i=1, n](Σ[j=1, n](aij * yj))^2 = <x, x> = Σ[i=1, n](yi)^2 よって(?) <Ax, Ay> = Σ[i=1, n]{(Σ[j=1, n](aij * xj)) * (Σ[j=1, n](aij * yj))} = ?? と行き詰ってしまいました。 シグマの中をうまく展開できないものでしょうか・・。

  • 統計学: 尤度推定量、最小二乗法

    統計学なのですが、悩んでいるところは 微分の極値問題 なので 微分ができる方にも アドバイスをお願いしたいです。 さて、問題ですが L = - Σ(i=1->n)(Yi - θ*Xi)^2/(2*σ^2) - (n/2)ln(2*π*σ^2) を最大化するθ,σ^2を求め、 そのθとσ^2がLを最大化していることを示せ。という問題です。  ただし X1,X2,...,Xn と Y1,Y2,...,Yn は定数扱い。 また θ>= 0 , n は自然数,σ^2 > 0 です。 もとは 統計学の問題で 線形回帰モデル  Yi = θ*Xi + εi ,εi は 正規分布 N(0,σ^2) に従う。 を考えたとき θとσ^2の最尤推定量を求め、その推定量が尤度を最大化していることを証明せよ。 という問題で (対数)尤度L を計算すると L = - Σ(i=1->n)(Yi - θ*Xi)^2/(2*σ^2) - (n/2)ln(2*π*σ^2) となり、 あとは極値問題を解くだけというところから 分からなりました。 この先、私が考えたのは ∂L/∂(σ^2) =0 かつ ∂L/∂θ =0 を満たす θ,σ^2 を求めること(grad(L)を導出) 前者は  σ^2 = Σ(Yi-θ*Xi)^2 /n 後者は  Σ(Yi-θ* Xi)*Xi = 0 という 形に変形できたのですが、 後者の式をこれ以上 くずせませんでした。 ここでアドバイスがほしいのです。 統計、もしくは解析ができる方、アドバイスをいただけないでしょうか。 文が長くなってしまいましたが、よろしくお願いします。

  • 最小二乗法

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

  • BASIC言語  分散の出し方

    BASIC言語の問題が分からないので、教えてください。 分散がうまく出せません(+o+) 下に問題と自分の回答を張り付けたので、お願いしますm(__)m <演習問題2> 最小二乗法(直線のあてはめ)を用いて回帰式と相関係数を算出する。 作成手順:   1. READ~DATA 文によるデータの配列変数への読み込み   2. Xi の和、Yi の和、Xi の平均値 (Xav) 、Yi の平均値 (Yav) の算出   3. (Xi -Xav)^2 の和、(Yi -Yav)^2 の和、(Xi -Xav)(Yi -Yav) の和の算出   4. y=a*x+bのa, b, r(相関係数) の算出 テストデータと計算結果  データ数:4    X Y    Xの平均 2.5    1 5    Yの平均 8     傾き a=1.6    2 8    Xの分散 1.25   切片 b=4    3 9    Yの分散 3.5   相関係数 r=0.956    4 10    共分散  2 下が自分の回答です。 5 READ n > DIM A(2,N) > 10 FOR i=1 TO 2 > 15 LET S=0 > 20 FOR j=1 TO n > 30 READ A(i,j) > 40 LET s=s+a(i,j) > 50 NEXT j > 60 LET h=s/n > 70 IF i=1 THEN > PRINT h,bunsan > ELSEIF i=2 THEN > PRINT h,bunsan > END if > 75 NEXT i > 80 DATA 4 > 90 DATA 1,2,3,4 > DATA 5,8,9,10 > END