Степенные ряды для средних
Материал из Synset
| Логистическое уравнение << | Оглавление | >> Квазидетерминированное приближение |
|---|
Решение обыкновенного дифференциального уравнения можно представлять в виде ряда по степеням
. Аналогично будем поступать и в стохастическом случае, однако в ряд разложим непосредственно средние величины.
Для уравнения Ито:
возьмём первую итерацию от начального условия
:
Учитывая
и
, вычислим, с точностью до линейного приближения по
, среднее значение и среднее квадрата:
Соответственно, дисперсия процесса в этом приближении будет равна
. Чтобы получить дальнейшие члены разложения, воспользуемся динамическим уравнением для средних.
Для определённости рассмотрим логистическое уравнение:
В этом случае:
![\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}](/wiki//images/math/a/4/7/a47f79490ddb24b467d12619d5b6771e.png)
Найдём коэффициент
. Для этого подставим разложения в уравнение для среднего:
ограничившись первым порядком по
:
откуда:
Аналогично находятся следующие коэффициенты разложения.
Найдём рекуррентные соотношения для произвольного члена разложения. Выбирая в (3.3), функцию
, запишем систему связанных дифференциальных уравнений:
Разложим средние в степенной ряд:
Подставляя его в уравнение для средних и приравнивая коэффициенты при одинаковых степенях
, получаем при
систему рекуррентных уравнений (
):
На системе аналитических расчётов Matematica фирмы Wolfram Research, Inc. вычисления среднего с точностью до
можно записать так:
\cppsrc{src/math_t.cpp} \\ \\ Первые две строки представляют собой рекурсивное определение функции
. Затем в цикле Do происходит суммирование разложения по
. Последняя строка осуществляет вывод результата, сгруппированного в виде множителей при
, к каждому из которых применяется операция упрощения.
Заметим, что для большого числа членов разложения более быстрой будет нерекурсивная реализация программы:
\cppsrc{src/math_t2.cpp} \\ \\ где в двойном цикле по
и
происходит явное вычисление коэффициентов
. Хотя и рекурсивную реализацию можно ускорить, написав: f[n\_, k\_]:=f[n,k]=(n/k)
...
Приведём первые три члена разложения:
Аналогично для дисперсии процесса
:
Подобным образом получаются разложения для моментов произвольного порядка. Выражения несколько упрощаются, если в качестве начального условия выбирается точка детерминированного асимптотического равновесия
. При
в этом случае решение не зависит от времени. В стохастической системе оно должно проэволюционировать к значению:
Поэтому зависимость от времени существует:
Графики разложений (
) различного порядка (от
до
) для среднего (слева) и волатильности (справа) имеют вид:

Подобные степенные разложения часто являются асимптотическими рядами и хорошо работают только при малых временах. Однако их сходимость можно улучшать при помощи различных методов, например, аппроксимацией Падэ.
Естественно, можно строить разложения не только в виде ряда по
. Достаточно универсальным является метод последовательных приближений. Его идея в следующем. Выберем некоторые функции
, являющиеся нулевым приближением для
, так, что
. Подставляя их в правые части уравнений для средних, получаем дифференциальные уравнения. Решая их, мы найдём более точное приближение для функции
. При повторении этой процедуры будет получаться всё более точное выражение для средних. При этом на каждой итерации необходимо использовать начальное условие
. Чем удачнее выбор
, тем быстрее будут сходиться к точному значению последовательные приближения, и тем шире диапазон
для их применимости.
Рассмотрим логистическое уравнение:
В простейшем случае можно выбрать
. Тогда в первом приближении:
откуда:
и т.д. В результате снова получаются степенные ряды по
, в которых коэффициенты разложения единым образом выражаются через
для любого
.
Другой вариант выбора нулевого приближения
. В этом случае:
В качестве нулевого приближения можно выбрать решение детерминированного уравнения. Тогда последовательно получаемые приближения окажутся рядами по величине волатильности стохастического шума
.
| Логистическое уравнение << | Оглавление | >> Квазидетерминированное приближение |
|---|
Стохастический мир - простое введение в стохастические дифференциальные уравнения


![\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}](/wiki//images/math/a/1/2/a12c08e534c2e79d76090552ef2b2b9b.png)


![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 +...,](/wiki//images/math/6/3/5/635c8fb95804d1217480a01a003424ab.png)


![\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].](/wiki//images/math/0/b/7/0b72197622c01bbbdc0fa2b78f90a9d6.png)

![\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!} + ...](/wiki//images/math/6/3/4/634b318942e05aa83201998a2c5cec5f.png)


![\phi_{n,1} = x^n_0 + x^n_0 \cdot \left[ 1 + n(1-x_0) + n(n-1)\,\gamma \right] t,](/wiki//images/math/c/7/1/c71d0ba942e9cc0a3e9bb8e55b45abfe.png)
![\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).](/wiki//images/math/2/d/1/2d12c505d5de3f553fd7143fab8e6171.png)
