Milşteyn yöntemi

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

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

 

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

  • [0, T] aralığını N tane eşit altaralığa bölelim. Her altaralığın uzunluğu   ile gösterilsin. O zaman,
 
olacaktır.
  • Y0 = x0 tanımlansın.
  • 0 ≤ n ≤ N-1 için   olmak üzere, Yn terimleri yinelemeli olarak
 
olarak tanımlansın. Burada,   ile türev, yani,   fonksiyonunun  '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

Yöntemin arkasındaki esas fikir   terimine Ito formülünü uygulayıp daha Euler yaklaşımlığını iyileştirmektir. Elbette, burada, bu terimdeki   fonksiyonun Ito formülünün koşullarına uyması beklenmektedir. Ito formülü ile   elde edilir.[3]   şartını sağlayan bir   sayısı için, Euler-Maruyama yöntemi kullanılarak, yukarıda elde edilen   ifadesine yaklaşım sağlanır. Diğer deyişle,   yazılabilir.   terimi olasılıkta   olduğundan ve bu yaklaşıklıktaki sürüklenme   olduğundan,   büyümesine sahip terimler düşürülüp   yazılır. Bu yüzden,   elde edilir. O zaman, Euler yaklaşımlığını biraz daha düzelterek   yazılır.

Programlama uygulaması

değiştir

  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

Kaynakça

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. 
  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.