実験データからグラフを出してそのグラフから式を導き出したいのですが見当がつきませんよい方法があったら教えて下さい多分対数の式になると思われるグラフなので対数の式の最小ニ乗法のやり方を知ってる方よろしくお願いします。

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

A 回答 (2件)

片対数なら全くsiegmund先生の仰る通りです。



しかし、もし両対数で線形化される場合、すなわち:
「測定値x[n],y[n] (n=1,2,...)が与えられ、y[n]に含まれる誤差をε[n]とするとき
yn=f(x[n])+ε[n]
であり、ただしモデルfは、その対数ln(f)が未知のパラメータA,B,C..の一次式になっている、例えば
ln(f(x[n])) =Aln(x[n])+Bx[n]+C (lnは自然対数)
である。」
と表されるような場合(モデルの右辺はもっと項が多くても少なくても良い)、つまりこの例なら
f(x[n]) = (x[n]^A)exp(B x[n]+C) (expは指数関数)
ということになりますが、その場合には
Y[n] = y[n]ln(y[n])
X1[n] = y[n]ln(x[n])
X2[n] =y[n] x[n]
X3[n] = y[n]
と置き換えて、
Y[n] =A X1[n]+B X2[n]+C X3[n]+誤差
という線形最小二乗法の問題を普通に解くと良いです。こうすれば手間をほとんど掛けずに非線形最小二乗法に近い性能を出すことが出来ます。

なぜなら、|ε[n]|<<y[n]のときには
ln(f(x[n]))-ln(y[n]) = ln((y[n]-ε[n])/y[n]) = ln(1-ε[n]/y[n]) ≒-ε[n]/y[n]
が成り立つからです。(|x|<<1のときln(1+x)≒xとなるのはグラフを描いてみれば分かります。)

という訳で、「対数の式」というだけじゃ分かりません。予想されるモデルの式を具体的に補足していただければ、もうちょっとお手伝いできるかも知れません。(ちなみに上記の例のfは gamma-shaped functionと呼ばれる、良く出てくるモデルです。)
    • good
    • 1

対数の式というのがよくわかりませんが,


y = a log x + b
のようなことですか?
それなら,log x = u とおいて u を測定値と思いなおせば,
y = au + b
で,簡単な最小2乗法になりますが....
y = au + b の最小2乗法フィットなら
物理学の1月5日の質問 No.24627 の回答で
yoichiro-ito さんが詳しく書かれています.

うるさいこと言えば,生の x の測定値の Gauss 分布仮定と
対数をとった u = log x の Gauss 分布仮定は違うんですが
通常気にしません.
    • good
    • 0

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

ln log」に関するQ&A: logとln

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Q最小二乗法

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

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

全然わかりません。。

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

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

Aベストアンサー

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

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

Q数学のグラフについて質問です。 課題で真数,片対数,両対数の各グラフ用紙にあるデータを書くという課題

数学のグラフについて質問です。
課題で真数,片対数,両対数の各グラフ用紙にあるデータを書くという課題なのですが…。真数グラフってなんでしょうか?普通の線形グラフのことでしょうか?片対数グラフと両対数グラフは分かります。
わかる方教えてください!!

Aベストアンサー

「真数とは、対数logaxに対してそのxをいう。」と説明されています。
対数を軸に用いるグラフを片対数や両対数グラフと言い、
よって軸にxを用いるのが真数グラフとなります。
何のことはない、線形軸を用いたグラフです。

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両対数グラフを片対数グラフに書き換える

両対数グラフを片対数グラフに書き換えたいのですが、
方法がわかりません。

定規で、平行などを使って、
Y軸だけ通常の数値に書き換え、
直線のグラフにできるらしいのですが、
教えてください。

Aベストアンサー

質問の意味がわからないのですが?
1 両対数のグラフ用紙に書いてあるグラフを片対数グラフ用紙に書き換えるのなら

  Y軸に目盛りが打って有ると思いますが、その目盛りを読み取って
 片対数グラフにプロットするだけです。

2 両対数のグラフ用紙を片対数グラフ用紙に変えたいのであれば、

  Y軸にリニアな目盛りを付けて、それに対応した水平線を書けばよいだけです。間隔は、必要な範囲を考え、任意で良いと思います。

3 1,2の両方なら

  2をやって、グラフ用紙を作り、1のことをやれば良い。

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

Q対数の問題 見当がつきません

この2つの対数の問題が解説が無いため全く解き方、考え方がわかりません
問題:次の式x^rの形に直せ。a,b,xは正の数で、b≠1とする。
(1)10^log10 x
(2)a^logb x
※log10 x、logb x はそれぞれ底が10,bです
 対数の書き方がわからないので申し訳ありません。

解き方、考え方をできるだけ詳しくお願いします;;

因みに答えは
(1)x
(2)x^logb a
です。よろしくお願いします

Aベストアンサー

答えをyとおいて考えてみましょう。

(1) y=10^log10 x
両辺を底10で対数を取ると。。

(2)y=a^logb x
a≠1 の時、両辺を底b の対数をとります。
logb y=logb(a^logb x)

公式 logc d^e=e*logc d を使います。

*は×(かける)の記号だと思ってください。

logb y= (logb x)*(logb a)  
次に、かけ算の順序を変えます。
= (logb a)*(logb x)
今度は公式の右辺から左辺へと使うと、
   = (logb x^(logb a))

こんな解説でわかるでしょうか?


 

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=30,x=9 と y=170,x=350 の2点を通る直線なのですが、
これをxを求める式に表すとどういう式になるのでしょうか?

過去の質問をいろいろ見ましたが、チンプンカンプン。

よろしくお願いいたします。

Aベストアンサー

#1です。

>xを求める式に表すとどういう式になるのでしょうか?
A#1は yを求める式でしたね。失礼しました。

>log(y)=0.47384297843776log(x)+1.024960141895009
この式をxについて解けば
log(x)=(log(y)-1.024960141895009)/0.47384297843776
x=(10^(-1.024960141895009/0.47384297843776))10^(log(y)/0.47384297843776)
≒0.0068694231594535*10^(2.110403752941443*log(y)) …(■)
となります。

(■)のxと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について一...続きを読む

Q【数学・乗法公式の話】 ちなみに下のような問題、乗法公式を使えばすぐできるよね。 ・正方形の形を

【数学・乗法公式の話】

ちなみに下のような問題、乗法公式を使えばすぐできるよね。

・正方形の形をした土地がある。この1辺が5%増えたら面積は約何%増えるか?


これってどうやって計算するんですか?

Aベストアンサー

縦方向だけなら5%、横方向だけなら5%。
両方ならさらに5%×5%分が増える。
 5%+5%+(5%×5%)
=10%+(0.25%)
=10.25%
ということ。
これは検算に使う。

乗算公式なら、
全体は、
(1+0.05)×(1+0.05)
=1²+(1×0.05+1×0.05)+0.05²
=1.1025
に増える。
従って増分は、
 1.1025-1
=0.1025
=10.25%


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング