Euler-Maruyama 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 Yakınsaklık
  • 3 Örnekler
    • 3.1 Simülasyon örneği
    • 3.2 Programlama uygulaması
  • 4 Ayrıca bakınız
  • 5 Kaynakça

Euler-Maruyama yöntemi

  • العربية
  • Deutsch
  • English
  • Polski
  • Português
  • 中文
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
Bu madde stokastik modellere (stokastik diferansiyel denklem) ilişkin sayısal yöntemler hakkındadır. Deterministik modeller ve adi diferansiyel denklemlerdeki karşılığı için Euler yöntemine bakınız.

Matematiğin bir alt dalı olan stokastik analizde Euler-Maruyama yöntemi stokastik diferansiyel denklemlere yaklaşık sayısal çözümler üretmek için geliştirilmiş yöntemlerden biridir. Adi diferansiyel denklemler için geliştirilmiş olan Euler yönteminin stokastik diferansiyel denklemlere uyarlanmasıyla oluşmuştur. Yöntem adını, Leonhard Euler ve Gishiro Maruyama'dan almaktadır.

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. Stokasitk diferansiyel denklemin teorik çözümü X {\displaystyle X} {\displaystyle X} ile gösterilsin. X {\displaystyle X} {\displaystyle X}'in Euler-Maruyama 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 , τ n ) Δ t + b ( Y n , τ n ) Δ W n {\displaystyle \,Y_{n+1}=Y_{n}+a(Y_{n},\tau _{n})\,\Delta t+b(Y_{n},\tau _{n})\,\Delta W_{n}} {\displaystyle \,Y_{n+1}=Y_{n}+a(Y_{n},\tau _{n})\,\Delta t+b(Y_{n},\tau _{n})\,\Delta W_{n}}
olarak tanımlansın. 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.

Yakınsaklık

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

Stokastik diferansiyel denklemlerin yaklaşık çözümlerine bakılırken doğruluğu ölçmenin iki yaygın yöntemi vardır. Bunlar zayıf yakınsaklık ve güçlü yakınsaklık kavramlarıdır.[1][2] Zayıf yakınsaklıkta ortalamaların hatasına bakılırken, güçlü yakınsaklıkta ise hataların ortalamalarına bakılır.

Euler-Maruyama yaklaşıklık yönteminde, eğer a ( X t , t ) {\displaystyle a(X_{t},t)} {\displaystyle a(X_{t},t)} ve b ( X t , t ) {\displaystyle b(X_{t},t)} {\displaystyle b(X_{t},t)} fonksiyonları Lipschitz ise, yani, L bir sabit olmak üzere her t ∈ [ 0 , T ] {\displaystyle t\in [0,T]} {\displaystyle t\in [0,T]} ve tüm x , y ∈ R n {\displaystyle x,y\in \mathbb {R} ^{n}} {\displaystyle x,y\in \mathbb {R} ^{n}} için

| a ( x , t ) − a ( y , t ) | < L | x − y |  ve  | b ( x , t ) − b ( y , t ) | < L | x − y | {\displaystyle |a(x,t)-a(y,t)|<L|x-y|\quad {\text{ ve }}\quad |b(x,t)-b(y,t)|<L|x-y|} {\displaystyle |a(x,t)-a(y,t)|<L|x-y|\quad {\text{ ve }}\quad |b(x,t)-b(y,t)|<L|x-y|}

sağlanıyorsa, o zaman

  • zayıf yakınsaklık mertebesi 1 {\displaystyle 1} {\displaystyle 1} olur:
sup 0 ≤ τ n ≤ T ( E [ X τ n ] − E [ Y τ n ] ) = O ( Δ t ) {\displaystyle \sup _{0\leq \tau _{n}\leq T}\left(\mathbb {E} [X_{\tau _{n}}]-\mathbb {E} [Y_{\tau _{n}}]\right)=O(\Delta t)} {\displaystyle \sup _{0\leq \tau _{n}\leq T}\left(\mathbb {E} [X_{\tau _{n}}]-\mathbb {E} [Y_{\tau _{n}}]\right)=O(\Delta t)}
  • güçlü yakınsaklık mertebesi ise 1 2 {\displaystyle {\frac {1}{2}}} {\displaystyle {\frac {1}{2}}} olur:
E [ sup 0 ≤ τ n ≤ T | X τ n − Y τ n | ] = O ( Δ t 1 2 ) . {\displaystyle \mathbb {E} \left[\sup _{0\leq \tau _{n}\leq T}\left|X_{\tau _{n}}-Y_{\tau _{n}}\right|\right]=O(\Delta t^{\frac {1}{2}}).} {\displaystyle \mathbb {E} \left[\sup _{0\leq \tau _{n}\leq T}\left|X_{\tau _{n}}-Y_{\tau _{n}}\right|\right]=O(\Delta t^{\frac {1}{2}}).}

Örnekler

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

Simülasyon örneği

[değiştir | kaynağı değiştir]
Stokastik süreç olarak modellenmiş bir gen ifadesi

Kısmi diferansiyel denklemlerden önemli ölçüde faydalanan alanlardan biri matematiksel biyolojidir. Birçok biyolojik süreç hem stokastik hem de doğası gereği sürekli olduğundan, kısmi diferansiyel denklemleri çözmenin sayısal yöntemleri bu alanda oldukça değerlidir.

Grafik, Euler-Maruyama yöntemi kullanılarak çözülen stokastik bir diferansiyel denklemi göstermektedir. Deterministik karşılığı mavi renk ile, sayısal yaklaşım ise yeşil renk ile gösterilmiştir.

Programlama uygulaması

[değiştir | kaynağı değiştir]
d Y t = θ ⋅ ( μ − Y t ) d t + σ d W t {\displaystyle dY_{t}=\theta \cdot (\mu -Y_{t})\,{\mathrm {d} }t+\sigma \,{\mathrm {d} }W_{t}} {\displaystyle dY_{t}=\theta \cdot (\mu -Y_{t})\,{\mathrm {d} }t+\sigma \,{\mathrm {d} }W_{t}}
Y 0 = Y i l k {\displaystyle Y_{0}=Y_{\mathrm {ilk} }} {\displaystyle Y_{0}=Y_{\mathrm {ilk} }}

biçiminde verilmiş olan bir Ornstein-Uhlenbeck sürecini sayısal olarak çözmek için Euler-Maruyama yöntemi kullanılabilir.

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

import numpy as np
import matplotlib.pyplot as plt
from textwrap import wrap

class Model:
    """Stokastik modelin  sabitleri."""
    THETA = 0.5
    MU = 1.5
    SIGMA = 0.1

def mu(y: float, _t: float) -> float:
    """Ornstein–Uhlenbeck sürecinin sürüklenme sabiti"""
    return Model.THETA * (Model.MU - y)

def sigma(_y: float, _t: float) -> float:
    """Ornstein–Uhlenbeck sürecinin difüzyon sabiti"""
    return Model.SIGMA

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

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 = 0

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

    return Tler, yler

#Birkaç simülasyonun aynı grafikte çizimi
sim_sayisi=5
 # [2, 20] aralığında 5000 zaman adımında hesaplıyoruz
t_i=2#
t_s=20
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"$\theta=$ {}, $\mu=$ {} ve $\sigma=$ {} parametreleri verilen bir Ornstein–Uhlenbeck sürecine [{},{}] aralığında {} zaman adımlı Euler-Maruyama yöntemiyle yapılan yaklaşıklamalarının {} yolaklı simülasyonu".format(Model.THETA, Model.MU, Model.SIGMA, t_i, t_s, adim_sayisi, SIM_SAYISI))), fontsize='small')
plt.savefig('EulerMaruyama.png', format="png")
plt.show()

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Milstein yöntemi
  • Runge-Kutta yöntemi
  • Leimkuhler-Matthews yöntemi

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ Kloeden, P.E.; Platen, E. (1999). Numerical Solution of Stochastic Differential Equations. Springer, Berlin. 
  2. ^ Milstein, G.N.; Tretyakov, M.V. (2004). Stochastic Numerics for Mathematical Physics. Springer, Berlin. 
"https://tr.wikipedia.org/w/index.php?title=Euler-Maruyama_yöntemi&oldid=34599924" sayfasından alınmıştır
Kategoriler:
  • Sayısal diferansiyel denklemler
  • Stokastik diferansiyel denklemler
  • Leonhard Euler
  • Sayfa en son 13.01, 8 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
Euler-Maruyama yöntemi
Konu ekle