アプリ版:「スタンプのみでお礼する」機能のリリースについて

y=ae^bxにおいて

指数関数のまま、最小自乗法を適応して係数の推定量 a" b" を求めよ。
ただし、それぞれ初期値を13.52、1.544とし、ニュートン法を用いて求めよ。

がわかりません。
解説をお願いします。

A 回答 (1件)

データが無いとできません。

問題を読み直してください。
(x,y) のサンプル (x_k,y_k) k=1,2,…,n があるとして、
x から y を推定する式 y = a e^(b x) の誤差二乗和
E = Σ[k=1~n] {y_k - a e^(b x_k)}^2 を最小にする a, b を求めよう
というのが、「最小二乗法」です。

E の極小値を求めるために、E を微分して、
∂E/∂a = ∂E/∂b = 0 となる a, b を求める。
この方程式の近似解を得るのに、二次元のニュートン法を使え
という話なんでしょうね。

f(a,b) = ∂E/∂a, g(a,b) = ∂E/∂b と置いて
ベクトル関数 w = (f,g) のヤコビ行列を H とすると、
二次元テーラー展開から w(a+u,b+v) ≒ w(a,b) + (u,v)H です。
w(a+u,b+v) ≒ 0 とすると、(u,v) ≒ - w(a,b)(H^-1) を得ます。
(次の(a,b)) = (a+u,b+v) = (a,b) - w(H^-1) で漸化するのが、ニュートン法。…[*]
w や H は、(a,b) の値毎に違うので、毎回再計算が必要です。
問題文中の「初期値」というのは、この (a,b) の初期値のことでしょうね。

これを、手計算でやるのは大変です。
式変形は、H を a, b, x_k, y_k の式で書き下すところくらいまで
にして、後はコンピュータのプログラムでやるほうがいいでしょう。
要は、[*] の漸化式を実装することです。
    • good
    • 0

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