A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは.
経験者で恐縮ですが…
(専門家の方ほどこのようなところで「専門家」を名乗らないのでは?)
さて,2次元での非線型最小二乗法とのことですので,未知数はωとφでしょう.
これらそれぞれについて1から19の推定値が得られる,というの質問者様の誤読である可能性が高いです.
また,Taylor展開するのは「二乗誤差関数」か「誤差関数の勾配」です.
いずれにせよ誤差関数の2次微分まで考えることになります(Newton法の導出法は複数あります).
ここでは前者の方針を取ります.
いま,誤差ベクトルを e = y - f(x)とするとき,誤差ベクトルの要素の平方和は
e^T*eと書けます(^Tは転置記号).
後で見易くするために評価関数 g(x) = e^T*e/2を考え,評価関数をxの近傍で2次近似します.
これは一般の関数の最小値を計算するのは困難であるためです.
g(x+Δ) → g(x) + g'*Δ + Δ^T*g''*Δ ...(1)
ここで,g'とg''はそれぞれgの1次微分と2次微分です(双方共に行列です).
また,xとΔがベクトルであることに注意してください.
次に(1)式のΔを操作して(つまりxの周りを調べて)右辺を最小化することを考えます.
幸い,これはΔの2次関数ですから,
細かいことを考えなければ(後述)微分して零の点が近くにある最小値(=極小値)と期待されます.
g' + g''*Δ = 0 ...(2)
ここで,g'について考えます.これはeの二乗ですから,
e = y - f(x)であることに注意すると,
[e^T*e/2]' = (e')^T*e = [(y-f(x))']^T*e = [-f'(x)]^T*e = -J^T*e ...(3)
ただし,Jはf'(x),Jacobianです.
g''のために,(3)をもう一度微分します.
g'' = [(e')^T*e]' = (e'')^T*e + J^T*J = H ...(4)
この式はHessianと呼ばれます.
最終的に (3)と(4)を(2)に代入すると線型方程式
H*Δ = -J^T*e
を得ます.
これを解けば極小値の位置が分かるので x ← x + Δ と更新します.
注意しなければならないのはここでわかるのは「2次近似した関数の極小値」である点です.
近似が良くなければ x + Δ は元の関数の極小値にならないので以上の手続きを反復することになります.
ここで問題なのが,「細かいことを考えなければ」の部分です.
2変数(以上の)関数の場合,「微分して零」の点は鞍点となり極値でない場合があります.
図で書くと近似曲面が下の図の左の形をして欲しいのに,
右の形になることがあります(黒い円付近が「微分して零の点」).
右の図の円は明らかに極小ではありませんから,
折角見つけたΔも意味をなしません.
ここで,(4)式のHが「正定値」であれば求める点は極小値となります.
Gauss-Newton法は上記の問題を解決するものです.
余程運が悪くなければJ^T*Jは正定値ですから,(e''(x))^T*e の項を無視して,
HをJ^T*Jで近似してしまえば良いのです.
近似が良くなり立つのはeかe''(x)の少なくとも一方が零に近い場合です.
要するに,
・誤差が十分に小さいとき
・e''(x)が零に近い(評価関数が線型に近い)
ときにNewton法に近い振る舞いをする(しかも扱いやすい)のがGauss-Newton法です.
echoes_x86さま
回答および画像までいただきありがとうございました。
Newton法もGauss-Newton法も一括最小二乗法なのですね。
未知パラメータxの時間履歴が気になったので,文献を読みまして,
勉強しているところです。
ご参考にさせていただきます。ありがとうございました。
No.2
- 回答日時:
←No.1 補足
そうなんでしょうか? 当方、何ぶん専門家でないもので…
しかし、
与えられたデータ (t, y[t]) が 19 組。これを代入して、
方程式 y[t] = sin(ω[t] t + φ[t]) + e[t] が 19 連立。
それに対して、最適化するパラメータが
ω_hat[1],ω_hat[2],ω_hat[3], …, ω_hat[19],
φ_hat[1],φ_hat[2],φ_hat[3], …, φ_hat[19] の 38 個
では、最適化も何も、自由度が高すぎるように思いますが…
どうなんでしょうね。
例えば、ω[t] ≡ 0, φ[t] = arcsin(y[t]) とすれば、
誤差 e[t] ≡ 0 にすることができます。
No.1
- 回答日時:
専門家じゃないんですが…
y[t] = sin(ωt+φ) + e[t] の間違いではないでしょうか。
Σ{ e[t] }^2 を最小にするような ω, φ を求めたい ということですよね?
ω, φ が t の関数では、求めようがないように思います。
極小点を求めるために、連立方程式
0 = (∂/∂ω) Σ{ e[t] }^2 = 2 Σ{ ( y[t] - sin(ωt+φ) ) cos(ωt+φ) t },
0 = (∂/∂φ) Σ{ e[t] }^2 = 2 Σ{ ( y[t] - sin(ωt+φ) ) cos(ωt+φ) }.
を ω, φ について解けばよいのですが、
非線型方程式なので、厳密解を得ることは期待薄です。
そこで、方程式の近似解法として、一般的な
Newton法, Gauss-Newton法 を使おうという訳です。
方程式
0 = f(θ,φ),
0 = g(θ,φ). を Newton法で解くには、
まづ、何らかの近似解
0 ≒ f(a,b),
0 ≒ g(a,b). を得た後、
f( ), g( ) のテーラー展開を一次で打ち切った
0 = f(a,b) + { (∂f/∂θ)(a,b) } (θ - a) + { (∂f/∂φ)(a,b) } (φ - b),
0 = g(a,b) + { (∂g/∂θ)(a,b) } (θ - a) + { (∂g/∂φ)(a,b) } (φ - b).
の解 θ, φ のほうが、a, b よりマシな近似だと考えます。
得られた θ, φ を次の a, b として、この操作を繰り返すと、
最初の a, b が良ければ、回数→∞ の極限で
近似解が厳密解に収束することが知られています。
今回の問題では、この漸化式は、
0 = (θ - a) A + (φ - b) B,
0 = (θ - a) B + (φ - b) C,
A = Σ{ ( 1 - y[t] sin(at+b) ) t^2 },
B = Σ{ ( 1 - y[t] sin(at+b) ) t },
C = Σ{ 1 - y[t] sin(at+b) }. になります。
連立一次方程式を解けば、a, b から θ, φ を求めることができます。
θ, φ が適当に a, b に近くなるまで、これを繰り返せば完了です。
この回答への補足
ご解答いただきありがとうございます。
>y[t] = sin(ωt+φ) + e[t] の間違いではないでしょうか。
>Σ{ e[t] }^2 を最小にするような ω, φ を求めたい
ということですよね?
>ω, φ が t の関数では、求めようがないように思います。
上記の部分ですが,
最小二乗法による実験データ解析―プログラムSALS (UP応用数学選書 7)
というのを県立図書館で借りてきたところ
t=1,2,3…19のときに
ωの推定値ω_hatとφの推定値φ_hatは
ω_hat[1],ω_hat[2],ω_hat[3]…ω_hat[19]
φ_hat[1],φ_hat[2],φ_hat[3]…φ_hat[19]
となるような解説が書かれておりました。
(あくまで、私の解釈でございます。)
また,未知の値をベクトル化して
θ[t]=[ω[t] φ[t]]T
ただし, [ω[t] φ[t]]T は [ω[t] φ[t]] の転置です。
そして
y[t] = g(θ[t]) + e[t]
として,g(θ[t])をテイラー展開して
y[t] ≒ g(θ_hat[t-1]) + (∂g/∂θ_hat[t-1])*(θ[t]-θ_hat[t-1]) + e[t]
とすればよいと解釈したのですが,
これで果して良いのか?
あっていればこれからどうやって進めていくのか?
理解できずに困っている次第です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 Newton最新号の特集「時間はなぜ戻らないのか?」の中で統計力学から粒子の相互作用は指数関数的に増 4 2023/03/13 09:20
- 物理学 誤差の問題についでです。 yがy=A+Bxの上に乗ると予想でき、以下の4個の測定値 (2,3.2±1 2 2023/04/25 00:54
- その他(バイク) 公道走行可のキックボードなどのナンバーについて 1 2023/08/10 11:04
- JavaScript 最小二乗法 2 2023/01/01 20:57
- ファンタジー・SF SFって好きな人自体が少ないのでしょうか? 1 2023/01/11 21:11
- 統計学 統計学です 1 2023/07/26 04:36
- 物理学 物理の問題 3 2022/12/21 22:56
- 数学 すべての自然数とすべての実数を1対1で対応させる(すべての実数を一列に並べる)方法について 3 2023/05/26 17:14
- 分譲マンション 皆さんの管理組合では)共用部分の修繕工事業者の選定は→どう選定されておられますか? ①管理会社へ丸投 3 2022/10/06 22:07
- 数学 多様体について質問です。 Rを実数全体としてf:S^n={(p_1,…,p_(n+1)∈R^(n+1 2 2023/06/24 00:54
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
f(x,y)=c(定数)のとき、dy/dxを...
-
2階微分d^2y/dx^2を詳しく教え...
-
log(1+x)の微分
-
サイン二乗xの微分を教えてく...
-
y=1/(2x-1)を微分する方法につ...
-
これらの数式を声に出して読む...
-
陰関数についてdy/dxの求め方を...
-
lim[x→0](e^x - e^-x)/x
-
分母が文字の分数を微分する方...
-
授業で「yをxで微分する」とい...
-
y=e^x^x 微分 問題
-
x√xの微分
-
arctanの微分について質問させ...
-
y^2をxについて微分してください
-
接線の問題
-
二回微分して 上に凸下に凸 が...
-
虚数の入った積分
-
1/r^3のzの偏微分
-
∫1/(1-t^2)dtの解法について
-
2階の条件・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
これについて質問です。微分を...
-
2階微分d^2y/dx^2を詳しく教え...
-
高校数学が日常で役立つ場面を...
-
3階微分って何がわかるの??
-
授業で「yをxで微分する」とい...
-
二回微分して 上に凸下に凸 が...
-
微分について
-
y=log(logx)の微分について
-
これらの数式を声に出して読む...
-
なぜ微分したら円の面積が円周...
-
微分積分を理解できない人って...
-
位置を微分したら速度?
-
微分積分って何?
-
分母が文字の分数を微分する方...
-
二次関数 y=x^2 を微分すると---
-
dxやdyの本当の意味は?
-
微分積分を習わずに大学に入っ...
-
y^2をxについて微分してください
-
log(1+x)の微分
-
数学の微分の範囲で 増減を調べ...
おすすめ情報