Квазидетерминированное приближение — различия между версиями

Материал из synset
Перейти к: навигация, поиск
м (Защищена страница «Квазидетерминированное приближение» ([edit=sysop] (бессрочно) [move=sysop] (бессрочно)))
Строка 7: Строка 7:
  
  
 +
<math>\textstyle \bullet</math> Рассмотрим одномерное уравнение Ито:
 +
 +
:<center><math>dx = a(x, t) dt + \sigma \,b(x,t)\, \delta W</math></center>
 +
 +
в котором из функции <math>\textstyle b(x,t)</math> явным образом выделен параметр волатильности процесса <math>\textstyle \sigma</math>. Его мы будем считать малым. Пусть функция <math>\textstyle c(t)</math> является решением детерминированного уравнения:
 +
 +
{| width="100%"
 +
| width="90%" align="center"|<math> \dot{c} = a(c, t). </math>
 +
| <div width="10%" align="right" style="color:#0000CC">'''(EQN)'''</div>
 +
|}
 +
 +
Введём новый процесс "отклонения" от детерминированного решения:
 +
 +
:<center><math>z = \frac{x-c(t)}{\sigma}.</math></center>
 +
 +
В силу Леммы Ито он удовлетворяет уравнению:
 +
 +
:<center><math>dz = \frac{1}{\sigma}\left[a(c+\sigma z, \,t)-a(c, \,t)\right]\, dt + b(c+\sigma z,\,t)\, \delta W,</math></center>
 +
 +
где вместо <math>\textstyle \dot{c}</math> мы подставили правую часть уравнения ().
 +
 +
Запишем уравнение для средних (), стр. \pageref{df_av_F_t}, выбрав <math>\textstyle F=z^n</math>:
 +
 +
:<center><math>\dot{\left\langle z^n\right\rangle } = n\, \left\langle z^{n-1}\,\left[a(c+\sigma z, \,t)-a(c, \,t)\right]\right\rangle +\frac{n(n-1)}{2}\, \left\langle z^{n-2}b^2(c+\sigma z,\,t)\right\rangle .</math></center>
 +
 +
Разложим в ряд Тейлора по параметру <math>\textstyle \sigma</math> функции <math>\textstyle a</math> и <math>\textstyle b^2</math>:
 +
 +
:<center><math>a(c+\sigma z, \,t) = \sum^{\infty}_{k=0} A_k(t) \, (\sigma z)^k,\;\;\;\;\;\;\;\;\;b^2(c+\sigma z, \,t) = \sum^{\infty}_{k=0} D_k(t) \, (\sigma z)^k.</math></center>
 +
 +
Детерминированное решение <math>\textstyle c(t)</math> нам известно и определяет функции времени <math>\textstyle A_k=A_k(t)</math>, <math>\textstyle D_k=D_k(t)</math>. Так как <math>\textstyle A_0=a(c(t),\, t)</math>, то в квадратных скобках уравнения для средних коэффициент <math>\textstyle A_0</math> сокращается, и мы имеем:
 +
 +
{| width="100%"
 +
| width="90%" align="center"|<math> \dot{\left\langle z^n\right\rangle } = \sum^\infty_{k=0}\left[ n A_{k+1} \left\langle z^{n+k}\right\rangle +\frac{n(n-1)}{2}\, D_k \, \left\langle z^{k+n-2}\right\rangle \right] \,\sigma^k. </math>
 +
| <div width="10%" align="right" style="color:#0000CC">'''(EQN)'''</div>
 +
|}
 +
 +
Разложим в ряд по степеням <math>\textstyle \sigma</math> средние значения:
 +
 +
{| width="100%"
 +
| width="90%" align="center"|<math> \left\langle z^n\right\rangle = \sum^\infty_{i=0} z^n_{i}(t) \,\sigma^{i} </math>
 +
| <div width="10%" align="right" style="color:#0000CC">'''(EQN)'''</div>
 +
|}
 +
 +
В коэффициентах <math>\textstyle z^n_i</math>, <math>\textstyle n</math> &mdash; это верхний индекс, а не степень! Заметим, что <math>\textstyle \left\langle 1\right\rangle =1</math>, откуда <math>\textstyle z^0_i=0</math> при <math>\textstyle i>0</math> и <math>\textstyle z^0_0=1</math>.
 +
 +
Подставим разложение () в уравнение (). В результате:
 +
 +
:<center><math>\sum^\infty_{i=0} \dot{z}^n_{i}(t) \sigma^{i} = \sum^\infty_{k, i=0} \left[ n\, A_{k+1}\, z^{n+k}_i +\frac{n(n-1)}{2}\, D_k\, z^{k+n-2}_i \right]\,\sigma^{k+i}.</math></center>
 +
 +
В двойной сумме в правой части сделаем замену индексов <math>\textstyle i=i'-k'</math>, <math>\textstyle k=k'</math>. Так как <math>\textstyle i>0</math>, то <math>\textstyle k'<i'</math>. Приравнивая члены при одинаковых степенях <math>\textstyle \sigma</math> и опуская штрихи у индексов, получаем систему уравнений:
 +
 +
{| width="100%"
 +
| width="90%" align="center"|<math> \dot{z}^{n}_{i}(t) = \sum^i_{k=0} \left\{ n\, A_{k+1}\, z^{n+k}_{i-k} +\frac{n(n-1)}{2}\, D_k \, z^{k+n-2}_{i-k} \right\}. </math>
 +
| <div width="10%" align="right" style="color:#0000CC">'''(EQN)'''</div>
 +
|}
 +
 +
Выпишем несколько её первых уравнений:
 +
 +
:<center><math>\begin{array}{l} \dot{z}^1_{0}(t) = \;A_{1}\, z^1_{0}\\ \dot{z}^2_{0}(t) = 2A_{1}\, z^2_{0} + \;D_0\\ \dot{z}^3_{0}(t) = 3A_{1}\, z^3_{0} + 3\,D_0\, z^1_0\\ \dot{z}^4_{0}(t) = 4A_{1}\, z^4_{0} + 6\,D_0\, z^2_0\\ ...\\ \dot{z}^1_{1}(t) = \;A_{1}\, z^1_{1} + \;A_{2} \,z^2_{0}\\ \dot{z}^2_{1}(t) = 2A_{1}\, z^2_{1} + 2A_{2} \,z^3_{0} + \;D_1 z^{1}_0\\ \dot{z}^3_{1}(t) = 3A_{1}\, z^3_{1} + 3A_{2} \,z^4_{0} + 3D_0\,z^1_1 + 3D_1 z^{2}_0\\ ...\\ \dot{z}^1_{2}(t) = \;A_{1}\, z^1_{2} + \;A_{2} \,z^2_{1} \;+ \;A_{3} \,z^3_{0}\\ \dot{z}^2_{2}(t) = 2A_{1}\, z^2_{2} + 2A_{2} \,z^3_{1} + 2A_{3} \,z^4_{0} + \;D_1 z^{1}_1 + \;D_2 z^{2}_0\\ ...\\ \dot{z}^1_{3}(t) = \;A_{1}\, z^1_{3} + \;A_{2} \,z^2_{2} \;+ \;A_{3} \,z^3_{1} + \;A_{4} \,z^4_{0},...\\ \end{array}</math></center>
 +
 +
Так как начальные условия учтены в детерминированном решении <math>\textstyle x_0=c(t_0)</math>, то для процесса <math>\textstyle z(t)</math> они имеют вид <math>\textstyle z(t_0)=0</math>. Соответственно равны нулю и все средние <math>\textstyle \left\langle z^n\right\rangle </math> при <math>\textstyle t=t_0</math>. Систему уравнений () можно решать как аналитически, так и численно, используя конечные приращения для производных по времени.
 +
 +
Если в задаче при <math>\textstyle t\to\infty</math> возможен стационарный режим, в котором <math>\textstyle \dot{z}^n_i=0</math>, то, приравняв левые части уравнений к нулю, получим систему с постоянными коэффициентами <math>\textstyle A_k=A_k(\infty)</math>, <math>\textstyle D_k=D_k(\infty)</math>, которая легко решается. В частности: \begin{eqnarray*} \left\langle z\right\rangle &=& \frac{A_2D_0}{2A^2_1}\,\sigma - ...\\%- \frac{D_0}{4A^5_1}\,(D_0(5A^3_2+3A^2_1A_4-8A_1A_2A_3) +D_1(2A^2_1A_3-3A_1A^2_2)+ D_2A^2_1A_2 ) \\ \left\langle z^2\right\rangle &=& -\frac{D_0}{2A_1} + \frac{D_0}{4A_1^4}\,(D_0(5A^2_2-3A_1A_3) - 3D_1A_1A_2+D_2A^2_1)\,\sigma^2+... \end{eqnarray*} Особенно удобен этот способ вычисления средних в многомерном случае, когда стационарное уравнение Фоккера-Планка решить сложно.
 +
 +
<math>\textstyle \bullet</math> В качестве примера рассмотрим сначала точно решаемую задачу логарифмического блуждания:
 +
 +
:<center><math>dx = \mu x \, dt + \sigma \,x\, \delta W.</math></center>
 +
 +
Как известно (стр. \pageref{log_winer_sol}), средние значения имеют вид:
 +
 +
:<center><math>\left\langle x\right\rangle =x_0\,e^{\mu t},\;\;\;\;\;\;\;\left\langle x^2\right\rangle =x^2_0 \cdot e^{2\mu t + \sigma^2 t}=x^2_0 e^{2\mu t}\, \left[1+ \sigma^2 t + \frac{\sigma^4 t^2}{2}+...\right] .</math></center>
 +
 +
Так как уравнение линейно по <math>\textstyle x</math>, детерминированное решение <math>\textstyle c(t)</math> совпадает с выражением для среднего. ''Ненулевые'' значения коэффициентов разложения сноса и дисперсии имеют вид:
 +
 +
:<center><math>A_1=\mu,\;\;\;\;\;\;\;\;D_0=x^2_0\, e^{2\mu t},\;\;\;\;\;\;\;\;\;D_1=2 x_0 e^{\mu t},\;\;\;\;\;\;\;\;\;\;D_2=1.</math></center>
 +
 +
В результате ряды обрываются, и уравнения принимают вид:
 +
 +
:<center><math>\dot{z}^n_i = n\,\mu \,z^n_i + \frac{n(n-1)}{2} \,\Bigl[x^2_0\, e^{2\mu t}\, z^{n-2}_i + 2 x_0 e^{\mu t}\, z^{n-1}_{i-1}+ z^n_{i-2}\Bigr].</math></center>
 +
 +
Среднее значение (<math>\textstyle n=1</math>) для любой <math>\textstyle i</math>-й поправки удовлетворяет уравнениям <math>\textstyle \dot{z}^1_i = \mu \,z^1_i</math>. Так как <math>\textstyle z(0)=0</math>, то все <math>\textstyle z^1_i=0</math>, и, следовательно, <math>\textstyle \left\langle x\right\rangle =c(t)=x_0 \,e^{\mu t}</math>. Для среднего квадрата:
 +
 +
\begin{eqnarray*} &\dot{z}^2_0 = 2\,\mu \,z^2_0 + x^2_0\, e^{2\mu t} &=> z^2_0=x^2_0 e^{2\mu t}\, t\\ &\dot{z}^2_1 = 2\,\mu \,z^2_1 &=> z^2_1=0\\ &\dot{z}^2_2 = 2\,\mu \,z^2_2 + z^2_0 &=> z^2_0=x^2_0 e^{2\mu t}\, t^2/2, ... \end{eqnarray*} В итоге получаем разложение в ряд по <math>\textstyle \sigma</math> точного решения.
 +
 +
<math>\textstyle \bullet</math> Найдём теперь стохастические поправки к детерминированному решению для более сложного логистического уравнения:
 +
 +
:<center><math>dx = x\cdot(1 - x)\, dt + \sigma \, x\, \delta W.</math></center>
 +
 +
Его детерминированное решение имеет вид (см. стр. \pageref{df_eq_logistic}):
 +
 +
:<center><math>c(t)= \bigl[1 - \lambda \cdot e^{-t}\bigr]^{-1},</math></center>
 +
 +
где <math>\textstyle \lambda=1-x_0^{-1}</math>. Ненулевые коэффициенты разложения сноса и дисперсии равны:
 +
 +
:<center><math>A_1=1 - 2\,c(t),\;\;\;\;\;\;\;A_2=-1,\;\;\;\;\;D_0=c^2(t),\;\;\;\;D_1=2\,c(t),\;\;\;\;\;D_2=1.</math></center>
 +
 +
В асимптотическом пределе <math>\textstyle t\to\infty</math> детерминированное решение <math>\textstyle c(t)</math> стремится к единице, и полученные выше выражения для <math>\textstyle \left\langle z\right\rangle </math>, <math>\textstyle \left\langle z^2\right\rangle </math> воспроизводят точные значения для среднего и волатильности (), cтр.\pageref{logistic_asymptot_aver_sigma}.
 +
 +
В произвольный момент времени первое уравнение системы для средних () имеет вид:
 +
 +
:<center><math>\dot{z}^1_0(t) = \bigl[1 - 2c(t)\bigr]\,z^1_0(t)\;\;\;\;\;\;=>\;\;\;\;\;z^1_0(t)= \frac{z_0 \,e^{-t}}{(1-\lambda e^{-t})^2}.</math></center>
 +
 +
Так как <math>\textstyle z(0)=0</math>, то, следовательно, константа интегрирования <math>\textstyle z_0</math> равна нулю, и, соответственно, поправка к <math>\textstyle z</math>, пропорциональная <math>\textstyle \sigma</math>, также равна нулю <math>\textstyle z^1_0(t)=0</math>. Аналогично равны нулю <math>\textstyle z^3_1(t)=z^2_1(t)=z^1_2(t)=0</math>. Ведущий член для <math>\textstyle \left\langle z^2\right\rangle </math> подчиняется уравнению
 +
 +
:<center><math>\dot{z}^2_0(t) = 2\bigl[1- 2c(t)\bigr]\,z^2_0(t) + c^2(t),</math></center>
 +
 +
решение которого с начальным условием <math>\textstyle z^2_0(0)=0</math> имеет вид:
 +
 +
:<center><math>z^2_0(t) = \frac{1-4\lambda e^{-t}+(2\lambda^2 \,t + 4\lambda -1) e^{-2t}}{2(1-\lambda\, e^{-t})^4}.</math></center>
 +
 +
Четвёртая степень <math>\textstyle \left\langle z^4\right\rangle </math> в нулевом приближении выражается через <math>\textstyle z^2_0</math>:
 +
 +
:<center><math>z^4_0(t) = 3\, \left(z^2_0(t)\right)^2.</math></center>
 +
 +
Наконец, первая поправка к среднему значению равняется:
 +
 +
:<center><math>z^1_1(t) = - \frac{1-2(1+\lambda(t - 1)) e^{-t}+(1- 2\lambda) e^{-2t}}{2(1-\lambda\, e^{-t})^3}.</math></center>
 +
 +
Дальше члены разложения становятся достаточно громоздкими. Приведём их вид, когда <math>\textstyle \lambda = 0</math>, т.е. начальное значение стохастического процесса стартует с асимптотически равновесного уровня <math>\textstyle x=1</math>. В этом случае среднее значение для <math>\textstyle x</math> с точностью до <math>\textstyle \sigma^4</math> равно:
 +
 +
:<center><math>\left\langle x\right\rangle = 1 - \left(1-e^{-t}\right)^2\, \frac{\sigma^2}{2} + e^{-t} \left(2-3e^{-t}\right)\left(2t - 3 +4e^{-t}- e^{-2t}\right) \,\frac{\sigma^4}{4}.</math></center>
 +
 +
Аналогично для среднего квадрата:
 +
 +
:<center><math>\left\langle x^2\right\rangle = 1 - \left(1-4 e^{-t}+3 e^{-2t}\right)\, \frac{\sigma^2}{2}+...</math></center>
 +
 +
Мы видим, что сложность аналитических выражений достаточно быстро увеличивается. Для практических целей иногда имеет смысл использовать численное решение системы дифференциальных уравнений. В этом случае при небольших <math>\textstyle \sigma</math> мы будем получать средние значения быстрее, чем при использовании Монте-Карло &mdash; моделирования.
  
 
----
 
----

Версия 18:40, 21 февраля 2010

Степенные ряды для средних << Оглавление >> Марковские плотности вероятности


Рассмотрим одномерное уравнение Ито:

в котором из функции явным образом выделен параметр волатильности процесса . Его мы будем считать малым. Пусть функция является решением детерминированного уравнения:

(EQN)

Введём новый процесс "отклонения" от детерминированного решения:

В силу Леммы Ито он удовлетворяет уравнению:

где вместо мы подставили правую часть уравнения ().

Запишем уравнение для средних (), стр. \pageref{df_av_F_t}, выбрав :

Разложим в ряд Тейлора по параметру функции и :

Детерминированное решение нам известно и определяет функции времени , . Так как , то в квадратных скобках уравнения для средних коэффициент сокращается, и мы имеем:

(EQN)

Разложим в ряд по степеням средние значения:

(EQN)

В коэффициентах , — это верхний индекс, а не степень! Заметим, что , откуда при и .

Подставим разложение () в уравнение (). В результате:

В двойной сумме в правой части сделаем замену индексов , . Так как , то . Приравнивая члены при одинаковых степенях и опуская штрихи у индексов, получаем систему уравнений:

(EQN)

Выпишем несколько её первых уравнений:

Так как начальные условия учтены в детерминированном решении , то для процесса они имеют вид . Соответственно равны нулю и все средние при . Систему уравнений () можно решать как аналитически, так и численно, используя конечные приращения для производных по времени.

Если в задаче при возможен стационарный режим, в котором , то, приравняв левые части уравнений к нулю, получим систему с постоянными коэффициентами , , которая легко решается. В частности: \begin{eqnarray*} \left\langle z\right\rangle &=& \frac{A_2D_0}{2A^2_1}\,\sigma - ...\\%- \frac{D_0}{4A^5_1}\,(D_0(5A^3_2+3A^2_1A_4-8A_1A_2A_3) +D_1(2A^2_1A_3-3A_1A^2_2)+ D_2A^2_1A_2 ) \\ \left\langle z^2\right\rangle &=& -\frac{D_0}{2A_1} + \frac{D_0}{4A_1^4}\,(D_0(5A^2_2-3A_1A_3) - 3D_1A_1A_2+D_2A^2_1)\,\sigma^2+... \end{eqnarray*} Особенно удобен этот способ вычисления средних в многомерном случае, когда стационарное уравнение Фоккера-Планка решить сложно.

В качестве примера рассмотрим сначала точно решаемую задачу логарифмического блуждания:

Как известно (стр. \pageref{log_winer_sol}), средние значения имеют вид:

Так как уравнение линейно по , детерминированное решение совпадает с выражением для среднего. Ненулевые значения коэффициентов разложения сноса и дисперсии имеют вид:

В результате ряды обрываются, и уравнения принимают вид:

Среднее значение () для любой -й поправки удовлетворяет уравнениям . Так как , то все , и, следовательно, . Для среднего квадрата:

\begin{eqnarray*} &\dot{z}^2_0 = 2\,\mu \,z^2_0 + x^2_0\, e^{2\mu t} &=> z^2_0=x^2_0 e^{2\mu t}\, t\\ &\dot{z}^2_1 = 2\,\mu \,z^2_1 &=> z^2_1=0\\ &\dot{z}^2_2 = 2\,\mu \,z^2_2 + z^2_0 &=> z^2_0=x^2_0 e^{2\mu t}\, t^2/2, ... \end{eqnarray*} В итоге получаем разложение в ряд по точного решения.

Найдём теперь стохастические поправки к детерминированному решению для более сложного логистического уравнения:

Его детерминированное решение имеет вид (см. стр. \pageref{df_eq_logistic}):

где . Ненулевые коэффициенты разложения сноса и дисперсии равны:

В асимптотическом пределе детерминированное решение стремится к единице, и полученные выше выражения для , воспроизводят точные значения для среднего и волатильности (), cтр.\pageref{logistic_asymptot_aver_sigma}.

В произвольный момент времени первое уравнение системы для средних () имеет вид:

Так как , то, следовательно, константа интегрирования равна нулю, и, соответственно, поправка к , пропорциональная , также равна нулю . Аналогично равны нулю . Ведущий член для подчиняется уравнению

решение которого с начальным условием имеет вид:

Четвёртая степень в нулевом приближении выражается через :

Наконец, первая поправка к среднему значению равняется:

Дальше члены разложения становятся достаточно громоздкими. Приведём их вид, когда , т.е. начальное значение стохастического процесса стартует с асимптотически равновесного уровня . В этом случае среднее значение для с точностью до равно:

Аналогично для среднего квадрата:

Мы видим, что сложность аналитических выражений достаточно быстро увеличивается. Для практических целей иногда имеет смысл использовать численное решение системы дифференциальных уравнений. В этом случае при небольших мы будем получать средние значения быстрее, чем при использовании Монте-Карло — моделирования.


Степенные ряды для средних << Оглавление >> Марковские плотности вероятности

Стохастический мир - простое введение в стохастические дифференциальные уравнения