Y=ln(x-b)-ln(x-c)
といったように、xが二つに分かれてしまっていて、さらに式にあるようにbやcが入っているときの最小二乗法のやり方を教えてください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

No.3の補足説明です。


lnY(lnA) = aln(x-b) - dln(x-c)
において
(2) ln(y) = lnY(lnA)
とする代わりに、
(2') y=lnY(lnA)
とした方が易しいですね。こうすれば微分方程式は
(4') (x-b)(x-c)(dy/dx) =((x-c)a + (x-b)d)
となり、
(5') (x^2)(dy/dx) -(b+c)x(dy/dx) + bc(dy/dx) = (a+d)x - (ac+bd)
積分すると
 (x^2)y- 2∫xy dx -(b+c)(xy -∫y dx) + (bc)y = ((a+d)/2)(x^2)- (ac+bd)x + t
より
(6') (x^2)y- 2∫xy dx = (b+c)(xy -∫y dx) +((a+d)/2)(x^2)- (ac+bd)x - (bc)y + t
 p=b+c
 q=(a+d)/2
 r=-(ac+bd)
 s=-(bc)
とおいて、
 P[k] = x[k]y[k] -Σ(y[j]+y[j-1])(x[j]-x[j-1])/2
 Q[k] = x[k]^2
 R[k] = x[k]
 S[k] = y[k]
 T[k] = (x[k]^2)y[k] - Σ(y[j]x[j]+y[j-1]x[j-1])(x[j]-x[j-1])
として
(7) T[k] = pP[k]+qQ[k]+rR[k]+sS[k]+t
の方が多少すっきりしてますね。いや、やってることは同じですけど。
    • good
    • 0

No.1の補足を見ると、どうやらstomachman流「超平面法」の出番のようですね。



(1) lnY(lnA) = aln(x-b) - bln(x-c)
左辺は(ln(Y))×(ln(A))の意味でしょうか、あるいはln(Y×(ln(A)))でしょうか。どちらにせよ、Aは既知らしいですから、まとめて
(2) ln(y) = lnY(lnA)
と書くことにしましょう。
それより、bが2箇所に現れる。分かりにくくなっちゃうので、とりあえず、
(3) ln(y) =aln(x-b) + dln(x-c)、ただしd=-b
ということにしましょう。

こいつの両辺をxで微分します。ここで
(d/dx)ln(y)=(dy/dx)/y
(d/dx)aln(x-b)=a/(x-b)
ですから、微分方程式
(4) (x-b)(x-c)(dy/dx) =((x-c)a + (x-b)d)y
が得られる。x,yの項別に整理すると
(5) (x^2)(dy/dx) -(b+c)x(dy/dx) + bc(dy/dx) = (a+d)xy - (ac+bd)y
この両辺をxで積分するんです。部分積分を使って
∫(x^n)(dy/dx)dx = (x^n)y - n∫(x^(n-1))y dx
ですから、未知の定数項tを入れて
(5) (x^2)y- 2∫xy dx -(b+c)(xy -∫y dx) + (bc)y = (a+d)∫xy dx - (ac+bd)∫y dx + t
となる。これを整理すると
(6) (x^2)y = (b+c)(xy -∫y dx) + (a+d+2)∫xy dx - (ac+bd+b+c)∫y dx - (bc)y + t
です。ここで
 p=(b+c)
 q=(a+d+2)
 r=-(ac+bd+b+c)
 s=-bc
と定義すれば、p,q,r,s,tの5つのパラメータを持つ線形モデルになります。
積分はデータx[k]が得られている範囲について、数値積分でやるんです。つまり、データ(x[k],y[k]) (k=0,1,2,...,K)を、x[k]が小さい順に並ぶようにsortしておきます。
たとえば台形則で積分をやるものとすれば、
 P[k] = x[k]y[k] -R[k]
 Q[k] = Σ(y[j]x[j]+y[j-1]x[j-1])(x[j]-x[j-1])/2
 R[k] = Σ(y[j]+y[j-1])(x[j]-x[j-1])/2
 S[k] = y[k]
 T[k] = (x[k]^2)y[k]
として(Σはいずれもj=1~kについて取ります。)、モデルは
(7) T[k] = pP[k]+qQ[k]+rR[k]+sS[k]+t
です。p,q,r,s,tに関する線形モデルですね。

さて、このモデルをデータ(x[k],y[k])にフィッティングするとp,q,r,s,tの5個のパラメータが出てきてしまう。もともとa,b,cの3個しかパラメータがないはずなのに、これじゃ過剰です。過剰ですが、データがモデルと良く合っている(残差がごく小さくなるa,b,cが存在する)ならば、p,q,r,sのどの組み合わせを使って求めたa,b,cもほぼ同じになる筈です。
 なんでこんな過剰が出たかというと、tは積分定数ですから上記の処方で出てきた余計なモノで、単に無視して良し。そしてp,q,r,sはa,b,c,dの4パラメータを含むモデルなら丁度良い訳です。

 以上のようにして、a,b,cを決めたら、さらに非線形最小二乗法で改良することもできます。a,b,cが既に「正解」にごく近い近似値になっているので、ガウス・ニュートン法など、線形近似法を反復させて簡単に収束させられます。

 なお、stomachmanは計算間違い、書き間違いの常習犯です。チェック宜しく。
    • good
    • 0

●正攻法だと非線形最小二乗法を使います。

過去の質問から「最小二乗法」を検索すれば、参考資料等いろいろ分かるはず。

●最小二乗法の一般的注意事項として、何を最小にするかをはっきりさせる必要があります。モデル
y=ln(x-b)-ln(x-c)

exp(y) = (x-b)/(x-c)

(x-c) exp(y)=x-b
と同じ意味ですけれど、
残差
ε[k] = y[k] - (ln(x[k]-b)-ln(x[k]-c))
の二乗和を最小にするb, cは、残差
δ[k] = exp(y[k]) - (x[k]-b)/(x[k]-c)
の二乗和を最小にするb, cや
γ[k] = (x[k]-c) exp(y[k])-(x[k]-b)
の二乗和を最小にするb, cとは違いますからね。
 しかし、データ(x[k],y[k]) (k=1,2,.....,K) がモデルと良く合っていて残差がごく少なくできる(そのようなb,cが存在する)場合には、どれでやってもほとんど同じb,cが得られます。そういう時は、実用上どれでやっても大差ない訳です。

●以上をふまえた上で、ご質問の例の場合、モデルは
x[k] (exp(y[k])-1)=c exp(y[k])-b
と表すことができます。だから、c,bについて見ると線形最小二乗法になってます。どういうことかというと、
X[k]=exp(y[k])
Y[k]=x[k] (exp(y[k])-1)
とおけば、X[k],Y[k]は共にデータ(x[k],y[k])が与えられれば値が確定する。そしてモデル
Y[k]=c X[k] - b
のb,cを決めろ、という問題です。これなら簡単でしょ?

このやり方は、飽くまでも残差
β[k] = x[k] (exp(y[k])-1) - (c exp(y[k])-b)
の二乗和を最小にするb, cを求めるのであって、ε[k]の二乗和を最小にするb, cとは完全には一致しない。これは頭に入れて置いてくださいね。

と回答しようとしたら、siegmund先生が既に......なはは。せっかく書いたからupしちゃおうっと。
    • good
    • 0

(1)  Y = ln{(x-b)/(x-c)}


として,
(2)  e^Y = (x-b)/(x-c)  ⇒  (x-c)e^Y = x-b
   ⇒  cz - b - xz + x = 0
と変形すれば(z = e^Y) ,定めるべき係数 b,c について線型になりますから
普通のよく本に載っている方法がそのまま適用できます.

細かいことを言えば,Y について 測定値がガウス分布することと,
e^Y についてガウス分布することとは違うのですが,
通常余り気にしません.

この回答への補足

 丁寧に答えていただき、ありがとうございます。
教えていただいた方法で解いてみようと思ったのですが、
問題のタイプが少し違うようでした。
 私がいま直面している問題は
    lnY(lnA) = aln(x-b) - bln(x-c) (Aは定数です。)
という形だたのですが、私が勝手に簡略化してしまっていました。
すいません。
これをどうしてもよい形にもっていくことができません。
もしよい方法をご存知でしたら、お教え頂きたいと思います。
よろしくお願いします。

      

補足日時:2001/06/29 21:18
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q最小二乗法

工学部の大学生です。
この前

エクセルを用いて、
非線形最小二乗法によるNMRのスピンー格子緩和時間解析
についてのレポートがだされてしまいました。。

全然わかりません。。

(1)非線形最小二乗法と線形最小二乗法の違い
(2)スピンー格子緩和時間とは??
(3)NMRとは??

についてわかる方教えていただけるとありがたいです。

Aベストアンサー

このくらい自分で調べなさい

(1)は、線形と非線形の意味がわかりますか
線形で近似するのが線形最小二乗法、非線形で近似するのが非線形最小二乗法

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

最小二乗法における有効数字について質問があります.

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

Aベストアンサー

>この最確値とはa,bを有効数字を気にせずとりあえず求め

この手の計算は計算量が多いため通常手計算はしません。
なので計算途中は計算機に任せて最大の桁数で計算すればいいです。

>例えばですが,ua = 0.0011 と求まればuaの最大の桁は10^{-3}となるので,
>aは10^-3もしくは10^-4までの値を使えば良いという認識でよろしいですか?

これが最終結果なら

a = 1.234±0.001 または a = 1.2345 ± 0.0011

と表記します。(単位があれば単位を忘れずに)
(計算過程にあってさらに計算を進めるなら、最低一桁以上は余分に取っておく必要があります。)

>加減算や乗除算による有効数字の取り方を考えるだけでは駄目なのでしょうか?

かえって面倒くさいですよ。

それに、いわゆる有効数字の計算は簡便な計算法に過ぎませんので、統計処理をするまでの手続きと思っておいたほうがいいです。標準偏差で不確かさを計算するまではどこで打ち切っていいか不明なので、それまで使う計算法ということですね。いったん標準偏差が計算できたらそれに従うべきです。

>この最確値とはa,bを有効数字を気にせずとりあえず求め

この手の計算は計算量が多いため通常手計算はしません。
なので計算途中は計算機に任せて最大の桁数で計算すればいいです。

>例えばですが,ua = 0.0011 と求まればuaの最大の桁は10^{-3}となるので,
>aは10^-3もしくは10^-4までの値を使えば良いという認識でよろしいですか?

これが最終結果なら

a = 1.234±0.001 または a = 1.2345 ± 0.0011

と表記します。(単位があれば単位を忘れずに)
(計算過程にあってさらに計算を進めるなら、最低一桁以...続きを読む

Qf(x)=A(x-2)(x-3)(x-4)+B(x-1)(x-3)(x-4)+C(x-1)(x-2)(x-4)+D(x-1)(x-2)(x-3)

(問題)xの三次関数f(x)があって、f(1)=1,f(2)=4,f(3)=9,f(4)=34であるとき、f(5)を求めなさい。

解答は別解がいろいろあったのですが、そのうちの一つがわかりませんでした。それは次のように書いてありました。

f(x)=A(x-2)(x-3)(x-4)+B(x-1)(x-3)(x-4)+C(x-1)(x-2)(x-4)+D(x-1)(x-2)(x-3) のように置くと、A,B,C,Dが容易に求めることができる。

なぜこのように表せるのか、どうしてこう思いついたのか、わかりません。考え方を教えてください。よろしくお願いいたします。答えはf(5)=97です。

Aベストアンサー

ranx さんの言うように、
x=1, x=2, x=3, x=4 の場合の解が与えられているので、
その際にどれかがゼロになるように、式を与えれば、
あとは、連立一次方程式で、元が4個で方程式が4本
なので、簡単に解けるわけです。

それぞれ代入した式4本を書いてみればわかると思います。解けるでしょ?
最後まで解かなくても、f(5) は、A,B,C,D を使って
出すことはできますね。

Q最小二乗法での指数関数の計算

最小二乗法での指数関数の計算
最小二乗法での指数関数の計算方法が良く分からないのですが公式などありますか?
y=ae^bxでしたらやり方があるのですがy=ae^bx+cの方法がわかりません・・・・・・

Aベストアンサー

No1の方が書いておられるように、これは厳密には非線形の最小二乗法になります。
ただし、単にそう書いても、質問者の方にはわからないと思いますので、具体的かつ実用的なやり方を書きましょう。
と言っても、簡単です。
まず、cとして、適当な値c1を仮定します。
すると、
y-c1=a1e^b1x
の最小二乗法に帰着され、a1,b1が求まります。
この時の残差を、z1とします。
z1=Σ(yi-c1-a1e^b1xi)^2

次に、cの増分値をΔcとして、
c2←c1+Δc
と置いて、また最小二乗法を適用し、残差z2を求めます。
z2=Σ(yi-c2-a2e^b2xi)^2

さらに、
c3←c1+2Δc
と置いて、また最小二乗法を適用し、残差z3を求めます。

この段階で、cに対して残差zをプロットし、2次関数近似してみましょう。
うまくいけば、極小値がこの範囲内にみつかります。
この2次関数から直接、または、初期値c1と増分値Δcをもっと適切な値となるように設定するなりして極小値の存在範囲を狭めてから2次関数近似して、この極小値cを求めましょう。
最後にもういちど、cに対する最小二乗法を適用して、係数a,bを求めれば、それが答です。

もし、cに対するzが、単調増加、あるいは単調減少になってしまったら?
この場合、Δcが大きすぎると、極小値が範囲内にあるにも関わらず、単調増加あるいは単調減少になってしまっている可能性も高いので、c1,c2,c3は変えず、Δcを1/2にして、c1とc2、c2とc3の間の値を求め、全5点をプロットしてみます。
本質的に単調増加あるいは単調減少なら、傾向に変化はないはずです。この場合には、zが小さくなる方向にcの初期値と増分値Δcを選びなおして、再計算してみましょう。
区間内に極小値がある場合には、傾向が”それらしく"変化しますから、増分値をもっと細かくして、極小値を押さえれば良いのです。

慣れてくれば、2次関数近似といわず、最初から絨毯爆撃的にcを規則的に変化させながらzの動きを把握していくなどの小ざかしい方法を覚えるようになりますが、最後は極小値の存在する区間の3個の値から2次関数近似することには変わりがありません。(2次関数近似は扱いが簡単で便利ですから。)

No1の方が書いておられるように、これは厳密には非線形の最小二乗法になります。
ただし、単にそう書いても、質問者の方にはわからないと思いますので、具体的かつ実用的なやり方を書きましょう。
と言っても、簡単です。
まず、cとして、適当な値c1を仮定します。
すると、
y-c1=a1e^b1x
の最小二乗法に帰着され、a1,b1が求まります。
この時の残差を、z1とします。
z1=Σ(yi-c1-a1e^b1xi)^2

次に、cの増分値をΔcとして、
c2←c1+Δc
と置いて、また最小二乗法を適用し、残差z2を求めます。
z2=Σ(yi-c2-a2e^b2xi)...続きを読む

Qx1=(1,1,1),x2=(1,1,-1),x3=(1,-1,-1)をC^3の基底,{y1,y2,y3}がその双対基底でx=(0,1,0)の時,y1(x),y

[問] ベクトルx1=(1,1,1),x2=(1,1,-1),x3=(1,-1,-1)をC^3の基底とする。
{y1,y2,y3}がその双対基底でx=(0,1,0)の時、
y1(x),y2(x),y3(x)を求めよ。

という問題の解き方をお教え下さい。

双対基底とは
{f;fはF線形空間VからFへの線形写像}
という集合(これをV*と置く)において、
V(dimV=nとする)の一組基底を{v1,v2,…,vn}とすると
fi(vj)=δij(:クロネッカーのデルタ)で定めるV*の部分集合
{f1,f2,…,fn}はV*の基底となる。これを{v1,v2,…,vn}の双対基底と呼ぶ。

まず、
C^3の次元は6(C^3の基底は(1,0,0),(0,1,0),(0,0,1),(i,0,0),(0,i,0),(0,0,i))
だと思うので上記のx1,x2,x3は基底として不足してると思うのです(もう3ベクトル必要?)。

うーん、どのようにしたらいいのでしょうか?

Aベストアンサー

>C^3の次元は6(

これが間違え.
「x1=(1,1,1),x2=(1,1,-1),x3=(1,-1,-1)をC^3の基底」
といってるんだから,係数体はRではなく,C.

あとは定義にしたがって,
dualな基底を書き下せばいいだけ.
y1(x1)=1,y1(x2)=y1(x3)=0であって
v=ax1+bx2+cx2と表わせるわけだし,
v=(v1,v2,v3)とすれば,a,b,cはv1,v2,v3で表現できる
#単なる基底変換の問題.

Q誤差を考慮した最小二乗法

誤差を考慮した最小二乗法
実験で「誤差を考慮した最小二乗法で計算せよ。尚、誤差を考慮しない場合は減点する。この場合の誤差とは標準偏差の事である。」という課題何ですが誤差を考慮した最小二乗法とはどうゆう事なのでしょうか?

http://www.dotup.org/uploda/www.dotup.org828193.xls.html
のデータにて
http://www.akita-nct.ac.jp/~yamamoto/lecture/2007/5E_comp_app/interpolation/interpolation_html/node4.html
のサイト様を参考にして一次関数の最小二乗法で計算しようと思ったのですが標準偏差はどこに入れればいいのでしょうか?グラフを作った後に誤差棒として標準偏差を入れるという事なのでしょうか?

Aベストアンサー

普通は質問文に上げてあるサイトや、Wikipediaの最初のほうに書いてあるように、
最小二乗法は、残差二乗和を最小にするように係数を決める方法だと書いてあります。
しかしこれは、標準偏差がσすべて同じ場合に限られます。

各測定点でばらつきが異なりそれが既知である場合には、xとyに

y=f(x; a, b, ...)

というモデルを採用した場合には

残差二乗値

E(a,b,...) = Σi ([yi-f(xi; a, b, ...)])^2

ではなく、χ二乗値と呼ばれる

χ^2 = Σi ([yi-f(xi; a, b, ...)]/σi)^2

を最小にします。モデルが一次式ならば y = ax +b なので

χ^2 = Σi ([yi-axi-b]/σi)^2

です。したがって、

E(a,b) = Σi ([yi- axi - b])^2

をスタートにする代わりに

χ^2 = Σi ([yi-axi-b]/σi)^2

から初めて、質問文にあるサイト

http://www.akita-nct.ac.jp/~yamamoto/lecture/2007/5E_comp_app/interpolation/interpolation_html/node4.html

に書いてあることと、全く同じように求めていけばいいです。
課題ということですので、以下、ご自身で行ってください。

普通は質問文に上げてあるサイトや、Wikipediaの最初のほうに書いてあるように、
最小二乗法は、残差二乗和を最小にするように係数を決める方法だと書いてあります。
しかしこれは、標準偏差がσすべて同じ場合に限られます。

各測定点でばらつきが異なりそれが既知である場合には、xとyに

y=f(x; a, b, ...)

というモデルを採用した場合には

残差二乗値

E(a,b,...) = Σi ([yi-f(xi; a, b, ...)])^2

ではなく、χ二乗値と呼ばれる

χ^2 = Σi ([yi-f(xi; a, b, ...)]/σi)^2

を最小にします。モデルが一次式な...続きを読む

Q材料力学(数学)の問題です。 0<x<bでy=ax、b<x<2bでy=ab、2b<x<3bでy=-a

材料力学(数学)の問題です。

0<x<bでy=ax、b<x<2bでy=ab、2b<x<3bでy=-ax+3abである関数のグラフを描け。a、bは正の定数とする。
この問題の解き方を教えて下さい。わかりやすく解説してくだされば有難いです。

Aベストアンサー

0<x<bでy=ax
これは単なる比例です。aが正の定数なので、0を通る右上がりの直線ですね。

b<x<2bでy=ab
a,bが定数なので、abも定数です。
x=bの時「y=ax」=「y=ab」であるので、
y=axのx=bにおけるyから横一直線ですね。

2b<x<3bでy=-ax+3ab
これは最初の比例のグラフと傾きが正負逆になっていますね。
x=2bの時y=-2ab+3ab=ab、
x=3bの時y=-3ab+3ab=0
となる右下がりの直線ですね。

x=0,b,2b,3bは範囲外となります。
グラフを描く時に境界部分で○とするか●とするか間違わないように。

Qy=a/(x-b)+cの最小二乗法

y=a/(x-b)+cの最小二乗法

y=a/(x-b)+c
という、反比例の式をx方向に+b、y方向に+c平行移動したような曲線の係数a,b,cを求めるための最小二乗法の方法を教えていただけないでしょうか。

工夫してみたのですが、なかなかうまくいきませんでした。
すみませんが、力を貸してください。

Aベストアンサー

 データ(x[k], y[k]) (k=1,2,...,N)
が与えられた時に、残差(residue)
r[k] = a/(x[k]-b)+c-y[k]
の二乗和(square sum of residue)
E(a,b,c) = Σ(r[k]^2) (Σはk=1,...,Nについての総和)
を最小にする係数(a,b,c)を求む、というのが「y=a/(x-b)+cの最小二乗法」の意味するところですね。

 Eが極値を取る係数(a,b,c)を知るために「Eをa,b,cそれぞれで偏微分したものが0になる」という条件を表す連立方程式
∂E/∂a = 0
∂E/∂b = 0
∂E/∂c = 0
を作ってみますと、左辺を計算すると未知数a,b,cについて一次方程式にはならず、これじゃ解けない。

 連立一次方程式にならない場合を「非線形最小二乗法」と(そして、連立一次方程式になってくれる場合を「線形最小二乗法」と)呼びます。非線形最小二乗法では、適当な出発値(a[0], b[0], c[0])から始めて、Eが小さくなるようにちょっとずつ(a,b,c)を改良して行く繰り返し計算が必要です。
 改良のための計算方法はいろいろ工夫(Gauss-Newton法、最急降下法、Marquardt法など)されていますが、最も単純でオバカなやり方は、
(1) b,cを定数、aだけを変数と考えてEを最小化する。
(2) a,cを定数、bだけを変数と考えてEを最小化する。
(3) a,bを定数、cだけを変数と考えてEを最小化する。
を順繰りに何度も何度も繰り返すことです。(教科書は「最小二乗法による実験データの解析」(東京大学出版会)をお薦めします。)

 案外重要なのが出発値(a[0], b[0], c[0])の選び方。ここで言う「適当な」とは、テキトーじゃ駄目なんで、(本来の意味での)適当な、つまり真の解に十分近い出発値を選ばないと改良の計算が収束しないことがあります。
 出発値を選ぶひとつの方法は、「もし残差が0になるようなデータが与えられたならばEに一致して、しかも簡単に計算できる」ような値Fを定義して、Fを最小化する(a,b,c)を(a[0], b[0], c[0])として利用する、というやりかたです。具体的には、
r[k] = a[0]/(x[k]-b[0])+c[0]-y[k]

r[k](x[k]-b[0]) = a[0]+(c[0]-y[k])(x[k]-b[0])
と変形しておいて右辺を展開すると、
r[k](x[k]-b[0]) = (a[0]-b[0]c[0])+b[0]y[k]+c[0]x[k]-y[k]x[k]
ここで
A = a[0]-b[0]c[0]
B = b[0]
C = c[0]
とおくと、
r[k](x[k]-b[0]) = A+By[k]+Cx[k]-y[k]x[k]
と書けますから、この右辺を
s[k] = A+By[k]+Cx[k]-y[k]x[k]
と定義して
F(A,B,C) = Σ(s[k]^2) (Σはk=1,...,Nについての総和)
を最小化するA,B,Cを考える。
すると、s[k]はA,B,Cの一次式になっているので、「普通の(線形)」最小二乗法でA,B,Cが決定できます。そしてA,B,Cからa[0],b[0],c[0]が決まる。(もしr[k]が全て0であれば、E(a[0],b[0],c[0])=0 になるのは自明でしょう。)
 こうして得たa[0],b[0],c[0]はEを最小化しません(∵r[k]が全て0にならない限り、E≠F)が、もしも「Fが十分小さくできるような旨いa,b,cが存在する」のであれば、そのa,b,cはEも小さくしますから、出発値に利用できる訳です。
 言い換えると、もしEが十分小さくなるようなa,b,cが存在する(つまり、モデル y=a/(x-b)+cがデータに良く合う)のであれば、Fを最小化するa,b,cと、Eを最小化するa,b,cとは非常に近い値になる。
 なので実用上は、(a[0],b[0],c[0])だけで十分な精度が得られる(改良のための繰り返し計算をしないで済んでしまう)ことも多々あります。

 データ(x[k], y[k]) (k=1,2,...,N)
が与えられた時に、残差(residue)
r[k] = a/(x[k]-b)+c-y[k]
の二乗和(square sum of residue)
E(a,b,c) = Σ(r[k]^2) (Σはk=1,...,Nについての総和)
を最小にする係数(a,b,c)を求む、というのが「y=a/(x-b)+cの最小二乗法」の意味するところですね。

 Eが極値を取る係数(a,b,c)を知るために「Eをa,b,cそれぞれで偏微分したものが0になる」という条件を表す連立方程式
∂E/∂a = 0
∂E/∂b = 0
∂E/∂c = 0
を作ってみますと、左辺を計算すると未知数a,b,cについて一...続きを読む

Q(a-b)(a-c), (b-c)(b-a), (c-a)(c-b)の最小公倍数が分からなくて困っています

答えは(a-b)(b-c)(c-a)となるみたいなのですが、
どうしてそんなに綺麗な答えになるのかが分かりませんっ
回答お願いします。

Aベストアンサー

問題の写し間違いやa,b,cに関する条件(例えば「互いに素」など)の記入漏れはないですか?
a=12
b=4
c=8
としてみると,
a-b=8
b-c=-4
c-a=-4
なので,
(a-b)(a-c)=32
(b-c)(b-a)=32
(c-a)(c-b)=-16
となります.ですが,
(a-b)(b-c)(c-a)=128
で,これは最小公倍数ではないですよね?

ただ,大雑把に言えば,次のようなことから説明できます.

Lを求める最小公倍数とすると,
(a-b)(a-c),(b-c)(b-a),(c-a)(c-b)
はそれぞれLの約数になります.
つまり,Lは次の3通りの方法で書くことが出来ます.

L=p*(a-b)(a-c) = p(a-b)(a-c) =  (a-b) p (a-c)
L=q*(b-c)(b-a) = -q(a-b)(b-c) = -(a-b)(b-c) q
L=r*(c-a)(c-b) = r(a-b)(b-c) =    r (b-c)(a-c)

この3つの等式を成り立つように,
しかもLが最小になるようなp,q,rは,
p=(b-c)
q=(c-a)
r=(a-b)
ということになります.
つまり,最小公倍数L=(a-b)(b-c)(c-a)となるわけです.

正確な説明ではないですが,雰囲気は伝わるでしょうか?

問題の写し間違いやa,b,cに関する条件(例えば「互いに素」など)の記入漏れはないですか?
a=12
b=4
c=8
としてみると,
a-b=8
b-c=-4
c-a=-4
なので,
(a-b)(a-c)=32
(b-c)(b-a)=32
(c-a)(c-b)=-16
となります.ですが,
(a-b)(b-c)(c-a)=128
で,これは最小公倍数ではないですよね?

ただ,大雑把に言えば,次のようなことから説明できます.

Lを求める最小公倍数とすると,
(a-b)(a-c),(b-c)(b-a),(c-a)(c-b)
はそれぞれLの約数になります.
つまり,Lは次の3通りの方法で書くことが出...続きを読む


人気Q&Aランキング

おすすめ情報