No.04339 Re: 指数関数近似 y=ae^(bx)に関して 【青木繁伸】 2007/09/11(Tue) 17:45
> log(y) = bx * log(a)
log(y) = bx + log(a) ですね?
そして,根本的な間違いは,Excel の log は「常用対数」関数だということです。
(自然対数でも常用対数でもそのあとちゃんとやれば問題ないのですが,あとで log の逆関数で exp を使おうとしていますよね。これでは矛盾が生じます。Excel の自然対数関数は ln です。)
> 両対数のグラフが直線になりませんでした
V=bx+c は,片対数グラフですよ(xは対数変換されません)
そして,このデータは,きわめてよく直線に乗っていると見えます。
> 直線回帰を行い式V=-2.0992x+8.818の式を得ます
そうはならないようなんですが?(Excel の log でやったとしても。もちろん ln でも)
最終的な答えを書いておくと,y=8318.190315 * exp(-0.6912 * x) となるんだと思います
予測値は4167.201557,2087.661878,1045.865446,523.9519596,262.4865913,131.499099,65.87770048
なお,Excelのグラフでの近似曲線追加機能で表示される係数は有効桁数が不足することが多々あります。Rで同じ計算をすると,
y=8318.10399691879 *exp(-0.6912004231149212 * x)
予測値
4167.15655014020376 2087.63844739244132 1045.85326579211210 523.94563576573569
262.48331215951680 131.49740060633974 65.87682174520774
となるかと。
なお,非線形最小二乗法でやった方がよいと思います(Excel ならソルバーを使う)
参照:http://aoki2.si.gunma-u.ac.jp/Hanasi/StatTalk/solver.html
No.04349 Re: 指数関数近似 y=ae^(bx)に関して 【まさ】 2007/09/12(Wed) 09:53
青木先生,詳しいご回答ありがとうございます。
私の間違いは,まず,なぜか両対数が頭にあったのが大きかったようです。
xも対数をとっていてそれをグラフ化していたため,直線になってませんでした。
根本的な理解不足で単純な間違いですみません。
で得られた直線回帰がV=-0.6912x+9.0262
となり,無事y=8318.19e^(-0.6912x)を得られる事ができました。
これを期に非線形最小二乗法もしっかり勉強しようと思います。
ありがとうございました。
● 「統計学関連なんでもあり」の過去ログ--- 040 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る