Степенные ряды для средних

Материал из Synset

Перейти к: навигация, поиск
Логистическое уравнение << Оглавление >> Квазидетерминированное приближение


Решение обыкновенного дифференциального уравнения можно представлять в виде ряда по степеням \textstyle t. Аналогично будем поступать и в стохастическом случае, однако в ряд разложим непосредственно средние величины.

\textstyle \bullet Для уравнения Ито:

dx = a(x, t)\,dt + b(x, t)\,\delta W

возьмём первую итерацию от начального условия \textstyle x_0=x(t_0):

x = x_0 + a(x_0, t_0) \, (t-t_0) + b(x_0, t_0)\, \varepsilon \sqrt{t-t_0}.

Учитывая \textstyle \left\langle \varepsilon\right\rangle =0 и \textstyle \left\langle \varepsilon^2\right\rangle =1, вычислим, с точностью до линейного приближения по \textstyle t-t_0, среднее значение и среднее квадрата:


\begin{array}{lcl} \left\langle x\right\rangle &=& x_0 + a(x_0, t_0)\cdot (t-t_0) + ...\\ \left\langle x^2\right\rangle &=& x^2_0 + \bigl[2x_0\cdot a(x_0, t_0)+b^2(x_0,t_0)\bigr]\cdot (t-t_0) + ... \end{array}


Соответственно, дисперсия процесса в этом приближении будет равна \textstyle \sigma^2_x(t) = b^2(x_0, t_0)\cdot (t-t_0) + ... Чтобы получить дальнейшие члены разложения, воспользуемся динамическим уравнением для средних.

\textstyle \bullet Для определённости рассмотрим логистическое уравнение:

dx = x\cdot (1-x)\, dt + \sqrt{2\gamma}\cdot x\,\delta W.

В этом случае:


\begin{array}{lcl} \left\langle x\right\rangle &=& x_0 + x_0\,(1-x_0)\cdot t + f\, t^2 + ... \\ \left\langle x^2\right\rangle &=& x^2_0 + 2\bigl[x^2_0(1-x_0) + \gamma\,x^2_0 \bigr]\, t + ... 
\end{array}

Найдём коэффициент \textstyle f. Для этого подставим разложения в уравнение для среднего:

\dot{\left\langle x\right\rangle } = \left\langle x\right\rangle - \left\langle x^2\right\rangle ,

ограничившись первым порядком по \textstyle t:

x_0\cdot(1-x_0) + 2\,f\, t + ... = x_0\cdot(1-x_0) + x_0\bigl[1-(3+2\gamma)x_0+2x^2_0\bigr]\,t +...,

откуда:

\frac{2}{x_0}\, f = 1-(3+2\gamma)x_0+2x^2_0.

Аналогично находятся следующие коэффициенты разложения.

\textstyle \bullet Найдём рекуррентные соотношения для произвольного члена разложения. Выбирая в (3.3), функцию \textstyle F(x)=x^n, запишем систему связанных дифференциальных уравнений:

\dot{\left\langle x^n\right\rangle } = \left(n + n\,(n-1)\gamma\right)\, \left\langle x^n\right\rangle - n \left\langle x^{n+1}\right\rangle ,

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

\left\langle x^n\right\rangle \;=\; x^n_0\left[1 + f_{n,1}\, t + f_{n,2}\, t^2 + ... \right] \;=\; x^n_0\,\left[1 + \sum^\infty_{k=1} f_{n,k}\, t^k \right].

Подставляя его в уравнение для средних и приравнивая коэффициенты при одинаковых степенях \textstyle t, получаем при \textstyle k=1,2,... систему рекуррентных уравнений (\textstyle f_{n,0}=1):

k\,f_{n,k} = n\, (1 + (n-1)\gamma) \,f_{n, k-1} - n x_0 \,f_{n+1, k-1}.

На системе аналитических расчётов Matematica фирмы Wolfram Research, Inc. вычисления среднего с точностью до \textstyle t^5 можно записать так:

\cppsrc{src/math_t.cpp} \\ \\ Первые две строки представляют собой рекурсивное определение функции \textstyle f. Затем в цикле Do происходит суммирование разложения по \textstyle t. Последняя строка осуществляет вывод результата, сгруппированного в виде множителей при \textstyle t^n, к каждому из которых применяется операция упрощения.

Заметим, что для большого числа членов разложения более быстрой будет нерекурсивная реализация программы:

\cppsrc{src/math_t2.cpp} \\ \\ где в двойном цикле по \textstyle k и \textstyle n происходит явное вычисление коэффициентов \textstyle f_{n,k}. Хотя и рекурсивную реализацию можно ускорить, написав: f[n\_, k\_]:=f[n,k]=(n/k)\textstyle *...

Приведём первые три члена разложения:


\begin{array}{lcl} \left\langle \frac{x}{x_0}\right\rangle &=& 1 + \bigl[1-x_0\bigr]\, t + \bigl[1-(3+2\gamma)x_0+2x^2_0\bigr]\,\frac{t^2}{2!} \\ &+& \bigl[1 - (7 + 10 \gamma + 4\gamma^2)\,x_0 + (12 + 16 \gamma)\, x_0^2 - 6 x_0^3\bigr]\,\frac{t^3}{3!} + ... 
\end{array}

Аналогично для дисперсии процесса \textstyle \sigma^2_x(t)=\left\langle x^2\right\rangle -\left\langle x\right\rangle ^2:

\frac{\sigma^2_x(t)}{2\gamma x^2_0} = t + \bigl[4+2\gamma - 6 x_0\bigr]\frac{t^2}{2!} + \bigl[12 + 12\gamma + 4\gamma^2 - (48 \gamma + 46) x_0 + 38 x_0^2\bigr]\frac{t^3}{3!} + ...

Подобным образом получаются разложения для моментов произвольного порядка. Выражения несколько упрощаются, если в качестве начального условия выбирается точка детерминированного асимптотического равновесия \textstyle x_0=1. При \textstyle \gamma=0 в этом случае решение не зависит от времени. В стохастической системе оно должно проэволюционировать к значению: \textstyle x_0 \to \left\langle x\right\rangle _\infty = 1 - \gamma. Поэтому зависимость от времени существует:


\begin{array}{lcl} \frac{\left\langle x\right\rangle - 1}{2\gamma} = &-& \frac{t^2}{2!} + (3-2\gamma) \, \frac{ t^3}{3!} - (7-38 \gamma+4\gamma^2) \, \frac{t^4}{4!} \\ &+&(15-334 \gamma+284 \gamma^2- 8\gamma^3) \, \frac{t^5}{5!}\\ &-&(31-2146 \gamma+7012 \gamma^2- 1848\gamma^3 + 16\gamma^4) \, \frac{t^6}{6!}+ ... 
\end{array}

Графики разложений (\textstyle \gamma=1/2) различного порядка (от \textstyle k=1 до \textstyle k=10) для среднего (слева) и волатильности (справа) имеют вид:

File:logistic_t.png

Подобные степенные разложения часто являются асимптотическими рядами и хорошо работают только при малых временах. Однако их сходимость можно улучшать при помощи различных методов, например, аппроксимацией Падэ.

\textstyle \bullet Естественно, можно строить разложения не только в виде ряда по \textstyle t. Достаточно универсальным является метод последовательных приближений. Его идея в следующем. Выберем некоторые функции \textstyle \phi_{n, 0}(t), являющиеся нулевым приближением для \textstyle \left\langle x^n\right\rangle , так, что \textstyle \phi_{n, 0}(0)=x^n_0. Подставляя их в правые части уравнений для средних, получаем дифференциальные уравнения. Решая их, мы найдём более точное приближение для функции \textstyle \left\langle x^n\right\rangle =\phi_{n, 1}(t). При повторении этой процедуры будет получаться всё более точное выражение для средних. При этом на каждой итерации необходимо использовать начальное условие \textstyle \phi_{n, k}(0)=x^n_0. Чем удачнее выбор \textstyle \phi_{n, 0}(t), тем быстрее будут сходиться к точному значению последовательные приближения, и тем шире диапазон \textstyle t для их применимости.

Рассмотрим логистическое уравнение:

\dot{\left\langle x^n\right\rangle } = n\left(1 + (n-1)\,\gamma\right)\, \left\langle x^n\right\rangle - n \left\langle x^{n+1}\right\rangle .

В простейшем случае можно выбрать \textstyle \phi_{n,0}(t)=x^n_0. Тогда в первом приближении:

\dot{\phi}_{n,1} = n\left(1+(n-1)\,\gamma\right)\, x^n_0 - n x^{n+1}_0,

откуда:

\phi_{n,1} = x^n_0 + x^n_0 \cdot \left[ 1 + n(1-x_0) + n(n-1)\,\gamma \right] t,

и т.д. В результате снова получаются степенные ряды по \textstyle t, в которых коэффициенты разложения единым образом выражаются через \textstyle n для любого \textstyle \left\langle x^n\right\rangle .

Другой вариант выбора нулевого приближения \textstyle \phi_{n,0}=x^n_0\, e^{-nt}. В этом случае:

\phi_{n,1} = x^n_0 + x^n_0 \cdot \left[ 1+ (n-1)\,\gamma \right] \left(1-e^{-nt}\right) - \frac{n}{n+1}\, x^{n+1}_0 \left(1-e^{-2nt}\right).

В качестве нулевого приближения можно выбрать решение детерминированного уравнения. Тогда последовательно получаемые приближения окажутся рядами по величине волатильности стохастического шума \textstyle \gamma.


Логистическое уравнение << Оглавление >> Квазидетерминированное приближение

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