変化率を追いかける
微分方程式は、量がどれだけ速く変わるかを表します:dtdy=f(t,y)。連続的な利率 r で増えるお金は dtdy=ry に従い、解は y0ert です。長期水準 θ に引き戻される短期金利は dtdr=κ(θ−r) に従います。解が式で書けるものはまれなので、時間を数値的に進めます。
yn+1=yn+hf(tn,yn)(1) オイラー法は短い歩幅 h だけ接線に沿って進みます:新しい値=古い値+刻み×傾き。単純ですが1次精度で、h を半分にすると誤差も半分になります。4次のルンゲ・クッタ法(RK4)は1ステップで傾きを4回測って混ぜ合わせ、yn+1=yn+6h(k1+2k2+2k3+k4) とします。誤差は h4 で減り、h を半分にすると16分の1になります。
利率1の成長を2通りでy′=y、
y(0)=1 を
h=0.5 で
t=1 まで解きます。オイラー法:
y1=1+0.5⋅1=1.5、
y2=1.5+0.5⋅1.5=2.25 で、
e=2.7183 に対して誤差は0.4683です。RK4で
t=0.5 まで1ステップ:
k1=1、
k2=1.25、
k3=1.3125、
k4=1.65625 なので
y=1+60.5(1+2.5+2.625+1.65625)=1.6484 で、真の
e0.5=1.6487 にほぼ一致します。
- オイラー法:yn+1=yn+hf(tn,yn)、1次精度。
- RK4:1ステップで傾きを4回測り、重み1・2・2・1で混ぜる。4次精度。
- 打ち切り誤差:厳密に解かず刻みで進むことで失われる分。
刻み幅を小さくすると代償がある刻み幅を半分にするとステップ数は2倍になります。ある点を超えると打ち切り誤差は効かなくなり丸め誤差が増え、硬い方程式では刻み幅が十分小さくないと発散します。結果を信じる前に、2つの刻み幅で比べて誤差を見積もりましょう。
ラボ:採点される内容
- オイラー法2ステップ15点
- オイラー法の誤差15点
- RK4の1ステップ20点
- 精度の次数10点
- 刻み幅を半分にする15点
- オイラー法のループ10点
- RK4がオイラー法より優れる理由15点