y=ax+b+c/x
という式での最小二乗法の求め方を
教えてください。

A 回答 (2件)

最小二乗法をどこまで理解しておられるかよく分からないのですが,


線形でないので困っている,ということでしょうか?

y=ax+b+c/x
で x,y が測定値で,係数 a,b,c を決めるというのですよね.

y=ax+b+cz
だったら最小二乗法の解説にたいてい載っていますが,できますか?
それができるのなら,z の代わりを 1/x とすればOKです.

ポイントは決めるべき係数の a,b,c について線形かどうかです.
x について線形かどうかは関係ありません.

y=a sin bx
みたいに係数 a,b について線形でないとちとやっかいです.

過去に最小二乗法の質問と回答はかなりあります.
質問検索で検索してみてください.
    • good
    • 0
この回答へのお礼

回答していただいてありがとうございました。
x,y が測定値で,係数 a,b,c を決めるというものです。
線形かどうかとかはよくわかりませんが、
y=ax+b+cz
で、探してみます。

お礼日時:2001/06/20 15:26

a,b,c について線形とは


y = a×(測定値の組み合わせ) + b×(測定値の組み合わせ) + c×(測定値の組み合わせ)
のようになっているということです.
y = ax + b + cz
y = ax + b + c/x
y = ax^2 + bxz^2 + c/z
どれも a,b,c について線形です.
y = a sin bx だったら,明らかに形が違いますね.
これは線形ではありません.

y = ax + b + cz

y = ax + b + cx^2
などなら,最小二乗法の解説にたいてい載っていると思います.
    • good
    • 0
この回答へのお礼

本当に、丁寧に何度も
ありがとうございました )^o^(

お礼日時:2001/06/21 19:12

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

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

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

Q最小二乗法

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

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

全然わかりません。。

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

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

Aベストアンサー

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

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

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は範囲外となります。
グラフを描く時に境界部分で○とするか●とするか間違わないように。

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

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

Q「(5x+3)^10でx^pとx^(p+1)の係数比が21:20になる時のpの値」と「x+y=1を満たす全x,yに対してax^2+2bxy+by^2

こんにちは。識者の皆様、宜しくお願い致します。

[問1] (5x+3)^10の展開式でx^pとx^(p+1)の係数比が21:20になる時のpの値を求めよ。
[問2]x+y=1を満たす全てのx,yに対して
ax^2+2bxy+by^2+cx+y+2=0が成立するように定数a,b,cの値を定めよ。

[1の解]
(5x+3)^10=10Σk=0[(10-k)Ck 5x^(10-k)3^k]なので
p=10-kの時(k=10-pの時)
p+1=10-kの時(k=9-pの時)より
a:b=pC(10-p) 5^p 3^(10-p):(1+p)C(9-p) 5^(1+p) 3^(9-p)
で 1/(10-p):(1+p)/(2p-8)/(2p-9)=7:4 から
23p^3-199p+218=0
となったのですがこれを解いてもp=6(予想される解)が出ません。
やり方が違うのでしょうか?

[2の解]
与式をx+yという対称式で表せばならないと思います(多分)。
どうすれば対称式で表せるのでしょうか?

Aベストアンサー

 (1)Cをばらして比を簡略化するところで計算間違いがありそうな気がします。その経過をもう少し詳しく書いてもらえませんか?
 (2)a,b,cを求めるにはまず、x+y=1 を満たすすべての(x,y)で成り立つのですから、x+y=1を満たす(x,y)をまず代入してみてはどうでしょうか。候補としては、(1,0)(0,1)(2,-1)など。
 それから計算されたa,b,c でx+y=1を満たすすべてのx,yで成り立つかどうかを確認するという手順でどうでしょうか?

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)...続きを読む

Qx*y=log(e^x+e^y)と定義すると、(x*y)+z=(x+z)*(y+z)

x、y∈Rに対して
x*y=log(e^x+e^y)
と定義すると、
(x*y)+z=(x+z)*(y+z)
が成り立ちます。
分配法則の*と+を逆にしたような感じですが、この*から何かしらの代数的な事実が従うのでしょうか?
この*の意味は何なのでしょうか?

x*x=aのとき、x=√aと定めと、
√(a*b)≧(a+b)/2
といった相加相乗平均の関係の類似は成り立つようですが。

Aベストアンサー

e^x=X, e^y=Y, e^z=Z と置いて考えましょう。
e^(x*y)=e^x+e^y → Z=X+Y
e^(x+y)=e^x*e^y → Z=X*Y
つまり、正の数の加算と乗算になります。

>分配法則の*と+を逆にしたような感じですが

まさにその通りです。入れ替えて見てください。

>√(a*b)≧(a+b)/2

通常の相加相乗平均とは逆ですね。

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二次関数 y=x2+ax+bが-4のとき最小値2をとるとき a,bの値

二次関数 y=x2+ax+bが-4のとき最小値2をとるとき a,bの値を求めよ。  お願いします。全然わかりません

Aベストアンサー

二次関数の底が最小値となるはずですので、y=(x+1/2a)^2-1/4a^2+bとなるので、x=-1/2aのとき最小値2をとります。ゆえに、-1/2a=-4でaは8となり、それを代入したyの値も出てくると思います。

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について一...続きを読む

Qx, y∈R がx^2+xy+y^2=6をみたしながら動くときz=x+yの取り得る値の範囲を求めよ。

x∈R より、判別式Dは実数解を持つ(D≧0)を利用しました。
y=z-xをx^2+xy+y^2=6に代入
x^2+x(z-x)+(z-x)^2-6=0
x^2-zx+z^2-6=0
題意より
D=z^2-4(z^2-6)≧0
3z^2-24≦0
z^2≦8
∴ -2√2≦z≦2√2

と解いたのですが、説明不足でしょうか?
不自然な点、補足した方がよい点がをご教授下さい。

Aベストアンサー

試験対策を考えているなら、少し答案の書き方を考えたほうが良いかもしれません。
答案は、基本的に「文章を」書くものです。数式は、その補助に過ぎませんから、
式だけ書きっぱなし(に近い)答案は、求める値だけ当たっていても、評価が低い場合があります。

上の答案は、「題意より」の部分を補って

x^2+xy+y^2=6 に y=z-x を代入すると、x^2-zx+z^2-6=0 となる。
題意より、この方程式は x の実数解を持たねばならないから、
判別式を考えると、z^2-4(z^2-6)≧0 が成り立つ。
この不等式を解けば、-2√2≦z≦2√2 となる。

と解釈される可能性があります。(文章になっていないので、読まずに0点という可能性さえある。)

こう書き直してみると、
-2√2≦z≦2√2 は、実数 x が存在するための必要条件に過ぎないこと、
実数 y が存在するかどうかに関して何も言っていないこと、
の二点について、十分性の怪しい記述になっています。

判別式≧0 であれば実数解 x が存在し、y=z-x によって y も実数である
ことを一言書いておくほうが好いでしょう。
そんなこと言うまでもない、と思ったとしても。

試験対策を考えているなら、少し答案の書き方を考えたほうが良いかもしれません。
答案は、基本的に「文章を」書くものです。数式は、その補助に過ぎませんから、
式だけ書きっぱなし(に近い)答案は、求める値だけ当たっていても、評価が低い場合があります。

上の答案は、「題意より」の部分を補って

x^2+xy+y^2=6 に y=z-x を代入すると、x^2-zx+z^2-6=0 となる。
題意より、この方程式は x の実数解を持たねばならないから、
判別式を考えると、z^2-4(z^2-6)≧0 が成り立つ。
この不等式を解けば、-2...続きを読む


人気Q&Aランキング

おすすめ情報