Milşteyn yöntemi - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Yöntemin açıklaması
  • 2 Yöntemin arkasındaki fikir
    • 2.1 Programlama uygulaması
  • 3 Ayrıca bakınız
  • 4 Kaynakça

Milşteyn yöntemi

  • Deutsch
  • English
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
(Milstein yöntemi sayfasından yönlendirildi)

Matematiğin bir alt dalı olan stokastik analizde Milşteyn yöntemi (ya da Milstein yöntemi) stokastik diferansiyel denklemlere yaklaşık sayısal çözümler üretmek için geliştirilmiş yöntemlerden biridir. Yöntem adını, bu yaklaşıklığı 1974'te yayınlayan Grigori Milşteyn'den (Мильштейн, Г. Н.) almaktadır.[1][2]

Yöntemin açıklaması

[değiştir | kaynağı değiştir]

Wt, Wiener süreci olsun. Başlangıç koşulu X0 = x0 olan ve

d X t = a ( X t , t ) d t + b ( X t , t ) d W t , {\displaystyle \mathrm {d} X_{t}=a(X_{t},t)\,\mathrm {d} t+b(X_{t},t)\,\mathrm {d} W_{t},} {\displaystyle \mathrm {d} X_{t}=a(X_{t},t)\,\mathrm {d} t+b(X_{t},t)\,\mathrm {d} W_{t},}

hâlindeki stokastik bir diferansiyel denklemi [0, T] aralığında sayısal olarak çözmek istediğimizi varsayalım. Stokastik diferansiyel denklemin teorik çözümü X {\displaystyle X} {\displaystyle X} ile gösterilsin. X {\displaystyle X} {\displaystyle X}'in Milstein yaklaşıklığı aşağıdaki gibi kurulup tanımlanan ve bir Markov zinciri olan Y {\displaystyle Y} {\displaystyle Y}dir.

  • [0, T] aralığını N tane eşit altaralığa bölelim. Her altaralığın uzunluğu Δ t > 0 {\displaystyle \Delta t>0} {\displaystyle \Delta t>0} ile gösterilsin. O zaman,
0 = τ 0 < τ 1 < ⋯ < τ N = T  ve  Δ t = T / N {\displaystyle 0=\tau _{0}<\tau _{1}<\cdots <\tau _{N}=T{\text{ ve }}\Delta t=T/N} {\displaystyle 0=\tau _{0}<\tau _{1}<\cdots <\tau _{N}=T{\text{ ve }}\Delta t=T/N}
olacaktır.
  • Y0 = x0 tanımlansın.
  • 0 ≤ n ≤ N-1 için Δ W n = W τ n + 1 − W τ n {\displaystyle \Delta W_{n}=W_{\tau _{n+1}}-W_{\tau _{n}}} {\displaystyle \Delta W_{n}=W_{\tau _{n+1}}-W_{\tau _{n}}} olmak üzere, Yn terimleri yinelemeli olarak
Y n + 1 = Y n + a ( Y n ) Δ t + b ( Y n ) Δ W n + 1 2 b ( Y n ) b ′ ( Y n ) ( ( Δ W n ) 2 − Δ t ) {\displaystyle Y_{n+1}=Y_{n}+a(Y_{n})\Delta t+b(Y_{n})\Delta W_{n}+{\frac {1}{2}}b(Y_{n})b'(Y_{n})\left((\Delta W_{n})^{2}-\Delta t\right)} {\displaystyle Y_{n+1}=Y_{n}+a(Y_{n})\Delta t+b(Y_{n})\Delta W_{n}+{\frac {1}{2}}b(Y_{n})b'(Y_{n})\left((\Delta W_{n})^{2}-\Delta t\right)}
olarak tanımlansın. Burada, b ′ {\displaystyle b'} {\displaystyle b'} ile türev, yani, b ( x ) {\displaystyle b(x)} {\displaystyle b(x)} fonksiyonunun x {\displaystyle x} {\displaystyle x}'e göre türevi, kastedilmiştir. Bahsi geçen ΔWn rasgele değişkenleri bağımsız ve özdeş dağılmış normal rastgele değişkenlerdir. Her birinin beklenen değeri sıfırdır ve her biri Δt varyansına sahiptir.

Yöntemin arkasındaki fikir

[değiştir | kaynağı değiştir]

Yöntemin arkasındaki esas fikir b ( X t ) {\displaystyle b(X_{t})} {\displaystyle b(X_{t})} terimine Ito formülünü uygulayıp daha Euler yaklaşımlığını iyileştirmektir. Elbette, burada, bu terimdeki b {\displaystyle b} {\displaystyle b} fonksiyonun Ito formülünün koşullarına uyması beklenmektedir. Ito formülü ile d b ( X t ) = b ′ ( X t ) d X t + 1 2 b ″ ( X t ) b 2 ( X t ) d t = [ b ′ ( X t ) a ( X t ) + 1 2 b ″ ( X t ) b 2 ( X t ) ] d t + b ′ ( X t ) b ( X t ) d W t = μ b ( X t ) d t + σ b ( X t ) d W t {\displaystyle {\begin{aligned}\mathrm {d} b(X_{t})&=b'(X_{t})\mathrm {d} X_{t}+{\frac {1}{2}}b''(X_{t})b^{2}(X_{t})dt\\&=\left[b'(X_{t})a(X_{t})+{\frac {1}{2}}b''(X_{t})b^{2}(X_{t})\right]dt+b'(X_{t})b(X_{t})dW_{t}\\&=\mu _{b}(X_{t})dt+\sigma _{b}(X_{t})dW_{t}\\\end{aligned}}} {\displaystyle {\begin{aligned}\mathrm {d} b(X_{t})&=b'(X_{t})\mathrm {d} X_{t}+{\frac {1}{2}}b''(X_{t})b^{2}(X_{t})dt\\&=\left[b'(X_{t})a(X_{t})+{\frac {1}{2}}b''(X_{t})b^{2}(X_{t})\right]dt+b'(X_{t})b(X_{t})dW_{t}\\&=\mu _{b}(X_{t})dt+\sigma _{b}(X_{t})dW_{t}\\\end{aligned}}} elde edilir.[3] t ≤ u ≤ t + Δ t {\displaystyle t\leq u\leq t+\Delta t} {\displaystyle t\leq u\leq t+\Delta t} şartını sağlayan bir u {\displaystyle u} {\displaystyle u} sayısı için, Euler-Maruyama yöntemi kullanılarak, yukarıda elde edilen d b ( X t ) {\displaystyle \mathrm {d} b(X_{t})} {\displaystyle \mathrm {d} b(X_{t})} ifadesine yaklaşım sağlanır. Diğer deyişle, b ( X u ) ≈ b ( X t ) μ b ( X t ) [ u − t ] + σ b ( X t ) [ W u − W t ] = b ( X t ) [ b ′ ( X t ) a ( X t ) + 1 2 b ″ ( X t ) b 2 ( X t ) ] [ u − t ] + b ′ ( X t ) b ( X t ) [ W u − W t ] {\displaystyle {\begin{aligned}b(X_{u})&\approx b(X_{t})\mu _{b}(X_{t})[u-t]+\sigma _{b}(X_{t})[W_{u}-W_{t}]\\&=b(X_{t})\left[b'(X_{t})a(X_{t})+{\frac {1}{2}}b''(X_{t})b^{2}(X_{t})\right][u-t]+b'(X_{t})b(X_{t})[W_{u}-W_{t}]\end{aligned}}} {\displaystyle {\begin{aligned}b(X_{u})&\approx b(X_{t})\mu _{b}(X_{t})[u-t]+\sigma _{b}(X_{t})[W_{u}-W_{t}]\\&=b(X_{t})\left[b'(X_{t})a(X_{t})+{\frac {1}{2}}b''(X_{t})b^{2}(X_{t})\right][u-t]+b'(X_{t})b(X_{t})[W_{u}-W_{t}]\end{aligned}}} yazılabilir. W u − W t {\displaystyle W_{u}-W_{t}} {\displaystyle W_{u}-W_{t}} terimi olasılıkta O ( u − t ) {\displaystyle O({\sqrt {u-t}})} {\displaystyle O({\sqrt {u-t}})} olduğundan ve bu yaklaşıklıktaki sürüklenme O ( u − t ) {\displaystyle O(u-t)} {\displaystyle O(u-t)} olduğundan, O ( u − t ) {\displaystyle O(u-t)} {\displaystyle O(u-t)} büyümesine sahip terimler düşürülüp b ( X u ) ≈ b ( X t ) + b ′ ( X t ) b ( X t ) [ W u − W t ] , u ∈ [ t , t + Δ t ] {\displaystyle {\begin{aligned}b(X_{u})&\approx b(X_{t})+b'(X_{t})b(X_{t})[W_{u}-W_{t}],\quad u\in [t,t+\Delta t]\end{aligned}}} {\displaystyle {\begin{aligned}b(X_{u})&\approx b(X_{t})+b'(X_{t})b(X_{t})[W_{u}-W_{t}],\quad u\in [t,t+\Delta t]\end{aligned}}} yazılır. Bu yüzden, ∫ t t + Δ t b ( X u ) d W u ≈ ∫ t t + Δ t b ( X t ) + b ′ ( X t ) b ( X t ) [ W u − W t ] d W ( u ) = b ( X t ) [ W t + Δ t − W t ] + b ′ ( X t ) b ( X t ) ∫ t t + Δ t [ W u − W t ] d W ( u ) = b ( X t ) [ W t + Δ t − W t ] + 1 2 b ′ ( X t ) b ( X t ) [ ( W t + Δ t − W t ) 2 − Δ t ] . {\displaystyle {\begin{aligned}\int _{t}^{t+\Delta t}b(X_{u})dW_{u}&\approx \int _{t}^{t+\Delta t}b(X_{t})+b'(X_{t})b(X_{t})[W_{u}-W_{t}]dW(u)\\&=b(X_{t})[W_{t+\Delta t}-W_{t}]+b'(X_{t})b(X_{t})\int _{t}^{t+\Delta t}[W_{u}-W_{t}]dW(u)\\&=b(X_{t})[W_{t+\Delta t}-W_{t}]+{\frac {1}{2}}b'(X_{t})b(X_{t})[(W_{t+\Delta t}-W_{t})^{2}-\Delta t].\\\end{aligned}}} {\displaystyle {\begin{aligned}\int _{t}^{t+\Delta t}b(X_{u})dW_{u}&\approx \int _{t}^{t+\Delta t}b(X_{t})+b'(X_{t})b(X_{t})[W_{u}-W_{t}]dW(u)\\&=b(X_{t})[W_{t+\Delta t}-W_{t}]+b'(X_{t})b(X_{t})\int _{t}^{t+\Delta t}[W_{u}-W_{t}]dW(u)\\&=b(X_{t})[W_{t+\Delta t}-W_{t}]+{\frac {1}{2}}b'(X_{t})b(X_{t})[(W_{t+\Delta t}-W_{t})^{2}-\Delta t].\\\end{aligned}}} elde edilir. O zaman, Euler yaklaşımlığını biraz daha düzelterek X t + Δ t ≈ X t + a ( X t ) Δ t + b ( X t ) [ W t + Δ t − W t ] + 1 2 b ′ ( X t ) b ( X t ) [ ( W t + Δ t − W t ) 2 − Δ t ] {\displaystyle {\begin{aligned}X_{t+\Delta t}\approx X_{t}+a(X_{t})\Delta t+b(X_{t})[W_{t+\Delta t}-W_{t}]+{\frac {1}{2}}b'(X_{t})b(X_{t})[(W_{t+\Delta t}-W_{t})^{2}-\Delta t]\end{aligned}}} {\displaystyle {\begin{aligned}X_{t+\Delta t}\approx X_{t}+a(X_{t})\Delta t+b(X_{t})[W_{t+\Delta t}-W_{t}]+{\frac {1}{2}}b'(X_{t})b(X_{t})[(W_{t+\Delta t}-W_{t})^{2}-\Delta t]\end{aligned}}} yazılır.

Programlama uygulaması

[değiştir | kaynağı değiştir]

{ d Y t = μ Y d t + σ Y d W t Y 0 = Y ilk {\displaystyle {\begin{cases}dY_{t}=\mu Y\,{\mathrm {d} }t+\sigma Y\,{\mathrm {d} }W_{t}\\Y_{0}=Y_{\text{ilk}}\end{cases}}} {\displaystyle {\begin{cases}dY_{t}=\mu Y\,{\mathrm {d} }t+\sigma Y\,{\mathrm {d} }W_{t}\\Y_{0}=Y_{\text{ilk}}\end{cases}}} biçiminde verilmiş olan bir geometrik Brown hareketini sayısal olarak çözmek için Milşteyn yöntemi kullanılabilir.

Rastgele sayıların NumPy tarafından verildiği bir Python programlama kodu aşağıdaki gibi verilebilir:

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from textwrap import wrap

class Model:
    """Stokastik modelin  sabitleri."""
    MU = 0.05
    SIGMA = 0.2

def dW(dt):
    """Normal rastgele değişken çekilişi"""
    return np.random.normal(loc=0.0, scale=np.sqrt(dt))

def simulasyon(t_i:int, t_s:int, adim_sayisi:int):
    """bir simülasyon yolağı"""
    T_ILK = t_i
    T_SON = t_s
    N = adim_sayisi 
    DT = float(T_SON - T_ILK) / N
    Tler = np.arange(T_ILK, T_SON + DT, DT)
    assert Tler.size == N + 1

    Y_ILK = 1

    yler = np.zeros(Tler.size)
    yler[0] = Y_ILK
    for i in range(1, Tler.size):
        t = (i - 1) * DT
        y = yler[i - 1]
        dw = dW(DT)

        #Milstein yontemindeki gibi terimleri topla
        yler[i] = y + \
            Model.MU * y * DT + \
            Model.SIGMA * y * dw + \
            (Model.SIGMA**2 / 2) * y * (dw**2 - DT)

    return Tler, yler

#Birkaç simülasyonun aynı grafikte çizimi
sim_sayisi=100
# [0, 1] aralığında 5000 zaman adımında hesaplıyoruz
t_i=0#
t_s=1
adim_sayisi=5000
for _ in range(sim_sayisi):
    plt.plot(*simulasyon(t_i, t_s, adim_sayisi))

plt.xlabel("zaman (s)")
plt.ylabel("y")
plt.title("\n".join(wrap(
r"$\mu=$ {} ve $\sigma=$ {} parametreleri verilen bir geometrik Brown hareketinin [{},{}] aralığında {} zaman adımlı Milşteyn yöntemiyle yapılan yaklaşıklamalarının {} yolaklı simülasyonu".format(Model.MU, Model.SIGMA, t_i, t_s, adim_sayisi, sim_sayisi))), fontsize='small')
plt.savefig('Milstein.png', format="png")
plt.show()

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Euler-Maruyama yöntemi

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ Mil'shtein, G. N. (1974). "Approximate integration of stochastic differential equations". Teoriya Veroyatnostei i ee Primeneniya (Rusça). 19 (3). ss. 583-588. 20 Nisan 2024 tarihinde kaynağından arşivlendi27 Aralık 2024. 
  2. ^ Mil’shtein, G. N. (1975). "Approximate Integration of Stochastic Differential Equations". Theory of Probability & Its Applications. 19 (3). ss. 557-000. doi:10.1137/1119062. 
  3. ^ Glasserman, Paul (2003). Monte Carlo Methods in Financial Engineering. Springer New York, NY. ss. 341-343. doi:10.1007/978-0-387-21617-1. 
"https://tr.wikipedia.org/w/index.php?title=Milşteyn_yöntemi&oldid=34668913" sayfasından alınmıştır
Kategoriler:
  • Sayısal diferansiyel denklemler
  • Stokastik diferansiyel denklemler
  • Sayfa en son 01.02, 19 Ocak 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Milşteyn yöntemi
Konu ekle