• ベストアンサー

既存のデータから指数曲線の傾きと切片を計算

何方かご教授下さい。 与えられたデータから、指数曲線 y = b*m^x の傾き:mと切片:bを求めたいです。 Excelには"LOGEST"という関数があり、既知のxと既知のyから 傾き:mと切片:bを計算できますが、あれってどんな計算式なんでしょう? 図々しくて申し訳ありませんが、ソフト化する必要があるので、 考え方にとどまらず、計算式を教えていただきたいです。 Office系での質問も考えましたが、こちらの方が詳しい回答が得られると思い、 こちらで質問させていただきました。 宜しくお願いします。

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

  • ベストアンサー
  • kgu-2
  • ベストアンサー率49% (787/1592)
回答No.4

No1です。失礼な回答で、ご容赦を。回帰式の切片と傾きを求める計算式、ということで。  計算式は、平均値(xバー)やら、分数やら、シグマが入っているやらで、私にはここに書き込めません。  Office 2000を利用していますが、エクセル > ヘルプ > 質問に「関数の傾き」と入力すると、slopeの説明が出てきます。その下のほうを見ると、切片と、傾きの計算式がでてきます。  その式で、yのかわりに、log yとしてプログラムを書けば、指数回帰になるはずです。  計算式自体は、回帰分析の記述のある統計学の教科書に書いてあると思います。統計学の教科書は、そんな計算式ばかり書いてあるので、見ない事にしているのですが。  15年ほど前にBASICでプログラムを組んだときは、CASIOのパソコンにはSUMだけではなく、slopの命令語があったので、yの数値を予め対数変換してから、傾きなどを計算させました。  N88-BASICは、slopeの命令語無かったので、計算式を書いたような記憶があります。  

zPlease
質問者

お礼

kgu-2さん、回答いただき、ありがとうございます。 今回の回答と、kgu-2さんの過去の回答などを参考にさせていただきました。 どうにかなりそうです。 ありがとうございました。

その他の回答 (3)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.3

最小二乗法をつかってみては? 参考URLに回帰分析について書いてありますし、最小二乗法についてもWeb検索すれば質問者さんの知りたいことは分ると思いますよ。 もう少し調べてみてください。頑張って。

参考URL:
http://www.sci.kagoshima-u.ac.jp/~itls/Japanese/chapter5/
zPlease
質問者

お礼

WWolfさん、回答いただき、ありがとうございました。 >もう少し調べてみてください。頑張って。 過去に回答などを参照して、頑張ってみます。

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.2

勘違いしていたらごめんなさい x 1  2  3  4  5 y 2  5 10 17 26 とすると 5-2=3 10-5=5 17-10=7 26-17=9 さらに 5-3=2 7-5=2 9-7=2 第二段目で差が同じになったので2次方程式 よって 2=a*1^2+b*1+c---(1) 5=a*2^2+b*2+c---(2) 10=a*3^2+b*3+c--(3) さらに (2)-(1) 3=3a+b---(4) (3)-(2) 5=5a+b---(5) また (5)-(4) 2=2a --- a=1 aを(4)に代入 b=0 bを(1)に代入 c=1 ゆえにy=x^2+1

  • kgu-2
  • ベストアンサー率49% (787/1592)
回答No.1

>指数曲線 y = b*m^x の傾き:mと切片:bを求めたいです。 エクセルでグラフが描けるのなら、 1) グラフで散布図を描く 2) 近似曲線を描く 3) 数式を表示する  の手順で傾きと切片が簡単に求められます。 どの段階なのか、教えて下さい。 以前に、同様な質問があり、過去に回答していますので、なんならご覧下さい。 >ソフト化する必要がある エクセルから、計算するだけでは駄目ですか。  20年も前に、回帰分析のために、basic(Visual Basicではありません)でプログラムを組んだことがありますが、エクセルなどで簡単にできるので、止めました。

zPlease
質問者

補足

kgu-2さん、WWolfさん(ご一緒でのお礼とさせて頂きました) 早々に回答いただき有難うございます。 質問の仕方が悪かったみたいですので、質問を補足させて頂きます。 Excelで、セルA1に 0.7716375、セルA2に 0.733055625、セルA3に 0.696402844、 セルB1に 3.0、セルB2に 4.0、セルB3に 5.0が入力されているとき、 別のセルに"=INDEX(LOGEST(A1:A3,B1:B3),1)"と数式を入力すると、傾き(m)として"0.95"。 "=INDEX(LOGEST(A1:A3,B1:B3),2)"と数式を入力すると、切片(b)として"0.9"が表示されます。 Excelを使用できない(パソコン上で動作するソフトでない)環境で動作するソフトに 既知のxと既知のyから、傾き(m)と切片(b)を計算して、 xが変化したときに、yがどの様になるかを推測(予想)する機能を実現したいのです。 どの様な計算式でなら、傾き(m)と切片(b)を計算できますか? ご教授の程、宜しくお願いします。

関連するQ&A