Известия РАН. Теория и системы управления, 2022, № 5, стр. 40-49

СРАВНИТЕЛЬНЫЙ АНАЛИЗ ФИЛЬТРОВ ЧАСТИЦ ДЛЯ СТОХАСТИЧЕСКИХ СИСТЕМ С НЕПРЕРЫВНЫМ И ДИСКРЕТНЫМ ВРЕМЕНЕМ

И. А. Кудрявцева a, К. А. Рыбаков a*

a МАИ (национальный исследовательский ун-т)
Москва, Россия

* E-mail: rkoffice@mail.ru

Поступила в редакцию 21.03.2022
После доработки 20.04.2022
Принята к публикации 30.05.2022

Полный текст (PDF)

Аннотация

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

Введение. Рассматривается задача оптимальной фильтрации в стохастических системах наблюдения с непрерывным и дискретным временем. Эта задача состоит в оценивании траектории ненаблюдаемого случайного процесса по наблюдениям другого случайного процесса, доступным к текущему моменту времени [1]. Математическая модель стохастической системы наблюдения состоит из двух уравнений, одно из которых описывает ненаблюдаемый случайный процесс (объект наблюдения), а другое – наблюдаемый случайный процесс (измерительная система). Оценивание проводится с помощью динамической системы, называемой фильтром, преобразующей измерения в оценку вектора состояния объекта наблюдения. Синтез фильтра осуществляется в соответствии с заданным критерием качества.

Цель работы состоит в сравнении фильтров частиц для систем наблюдения с непрерывным [2] и дискретным временем [24]. Такие фильтры основаны на методе статистических испытаний, или методе Монте-Карло. Их достаточно просто реализовать на практике в виде прикладных программ, однако метод статистических испытаний требует значительных вычислительных ресурсов для достижения приемлемой точности. С развитием вычислительной техники и технологий параллельного программирования фильтры частиц все чаще привлекают внимание инженеров, так как появилась возможность их реализации в реальном масштабе времени даже для сложных динамических систем [5].

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

Отличие рассматриваемых стохастических систем наблюдения состоит в математическом аппарате, который применяется для их описания. Для систем с непрерывным и дискретным временем – это стохастические дифференциальные и разностные уравнения соответственно. Нахождение аналитических решений стохастических дифференциальных уравнений представляет собой сложную задачу, используемые для этого приемы применимы в довольно ограниченном числе частных случаев [7]. Даже если аналитическое решение найдено, то возникает задача моделирования траекторий такого решения. Наиболее часто для приближенного нахождения решений стохастических дифференциальных уравнений осуществляется переход к разностным уравнениям, т.е. применяются численные методы решения. Это уменьшает различия между стохастическими системами наблюдения с непрерывным и дискретным временем. И здесь возникает закономерный вопрос о том, какой алгоритм для решения задачи фильтрации выбрать: алгоритм непрерывного  фильтра частиц с учетом дискретизации по времени или алгоритм дискретного фильтра частиц. При некоторых допущениях оба алгоритма являются эквивалентными, однако с точки зрения практической реализации предпочтительнее оказывается алгоритм дискретного фильтра частиц. Это продемонстрировано на тестовой задаче оценивания погрешности показаний навигационной системы о координатах объекта с использованием корректирующих измерений [8, 9].

1. Задачи оптимальной фильтрации для стохастических систем наблюдения с непрерывным и дискретным временем. Будем рассматривать скрытую марковскую модель стохастической системы наблюдения с непрерывным временем, которая включает уравнение модели объекта наблюдения и уравнение измерительной системы:

(1.1)
$dX(t) = f(t,X(t))dt + \sigma (t,X(t))dW(t),\;\;\;X(0) = {{X}_{0}},$
(1.2)
$dY(t) = c(t,X(t))dt + \zeta (t)dV(t),\;\;\;Y(0) = {{Y}_{0}} = 0.$

Уравнение (1.1) – стохастическое дифференциальное уравнение в смысле Ито (если записать его в интегральном виде, то стохастический интеграл в правой части следует понимать как интеграл Ито [10]). В нем используются следующие обозначения: $X \in {{\mathbb{R}}^{n}}$$n$-мерный вектор состояния, $t \in {\text{T}} = [0,T]$, T – заданный отрезок времени функционирования системы; f(tx) : ${\text{T}} \times {{\mathbb{R}}^{n}} \to {{\mathbb{R}}^{n}}$, $\sigma (t,x):{\text{T}} \times {{\mathbb{R}}^{n}} \to {{\mathbb{R}}^{{n \times s}}}$; $W(t)$s-мерный стандартный винеровский случайный процесс, X0 и $W(t)$ независимы. Закон распределения начального вектора состояния X0 задан, в частном случае X0 – детерминированный $n$-мерный вектор.

Уравнение (1.2) – также  стохастическое  дифференциальное уравнение, в нем $Y \in {{\mathbb{R}}^{m}}$$m$-мерный вектор измерений; $c(t,x):{\text{T}} \times {{\mathbb{R}}^{n}} \to {{\mathbb{R}}^{m}}$, $\zeta (t):{\text{T}} \to {{\mathbb{R}}^{{m \times d}}}$; $V(t)$$d$-мерный стандартный винеровский случайный процесс, не зависящий от винеровского процесса $W(t)$. Здесь важно, что слагаемое, содержащее $dV(t)$, не включает случайных процессов $X(t)$ и $Y(t)$. При этом предполагается, что матрица $\eta (t) = \zeta (t){{\zeta }^{{\text{T}}}}(t)$ невырождена, т.е. $\det \eta (t) \ne 0$ и существует обратная матрица ${{\eta }^{{ - 1}}}(t)$ при любом $t \in {\text{T}}$.

Перечисленные функции $f(t,x)$, $\sigma (t,x)$, $c(t,x)$ и $\zeta (t)$ удовлетворяют условиям существования и единственности решений стохастических дифференциальных уравнений (условия линейного роста и Липшица по x), кроме того, ${\text{E|}}{{X}_{0}}{{{\text{|}}}^{2}} < \infty $, где E означает математическое ожидание. Более подробно эти условия изложены, например, в [10, 11].

Задача оптимальной фильтрации для стохастической системы наблюдения (1.1), (1.2) заключается в нахождении оценки $\hat {X}(t)$ вектора состояния по доступным к текущему моменту времени t измерениям $Y_{0}^{t} = \left\{ {Y(\tau ),~\tau \in [0,t]} \right\}$ в виде $\hat {X}(t) = \Phi (t,Y_{0}^{t})$, т.е. требуется синтезировать фильтр, который определяется функцией $\Phi (t,Y_{0}^{t})$, преобразующий измерения $Y_{0}^{t}$ в оценку вектора состояния объекта наблюдения.

Синтез фильтра осуществляется по заданному критерию качества, обеспечивающему минимум среднего риска в каждый момент времени $t \in {\text{T}}$: ${\text{E}}\Pi (t,\mathcal{E}(t)) \to \min $, где минимум берется по всем допустимым функциям $\Phi (t,Y_{0}^{t})$, $\Pi (t,\varepsilon )$ – функция потерь, $\mathcal{E}(t) = X(t) - \hat {X}(t)$ – вектор ошибки оценивания [1]. Ограничимся наиболее часто используемой в приложениях квадратичной функцией потерь $\Pi (t,\varepsilon ) = {{\varepsilon }^{{\text{T}}}}L(t)\varepsilon $, для которой $L(t)$ – положительно определенная матрица весовых коэффициентов размеров n × n. Например, при $L(t) = E$, где E – единичная матрица, функция потерь равна сумме квадратов координат вектора ошибки оценивания.

Известно [1], что для квадратичной функции потерь оптимальная оценка вектора состояния задается выражением

$\hat {X}(t) = \Phi (t,Y_{0}^{t}) = {\text{E}}[X(t){\mkern 1mu} |{\mkern 1mu} Y_{0}^{t}],$
т.е. оптимальная оценка представляет собой апостериорное математическое ожидание вектора состояния. Эта оценка помимо того, что обеспечивает минимум среднеквадратического отклонения ошибки, является еще и несмещенной, т.е. ${\text{E}}\mathcal{E}(t) = {\text{E}}[X(t) - \hat {X}(t)]$ = 0.

Далее запишем уравнения скрытой марковской модели стохастической системы наблюдения с дискретным временем. Эти уравнения, как и для непрерывного случая, представлены уравнением модели объекта наблюдения и уравнением измерительной системы (стохастическое разностное уравнение, уравнение регрессии):

(1.3)
${{X}_{k}} = {{f}_{k}}({{X}_{{k - 1}}}) + {{\sigma }_{k}}({{X}_{{k - 1}}}){{W}_{k}},$
(1.4)
${{Z}_{k}} = {{c}_{k}}({{X}_{k}}) + {{\zeta }_{k}}{{V}_{k}},$
где $X \in {{\mathbb{R}}^{n}}$$n$-мерный вектор состояния, $Z \in {{\mathbb{R}}^{m}}$m-мерный вектор измерений, $k \in {\text{K}} = \{ \overline {1,N} \} $ – дискретное время; ${{f}_{k}}(x):{{\mathbb{R}}^{n}} \to {{\mathbb{R}}^{n}}$, ${{\sigma }_{k}}(x):{{\mathbb{R}}^{n}} \to {{\mathbb{R}}^{{n \times s}}}$, ${{c}_{k}}(x):{{\mathbb{R}}^{n}} \to {{\mathbb{R}}^{m}}$, ${{\zeta }_{k}}$ – числовая матрица размеров $m \times d$; ${{W}_{k}}$ и ${{V}_{k}}$$s$- и $d$-мерный случайные векторы, координаты которых независимы в совокупности и имеют стандартное нормальное распределение. При этом предполагается, что матрица ${{\eta }_{k}} = {{\zeta }_{k}}\zeta _{k}^{{\text{T}}}$ невырождена, т.е. $\det {{\eta }_{k}} \ne 0$ и существует обратная матрица $\eta _{k}^{{ - 1}}$ при любом $k \in {\text{K}}$. Закон распределения начального вектора состояния X0 задан, X0 не зависит от ${{W}_{k}}$ и ${{V}_{k}}$. В частном случае X0 – детерминированный $n$-мерный вектор.

Задача оптимальной фильтрации для стохастической системы наблюдения (1.3), (1.4) заключается в нахождении оценки ${{\hat {X}}_{k}}$ вектора состояния по доступным к текущему моменту времени k измерениям $Z_{1}^{k} = \{ {{Z}_{i}},~i = \overline {1,k} \} $ в виде ${{\hat {X}}_{k}} = {{\Psi }_{k}}(Z_{1}^{k})$. Другими словами, требуется синтезировать фильтр, который определяется функцией ${{\Psi }_{k}}(Z_{1}^{k})$, преобразующий измерения $Z_{1}^{k}$ в оценку вектора состояния объекта наблюдения.

Как и для системы с непрерывным временем, фильтр необходимо синтезировать в соответствии с заданным критерием качества, который обеспечивает минимум среднего риска в каждый момент времени $k \in {\text{K}}$: ${\text{E}}{{\Pi }_{k}}({{\mathcal{E}}_{k}}) \to \min $. Выберем квадратичную функцию потерь ${{\Pi }_{k}}(\varepsilon ) = {{\varepsilon }^{{\text{T}}}}{{L}_{k}}\varepsilon $, где Lk – положительно определенная матрица весовых коэффициентов размеров n × n, например ${{L}_{k}} = E$, и ${{\mathcal{E}}_{k}} = {{X}_{k}} - {{\hat {X}}_{k}}$ – вектор ошибки оценивания. Тогда [3]

${{\hat {X}}_{k}} = {{\Psi }_{k}}(Z_{1}^{k}) = {\text{E}}[{{X}_{k}}{\mkern 1mu} |{\mkern 1mu} Z_{1}^{k}],$
т.е. оптимальная оценка представляет собой апостериорное математическое ожидание вектора состояния. Эта оценка обеспечивает минимум среднеквадратического отклонения ошибки и также является несмещенной, т.е. ${\text{E}}{{\mathcal{E}}_{k}} = {\text{E}}[{{X}_{k}} - {{\hat {X}}_{k}}] = 0$.

Отметим, что уравнения модели стохастической системы наблюдения с дискретным временем записаны таким образом, чтобы такую модель можно было согласовать с уравнениями модели стохастической системы наблюдения с непрерывным временем. Именно этим обусловлено то, что векторы Wk и Vk имеют нормальное распределение, а ${{\zeta }_{k}}$ – числовая матрица. Вообще говоря, обе математические модели могут иметь более общий вид [12], однако в этой работе ограничимся именно такой постановкой задачи.

2. Связь моделей стохастических систем наблюдения с непрерывным и дискретным временем. Получим аналоги уравнений (1.1), (1.2) с дискретным временем. Для этого определим точки $\{ {{t}_{k}}\} $ на отрезке T таким образом, что

${{t}_{k}} = {{t}_{{k - 1}}} + h,\quad k = \overline {1,N} ,\quad {{t}_{0}} = 0,\quad {{t}_{N}} = T,\quad N = \frac{T}{h},$
где $h$ – заданное положительное число, $h \ll T$, и воспользуемся разностной схемой метода Эйлера–Маруямы [13]:
(2.1)
${{X}_{k}} = {{X}_{{k - 1}}} + hf\left( {{{t}_{{k - 1}}},{{X}_{{k - 1}}}} \right) + \sqrt h \sigma ({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{W}_{k}},$
(2.2)
${{Y}_{k}} = {{Y}_{{k - 1}}} + hc({{t}_{{k - 1}}},{{X}_{{k - 1}}}) + \sqrt h \zeta ({{t}_{{k - 1}}}){{V}_{k}},$
т.е. $({{X}_{k}},{{Y}_{k}})$ – дискретная аппроксимация пары случайных процессов $(X(t),Y(t))$, пара $({{X}_{k}},{{Y}_{k}})$ при фиксированном k соответствует моменту времени ${{t}_{k}}$. Кроме того, с помощью обозначения ${{Z}_{{k - 1}}} = \left( {{{Y}_{k}} - {{Y}_{{k - 1}}}} \right){\text{/}}h$ перепишем соотношение (2.2) в виде

(2.3)
${{Z}_{{k - 1}}} = c({{t}_{{k - 1}}},{{X}_{{k - 1}}}) + \frac{{\zeta ({{t}_{{k - 1}}})}}{{\sqrt h }}{{V}_{k}}.$

Сравнивая уравнения (1.3), (1.4) с (2.1), (2.3), имеем

$\begin{gathered} {{f}_{k}}(x) = x + hf({{t}_{{k - 1}}},x),\quad {{\sigma }_{k}}(x) = \sqrt h \sigma ({{t}_{{k - 1}}},x), \\ {{c}_{{k - 1}}}(x) = c({{t}_{{k - 1}}},x),\quad {{\zeta }_{{k - 1}}} = \frac{{\zeta ({{t}_{{k - 1}}})}}{{\sqrt h }},\quad {{\eta }_{{k - 1}}} = \frac{{\eta ({{t}_{{k - 1}}})}}{h} \\ \end{gathered} $
с учетом того, что для модели (2.1), (2.3) происходит запаздывание на один такт в части измерений. Последнее обстоятельство обусловлено применением явного численного метода, в результате для модели (1.1), (1.2) требуется измерять начальный вектор состояния X0 в отличие от модели (1.3), (1.4). Тогда
${{\hat {X}}_{k}} = \Psi (k,Z_{0}^{{k - 1}}) = {\text{E}}[{{X}_{k}}{\mkern 1mu} |{\mkern 1mu} Z_{0}^{{k - 1}}],$
где $Z_{0}^{{k - 1}} = \{ {{Z}_{i}},~i = \overline {0,k - 1} \} $.

Отметим, что для получения аналога уравнений (1.1), (1.2) с дискретным временем выбран наиболее простой и наименее точный метод численного решения стохастических дифференциальных уравнений, имеющий порядок p = 0.5 сильной сходимости [13]. Однако именно разностная схема метода Эйлера–Маруямы с последующим предельным переходом по $h \to 0$ применяется при доказательстве утверждений для решений стохастических дифференциальных уравнений [10], и эта схема позволяет получить уравнения, которые наиболее близки по структуре к уравнениям (1.3), (1.4). Другие методы могут усложнить аналоги уравнений (1.1), (1.2) с дискретным временем. Использование методов, имеющих порядок сильной сходимости $p \geqslant 0.5$ (методы типа Рунге–Кутты [13, 14], Розенброка [15, 16], Мильштейна [17], Кузнецова [18, 19] и др.), может привести к модели стохастической системы наблюдения другого класса, например, уравнение измерительной системы будет содержать не только ${{V}_{k}}$, но и ${{W}_{k}}$. Это характерно для разностных схем “предиктор-корректор” или для схем, в которых используется регуляризация, они обеспечивают лучший результат с точки зрения приближенного моделирования траекторий стохастической системы наблюдения с непрерывным временем, но усложняют задачу фильтрации для системы с дискретным временем. Для некоторых разностных схем в уравнения вводятся дополнительные случайные величины с распределением, отличным от нормального.

Здесь нужно указать, что усложнения задачи фильтрации можно избежать, если применять приведенные численные методы только для уравнения объекта наблюдения, а для уравнения измерительной системы ограничиться методом Эйлера–Маруямы. Это оправдано тем, что вектор измерений не входит в уравнение объекта наблюдения, а также в правую часть уравнения измерительной системы. В качестве варианта можно предложить использование неявного численного метода Эйлера–Маруямы для уравнения измерительной системы, тогда при ${{Z}_{k}} = ({{Y}_{k}} - {{Y}_{{k - 1}}}){\text{/}}h$ не будет эффекта запаздывания на один такт в части измерений.

3. Непрерывные и дискретные фильтры частиц. Фильтры частиц – название для целого семейства методов и алгоритмов решения задачи оптимальной фильтрации для стохастических систем наблюдения с непрерывным и дискретным временем, а также гибридных систем. Такие методы основаны на моделировании объекта наблюдения с учетом априорной информации, т.е. известных уравнения модели объекта наблюдения и закона распределения начального вектора состояния. Оптимальная оценка вычисляется с помощью результатов моделирования и доступных измерений в соответствии с заданным критерием качества.

Под частицей понимается пара $(X(t),\omega (t))$ для модели (1.1), (1.2) или $({{X}_{k}},{{\omega }_{k}})$ для модели (1.3), (1.4), где $\omega (t)$ или ${{\omega }_{k}}$ называют весом, или весовым коэффициентом [2, 3]. Поскольку для модели (1.1), (1.2) используется ее аналог (2.1), (2.3) с дискретным временем, в приведенной далее методике указаны только составляющие пары $({{X}_{k}},{{\omega }_{k}})$.

Случайный процесс $\omega (t)$ для модели (1.1), (1.2) определяется соотношением [2]

(3.1)
$\begin{gathered} \omega (t) = \exp \left\{ {\int\limits_0^t {{{c}^{{\text{T}}}}} (\tau ,X(\tau )){{\eta }^{{ - 1}}}(\tau )dY(\tau ) - \frac{1}{2}\int\limits_0^t {{{c}^{{\text{T}}}}} \left( {\tau ,X(\tau )} \right){{\eta }^{{ - 1}}}(\tau )c(\tau ,X(\tau ))d\tau } \right\}, \\ \omega (0) = {{\omega }_{0}} = 1, \\ \end{gathered} $
а при переходе от модели (1.1), (1.2) к модели (2.1), (2.3), т.е. при дискретизации с шагом h,

(3.2)
$\begin{gathered} {{\omega }_{k}} = {{\omega }_{{k - 1}}}\exp \left\{ {{{c}^{{\text{T}}}}({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{\eta }^{{ - 1}}}({{t}_{{k - 1}}})({{Y}_{k}} - {{Y}_{{k - 1}}}) - \frac{1}{2}{{c}^{{\text{T}}}}({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{\eta }^{{ - 1}}}({{t}_{{k - 1}}})c({{t}_{{k - 1}}},{{X}_{{k - 1}}})h} \right\} = \\ \, = {{\omega }_{{k - 1}}}\exp \left\{ {{{c}^{{\text{T}}}}({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{\eta }^{{ - 1}}}({{t}_{{k - 1}}})\left( {{{Z}_{{k - 1}}} - \frac{1}{2}c({{t}_{{k - 1}}},{{X}_{{k - 1}}})} \right)h} \right\}. \\ \end{gathered} $

Случайная последовательность ${{\omega }_{k}}$ для модели (1.3), (1.4) удовлетворяет следующему рекуррентному соотношению [3]:

(3.3)
${{\omega }_{k}} = {{\omega }_{{k - 1}}}{{p}_{k}}({{Z}_{k}} - {{c}_{k}}({{X}_{k}})),$
где ${{p}_{k}}(x)$ – плотность распределения вероятностей случайного вектора ${{\zeta }_{k}}{{V}_{k}}$ (она выполняет роль функции правдоподобия [2]):
${{p}_{k}}(x) = \frac{1}{{{{{(2\pi )}}^{{n{\text{/}}2}}}\sqrt {\det {{\eta }_{k}}} }}{\mkern 1mu} \exp \left\{ { - \frac{1}{2}{\mkern 1mu} {{x}^{{\text{T}}}}\eta _{k}^{{ - 1}}x} \right\},$
так как этот вектор имеет гауссовское распределение с нулевым математическим ожиданием и ковариационной матрицей ${{\eta }_{k}}$. Для модели (2.1), (2.3) имеем

(3.4)
${{\omega }_{k}} = {{\omega }_{{k - 1}}}{{p}_{{k - 1}}}({{Z}_{{k - 1}}} - {{c}_{{k - 1}}}({{X}_{{k - 1}}})).$

Оптимальная оценка для фиксированных измерений $Y_{0}^{t}$ в модели (1.1), (1.2) выражается следующим образом:

$\hat {X}(t) = \frac{{{\text{E}}[\omega (t)X(t)]}}{{{\text{E}}{\mkern 1mu} \omega (t)}}.$

Если рассматривается модель (1.3), (1.4), то для фиксированных измерений $Z_{1}^{k}$

(3.5)
${{\hat {X}}_{k}} = \frac{{{\text{E}}[{{\omega }_{k}}{{X}_{k}}]}}{{{\text{E}}{\mkern 1mu} {{\omega }_{k}}}},$
где ${{\omega }_{k}}$ удовлетворяет (3.3). Для модели (2.1), (2.3) формула оптимальной оценки аналогична с учетом того, что ${{\omega }_{k}}$ удовлетворяет (3.2) и используются измерения $Z_{0}^{{k - 1}}$.

Покажем, что формулы (3.2) и (3.4) эквиваленты (эквивалентность состоит в том, что оптимальная оценка не зависит от выбора соотношения для весового коэффициента (3.2) или (3.4), но эти соотношения определяют разные случайные последовательности весовых коэффициентов). Поскольку измерения зафиксированы, то числитель и знаменатель правой части выражения (3.5) можно умножить на одну и ту же детерминированную величину ${{\Gamma }_{k}}$ и внести ее под знак математического ожидания.

Рассмотрим подробнее выражение ${{p}_{k}}({{Z}_{k}} - {{c}_{k}}({{X}_{k}}))$:

$\begin{gathered} {{p}_{k}}({{Z}_{k}} - {{c}_{k}}({{X}_{k}})) = \frac{1}{{{{{(2\pi )}}^{{n/2}}}\sqrt {\det {{\eta }_{k}}} }}\exp \left\{ { - \frac{1}{2}{{{({{Z}_{k}} - {{c}_{k}}({{X}_{k}}))}}^{{\text{T}}}}\eta _{k}^{{ - 1}}\left( {{{Z}_{k}} - {{c}_{k}}({{X}_{k}})} \right)} \right\} = \\ \, = \frac{1}{{{{{(2\pi )}}^{{n{\text{/}}2}}}\sqrt {\det {{\eta }_{k}}} }}\exp \left\{ { - \frac{1}{2}Z_{k}^{{\text{T}}}\eta _{k}^{{ - 1}}{{Z}_{k}} + c_{k}^{{\text{T}}}({{X}_{k}})\eta _{k}^{{ - 1}}{{Z}_{k}} - \frac{1}{2}c_{k}^{{\text{T}}}({{X}_{k}})\eta _{k}^{{ - 1}}{{c}_{k}}({{X}_{k}})} \right\} = \\ \, = \frac{1}{{{{{(2\pi )}}^{{n{\text{/}}2}}}\sqrt {\det {{\eta }_{k}}} }}{\mkern 1mu} \exp \left\{ { - \frac{1}{2}Z_{k}^{{\text{T}}}\eta _{k}^{{ - 1}}{{Z}_{k}}} \right\}\exp \left\{ {c_{k}^{{\text{T}}}({{X}_{k}})\eta _{k}^{{ - 1}}\left( {{{Z}_{k}} - \frac{1}{2}{{c}_{k}}({{X}_{k}})} \right)} \right\}, \\ \end{gathered} $
следовательно,

$\begin{gathered} {{p}_{{k - 1}}}\left( {{{Z}_{{k - 1}}} - {{c}_{{k - 1}}}({{X}_{{k - 1}}})} \right) = \frac{{{{h}^{{n{\text{/}}2}}}}}{{{{{(2\pi )}}^{{n{\text{/}}2}}}\sqrt {\det \eta ({{t}_{{k - 1}}})} }}{\mkern 1mu} \exp \left\{ { - \frac{1}{2}{\mkern 1mu} Z_{{k - 1}}^{{\text{T}}}{{\eta }^{{ - 1}}}({{t}_{{k - 1}}}){{Z}_{{k - 1}}}h} \right\} \times \\ \, \times \exp \left\{ {{{c}^{{\text{T}}}}({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{\eta }^{{ - 1}}}({{t}_{{k - 1}}})\left( {{{Z}_{{k - 1}}} - \frac{1}{2}{\mkern 1mu} c({{t}_{{k - 1}}},{{X}_{{k - 1}}})} \right)h} \right\}. \\ \end{gathered} $

Таким образом, если в качестве детерминированной величины ${{\Gamma }_{k}}$ выбрать

${{\Gamma }_{k}} = {{\left( {\frac{{2\pi }}{h}} \right)}^{{n{\text{/}}2}}}\sqrt {\det \eta ({{t}_{{k - 1}}})} {\mkern 1mu} \exp \left\{ {\frac{1}{2}{\mkern 1mu} Z_{{k - 1}}^{{\text{T}}}{{\eta }^{{ - 1}}}({{t}_{{k - 1}}}){{Z}_{{k - 1}}}h} \right\}$
и умножить на нее числитель и знаменатель правой части выражения (3.5), то оптимальная оценка останется неизменной, но случайная последовательность весовых коэффициентов будет определяться формулой (3.2), а не (3.4). Здесь, однако, нужно подчеркнуть, что при использовании разностной схемы для (3.1), отличной от приведенной выше, так просто согласовать правила нахождения весовых коэффициентов вряд ли удастся.

Подводя итог этого раздела, кратко опишем методику решения задачи фильтрации. Она состоит в последовательном моделировании реализаций вектора состояния ${{X}_{k}}$, согласно уравнению модели объекта наблюдения (реализации начального вектора состояния X0 моделируются, согласно заданному закону распределения), т.е. формировании траекторий объекта наблюдения (формулы (2.1) и (1.3)), моделировании соответствующих весовых коэффициентов ${{\omega }_{k}}$ с учетом доступных измерений, позволяющих преобразовать априорные оценки моментов вектора состояния или его распределения в апостериорные (фильтрация) для каждого момента времени (см. формулы (3.2) и (3.3)), вычислении оценки ${{\hat {X}}_{k}}$ по реализациям вектора состояния ${{X}_{k}}$ и весовых коэффициентов ${{\omega }_{k}}$. Возможны дополнительные шаги, например перевыборка при вырождении апостериорного распределения.

4. Практическая реализация непрерывных и дискретных фильтров частиц. Непосредственная реализация в виде прикладных программ описанных выше фильтров частиц включает моделирование пар $(X_{k}^{i},\omega _{k}^{i})$, где i – номер реализации, и статистическую обработку результатов моделирования. Таким образом, моделируется объект наблюдения и весовые коэффициенты методом статистических испытаний, или методом Монте-Карло. Общее количество реализаций M задается заранее, его выбор определяется компромиссом между допустимым временем расчетов и их точностью. Время расчетов зависит от M линейно. Точность оценивания подчиняется более сложному закону. Во-первых, при синтезе оптимального фильтра, преобразующего измерения в оценку вектора состояния объекта наблюдения, минимизируется среднеквадратическое отклонение ошибки, но, как правило, эта характеристика больше нуля. Во-вторых, если задача фильтрации рассматривается для стохастической системы наблюдения с непрерывным временем, то численное моделирование траекторий объекта наблюдения сопряжено с применением численных методов решения стохастических дифференциальных уравнений, каждый из которых имеет свою методическую погрешность. В-третьих, есть и статистическая погрешность метода, она, как известно, обратно пропорциональна величине $\sqrt M $. Кроме того, есть погрешности, обусловленные применением псевдослучайных последовательностей и машинной арифметики.

Пары $(X_{k}^{i},\omega _{k}^{i})$ для стохастической системы наблюдения с непрерывным временем при дискретизации с шагом $h$ определяются рекуррентными соотношениями (2.1), (3.2), а для стохастической системы наблюдения с дискретным временем – (1.3), (3.3). Формула для оценки вектора состояния, которая получается из (3.5) заменой математического ожидания выборочным средним, при этом записывается следующим образом:

(4.1)
${{\hat {X}}_{k}} = {{\left( {\sum\limits_{i = 1}^M {\omega _{k}^{i}} } \right)}^{{ - 1}}}\sum\limits_{i = 1}^M {\omega _{k}^{i}X_{k}^{i}} ,$
причем для каждого шага необходимо дополнительно проводить нормировку весовых коэффициентов, т.е.
${{\Omega }_{k}} = \sum\limits_{i = 1}^M {\omega _{k}^{i}} ,~\quad \omega _{k}^{i}: = \frac{{\omega _{k}^{i}}}{{{{\Omega }_{k}}}},~\quad {{\hat {X}}_{k}} = \sum\limits_{i = 1}^M {\omega _{k}^{i}X_{k}^{i}} $
при начальном условии $\omega _{0}^{i} = 1{\text{/}}M$.

Такая нормировка выполняет важную функцию, а именно при ее использовании минимизируются ошибки переполнения, поскольку иначе величины $\omega _{k}^{i}$ при ${{p}_{k}}(0) > 1$ могут возрастать с ростом k для некоторых номеров i. Это замечание относится к рекуррентным соотношениям (3.3) и (3.4). Однако при использовании соотношения (3.2), как показано в работе [20], такой нормировки может оказаться недостаточно. Ошибки переполнения могут возникать из-за того, что число ${{{\text{e}}}^{\mu }}$, где для фиксированного $k$

$\mu = {{c}^{{\text{T}}}}({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{\eta }^{{ - 1}}}({{t}_{{k - 1}}})\left( {{{Z}_{{k - 1}}} - \frac{1}{2}{\mkern 1mu} c({{t}_{{k - 1}}},{{X}_{{k - 1}}})} \right)h,$
оказывается больше допустимой максимальной величины, которую может обрабатывать процессор при операциях с числами с плавающей точкой. Например, при одинарной точности (для хранения в памяти числа требуется 32 бита) значение $\mu $ ограничено сверху величиной 88.722, а при двойной точности (для хранения в памяти числа требуется 64 бита) – величиной 706.893 с учетом округления.

В [20] была предложена модификация алгоритма непрерывного фильтра частиц, основанного на вычислении весовых коэффициентов по формуле (3.2). Эта модификация заключалась в том, что вместо формулы (3.2) использовалось следующее рекуррентное соотношение:

(4.2)
${{\omega }_{k}} = \exp \left\{ {\ln {{\omega }_{{k - 1}}} + {{c}^{{\text{T}}}}({{t}_{{k - 1}}},{{X}_{{k - 1}}}){{\eta }^{{ - 1}}}({{t}_{{k - 1}}})\left( {{{Z}_{{k - 1}}} - \frac{1}{2}{\mkern 1mu} c({{t}_{{k - 1}}},{{X}_{{k - 1}}})} \right)h - {{\gamma }_{k}}} \right\},$
где параметр ${{\gamma }_{k}}$ определяется для каждого момента времени из условия равенства нулю максимума выражения в фигурных скобках по всем имеющимся реализациям.

Напомним, что умножение числителя и знаменателя правой части выражения (3.5) на одну и ту же детерминированную величину ${{\Gamma }_{k}}$ не влияет на результат оценивания. Здесь за исходное правило нахождения весовых коэффициентов взята формула (3.2), а в качестве такого множителя выступает ${{\Gamma }_{k}} = {{{\text{e}}}^{{ - {{\gamma }_{k}}}}}$.

Наиболее эффективно при практической реализации непрерывных и дискретных фильтров частиц использовать рекуррентное соотношение

(4.3)
${{\omega }_{k}} = {{\omega }_{{k - 1}}}p_{{k - 1}}^{*}\left( {{{Z}_{{k - 1}}} - {{c}_{{k - 1}}}({{X}_{{k - 1}}})} \right)$
вместо (3.2) и (3.4) и ${{\omega }_{k}} = {{\omega }_{{k - 1}}}p_{k}^{*}({{Z}_{k}} - {{c}_{k}}({{X}_{k}}))$ вместо (3.3), где

$p_{k}^{*}(x) = \exp \left\{ { - \frac{1}{2}{\mkern 1mu} {{x}^{{\text{T}}}}\eta _{k}^{{ - 1}}x} \right\}.$

Такие соотношения гарантируют отсутствие ошибок переполнения: они порождают невозрастающую последовательность весовых коэффициентов, поскольку по сравнению с соотношениями (3.3) и (3.4) отсутствует коэффициент ${{[{{(2\pi )}^{{n{\text{/}}2}}}\sqrt {\det {{\eta }_{k}}} ]}^{{ - 1}}}$, не влияющий на результат оценивания, хотя проблема вырождения весовых коэффициентов остается. В отличие от соотношения (4.2) не требуется находить максимальный элемент по множеству реализаций, что сокращает время вычислений и упрощает формирование параллельного алгоритма фильтрации.

5. Вычислительный эксперимент. Для сравнения фильтров частиц в классе стохастических систем с непрерывным и дискретным временем рассмотрим тестовую задачу оценивания погрешности показаний навигационной системы о координатах объекта с использованием корректирующих измерений (данных карты геофизического поля) [8, 9].

Будем полагать, что объект движется прямолинейно с заданной постоянной скоростью, т.е. координата объекта описывается функцией $x(t) = {{x}_{0}} + Vt$, где ${{x}_{0}} = 8{\mkern 1mu} $ км – начальная координата, $V = 0.005{\mkern 1mu} $ км/с – скорость движения, T = 200 c.

Измерения (показания навигационной системы) имеют вид $z(t) = x(t) + \Delta _{z}^{*}$, где $\Delta _{z}^{*}$ – реализация гауссовской центрированной случайной величины ${{\Delta }_{z}}$ с дисперсией $\sigma _{z}^{2}$ (ошибка навигационной системы), σz = 1 км. Дополнительно имеются измерения аномалий силы тяжести, представленные в виде $y(t) = c(x(t)) + {{\Delta }_{y}}(t)$, где $c(x)$ – полином заданной степени q с известными коэффициентами:

$c(x) = {{F}_{0}} + {{F}_{1}}x + \ldots + {{F}_{q}}{{x}^{q}},$
в котором:

при q = 1: ${{F}_{0}} = 31{\mkern 1mu} $ мГал, ${{F}_{1}} = 0.08$ мГал/км;

при q = 2: ${{F}_{0}} = 45$ мГал, ${{F}_{1}} = - 3$ мГал/км, ${{F}_{2}} = 0.15$ мГал/км2;

при q = 3: ${{F}_{0}} = 65{\mkern 1mu} $ мГал, ${{F}_{1}} = - 10{\mkern 1mu} $ мГал/км, ${{F}_{2}} = 1.0$ мГал/км2, ${{F}_{3}} = - 0.03$ мГал/км3,

т.е. рассматриваются три варианта аппроксимации геофизического поля полиномами первой, второй и третьей степеней. Далее, ${{\Delta }_{y}}(t)$ – центрированный гауссовский белый шум интенсивности r2, r = 1 мГал/$\sqrt {{\text{Гц}}} $, ${{\Delta }_{z}}$ и ${{\Delta }_{y}}(t)$ независимы.

Задача состоит в оценивании величины $\Delta _{z}^{*}$ по измерениям $z(t)$ и $y(t)$ на заданном отрезке времени [0, T]. Следуя постановке и общей методике решения задачи навигации по геофизическим полям в рамках байесовской теории нелинейной фильтрации [8, 9], дифференциальное уравнение (1.1) запишем в форме $dX(t) = 0$, где ${{X}_{0}} = X(0)$ – гауссовская случайная величина с нулевым математическим ожиданием и дисперсией $\sigma _{z}^{2}$, т.е. $X(t) = {{\Delta }_{z}}$, а дифференциальное уравнение (1.2) – в форме $dY(t) = c(z(t) - X(t))dt + rdV(t)$, ${{X}_{0}}$ и $V(t)$ независимы. Таким образом, $n = m = d = 1$.

Соответствующие разностные уравнения (2.1)(2.3) имеют вид ${{X}_{k}} = {{X}_{{k - 1}}}$, Yk = Yk – 1 = = $hc(z({{t}_{{k - 1}}}) - {{X}_{{k - 1}}}) + \sqrt h r{{V}_{k}}$ и ${{Z}_{{k - 1}}} = c\left( {z({{t}_{{k - 1}}}) - {{X}_{{k - 1}}}} \right) + (r{\text{/}}\sqrt h ){{V}_{k}}$, где ${{V}_{k}}$ – случайные величины, которые независимы в совокупности и имеют стандартное нормальное распределение, h – шаг численного интегрирования.

Особенность этой задачи состоит в том, что уравнение измерительной системы здесь параметризовано величиной $\Delta _{z}^{*}$, каждому значению этой величины соответствует свое уравнение. Поэтому при $q = 2,3, \ldots $, когда уравнение измерительной системы нелинейно, математическое ожидание ошибки оценивания отлично от нуля (не выполняется свойство несмещенности оценки).

Для нахождения весовых коэффициентов применялись рекуррентные соотношения (4.2) и (4.3). Рекуррентное соотношение (3.2) приводит к ошибкам переполнения при условии $h{\text{/}}{{r}^{2}}$ > > 0.17 для одинарной точности и $h{\text{/}}{{r}^{2}} > 1.4$ при двойной точности, где усредненные значения 0.17 и 1.4 получены по результатам вычислительного эксперимента. В этой тестовой задаче при условии $h{\text{/}}{{r}^{2}} \ll 0.17$ при одинарной точности вычислений и $h{\text{/}}{{r}^{2}} \ll 1.4$ при двойной точности допустимо применение соотношения (3.2). Оценка ошибки навигационной системы вычислялась по формуле (3.5).

Программное обеспечение для решения этой задачи разработано с использованием компилятора C++ из пакета Intel Parallel Studio. Оно позволяет на одной реализации последовательности случайных величин (начальных ошибок, шумов измерительной системы) получать оценки с помощью фильтров частиц для стохастических систем наблюдения с непрерывным и дискретным временем для всех вариантов описания геофизического поля. Реализованы также модифицированный непрерывный фильтр частиц, фильтры Калмана и Калмана–Бьюси, однако они не использовались в сравнении (сравнительный анализ двух вариантов непрерывных фильтров частиц и фильтра Калмана–Бьюси представлен в [21]).

Результаты оценивания совпадают, что вполне ожидаемо. Отметим выигрыш по времени расчетов с помощью рекуррентного соотношения (4.3) вместо (4.2) для нахождения весовых коэффициентов. Для числа частиц $M = {{10}^{6}}$ при h = 0.1 время вычислений при использовании (4.2) составляет 14 с ($h = 0.01$–133 с, $h = 0.001$–1316 с), а при использовании (4.3)–10 с ($h = 0.01$–100 с, $h = 0.001$–1089 с). Время указано для процессора Intel Core i7 4930 K и двойной точности вычислений. Таким образом, при той же точности оценивания применение рекуррентного соотношения (4.3) для нахождения весовых коэффициентов дает определенный выигрыш по времени расчетов.

Приведем примеры оценивания величины $\Delta _{z}^{*}$ при аппроксимации геофизического поля полиномами первой, второй и третьей степеней для числа частиц M = 105 при h = 1. На рис. 1 сплошной линией показана оцениваемая ошибка навигационной системы $\Delta _{z}^{*} = 2$ км, результаты ее оценивания при $q = \overline {1.3} $ показаны соответственно пунктирной, штриховой и штрихпунктирной линиями. Здесь при q = 2 результат значительно хуже остальных за счет того, что начальная координата объекта с учетом ошибки навигационной системы совпадает с локальным минимумом полинома $c(x)$. В окрестности этого локального минимума x* измерения для координат $x{\kern 1pt} {\text{*}} \pm \delta $ отличаются только за счет возмущений ${{\Delta }_{y}}(t)$, и точность оценивания возрастает только после прохождения объектом окрестности x*.

Рис. 1.

Ошибка навигационной системы $\Delta _{z}^{*} = 2$ км и результаты ее оценивания при степенях $q = \overline {1,3} $ полинома $c(x)$

Рисунок 2 соответствует ошибке навигационной системы $\Delta _{z}^{*} = - 3$ км, обозначения такие же, как и для рис. 1. В данном случае худший результат имеет место при q = 3 по тем же причинам, а именно начальная координата объекта с учетом ошибки навигационной системы близка к локальному минимуму полинома $c(x)$.

Рис. 2.

Ошибка навигационной системы $\Delta _{z}^{*} = - 3$ км и результаты ее оценивания при степенях $q = \overline {1,3} $ полинома $c(x)$

Точность оценивания для каждой степени q полинома $c(x)$ в этой задаче зависит от величины $\Delta _{z}^{*}$ именно из-за параметризации уравнения измерительной системы этой величиной. Однако в среднем по множеству реализаций $\Delta _{z}^{*}$ в соответствии с заданным распределением этой величины результаты оценивания ранжируются в соответствии со степенью q полинома $c(x)$: чем больше q, тем выше точность оценивания [21].

Заключение. Рассмотрена задача оптимальной фильтрации в стохастических системах наблюдения как c непрерывным, так и с дискретным временем. Показано, что фильтры частиц в обоих случаях дают практически один результат при условии, что в случае непрерывного времени для моделирования траекторий объекта наблюдения используется простейший численный метод решения стохастических дифференциальных уравнений, а именно метод Эйлера–Маруямы (однако возможна реализация непрерывного фильтра частиц без перехода к дискретному времени [22]). В качестве тестовой задачи выбрана задача оценивания погрешности показаний навигационной системы о координатах объекта с помощью корректирующих измерений, при решении которой обнаружен интересный эффект смещения оценки за счет того, что уравнение измерительной системы параметризовано оцениваемой величиной.

Список литературы

  1. Пантелеев А.В., Руденко Е.А., Бортаковский А.С. Нелинейные системы управления: описание, анализ и синтез. М.: Вузовская книга, 2008.

  2. Bain A., Crisan D. Fundamentals of Stochastic Filtering. Springer, 2009.

  3. Doucet A., De Freitas N., Gordon N. (eds) Sequential Monte Carlo Methods in Practice. Springer, 2001.

  4. Chen Z. Bayesian Filtering: from Kalman Filters to Particle Filters, and Beyond // Statistics. 2003. V. 182. № 1. P. 1–69.

  5. Рыбаков К.А., Ющенко А.А. Непрерывные фильтры частиц и их реализация в реальном масштабе времени // Вест. ВГУ. Сер. Системный анализ и информационные технологии. 2018. № 3. С. 56–64.

  6. Зарицкий В.С., Светник В.Б., Шимелевич Л.И. Метод Монте-Карло в задачах оптимальной обработки информации // АиТ. 1975. № 12. С. 95–103.

  7. Леваков А.А. Методы интегрирования стохастических дифференциальных уравнений. Минск: БГУ, 2010.

  8. Stepanov O.A., Litvinenko Yu.A., Vasiliev V.A., Toropov A.B., Basin M.V. Polynomial Filtering Algorithm Applied to Navigation Data Processing Under Quadratic Nonlinearities in System and Measurement Equations. P. 1. Description and Comparison with Kalman Type Algorithms // Gyroscopy and Navigation. 2021. V. 12. № 3. P. 205–223.

  9. Stepanov O.A., Litvinenko Yu.A., Vasiliev V.A., Toropov A.B., Basin M.V. Polynomial Filtering Algorithm Applied to Navigation Data Processing Under Quadratic Nonlinearities in System and Measurement Equations. P. 2. Solution Examples // Gyroscopy and Navigation. 2021. V. 12. № 4. P. 314–328.

  10. Гихман И.И., Скороход А.В. Введение в теорию случайных процессов. М.: Наука, 1977.

  11. Liptser R., Shiryaev A.N. Statistics of Random Processes. Springer, 2001.

  12. Rudenko E.A. Optimal Nonlinear Recurrent Finite Memory Filter // J. Comput. System Sci. Int. 2018. V. 57. № 1. P. 43–62.

  13. Kloeden P.E., Platen E. Numerical Solution of Stochastic Differential Equations. Springer, 1995.

  14. Roberts A.J. Model Emergent Dynamics in Complex Systems. SIAM, 2014.

  15. Artemiev S.S., Averina T.A. Numerical Analysis of Systems of Ordinary and Stochastic Differential Equations. VSP, 1997.

  16. Averina T.A., Karachanskaya E.V., Rybakov K.A. Statistical Modeling of Random Processes with Invariants // Proc. Int. Multi-Conf. on Engineering, Computer and Information Sciences (SIBIRCON). IEEE, 2017. P. 34–37.

  17. Milshtein G.N., Tretyakov M.V. Stochastic Numerics for Mathematical Physics. Springer, 2004.

  18. Kuznetsov M.D., Kuznetsov D.F. SDE–MATH: A Software Package for the Implementation of Strong High-order Numerical Methods for Itô SDEs with Multidimensional Non-commutative Noise Based on Multiple Fourier-Legendre Series // Differencialnie Uravnenia i Protsesy Upravlenia. 2021. № 1. P. 93–422.

  19. Kuznetsov D.F. Mean-square Approximation of Iterated Ito and Stratonovich Stochastic Integrals: Method of Generalized Multiple Fourier Series. Application to Numerical Integration of Ito SDEs and Semilinear SPDEs // Differencialnie Uravnenia i Protsesy Upravlenia. 2021. № 4. P. A.1–A.788.

  20. Kudryavtseva I.A., Rybakov K.A. Modified Continuous-time Particle Filter Algorithm without Overflow Errors // Smart Innovation, Systems and Technologies. V. 217. Springer, 2021. P. 245–257.

  21. Rybakov K.A. Solving the Nonlinear Problems of Estimation for Navigation Data Processing Using Continuous Particle Filter // Gyroscopy and Navigation. 2019. V. 10. № 1. P. 27–34.

  22. Rybakov K. Modified Spectral Method for Optimal Estimation in Linear Continuous-time Stochastic Systems // J. Physics: Conference Series. 2021. V. 1864. ID 012025.

Дополнительные материалы отсутствуют.