Оптимизация вычислительных процедур стохастических алгоритмов фильтрации и сглаживания, построенных на основе фильтра Калмана

Бесплатный доступ

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

Еще

Фильтр калмана, матрица ковариаций, скрытая модель маркова, ортогонализация грамма - шмидта, коэффициент усиления калмана, метод рауча - тюнга - штрибеля, алгоритм штрассена

Короткий адрес: https://sciup.org/148323989

IDR: 148323989

Текст научной статьи Оптимизация вычислительных процедур стохастических алгоритмов фильтрации и сглаживания, построенных на основе фильтра Калмана

К линейным динамическим системам (далее – ЛДС) относятся такие широко используемые в теории управления вероятностные модели, как скрытые модели Маркова (далее – СММ), динамические байесовские сети (далее – ДБС) и нейронные сети (далее – НС). На практике, как правило, возникают ЛДС с большим количеством оцениваемых параметров и состояний. В такой ситуации классические оценочные алгоритмы могут не давать требуемую точность вычислений. В связи с этим становится актуальной задача разработки модификаций классических оценочных алгоритмов, в частности фильтра Калма-на, направленных на повышение точности вычислений. В рамках работы предложены ал горитмы, оптимизирующие процедуры фильтрации и сгл аживания, построенные на ос © Полухин П.В., 2022

Полухин Павел Валерьевич кандидат технических наук, преподаватель кафедры математических методов исследования операций. Воронежский государственный университет, город Воронеж. Сфера научных интересов: машинное обучение; статистический и системный анализ данных; математическое и компьютерное моделирование; программные комплексы. Автор более 30 опубликованных научных работ.

нове фильтра Калмана. В качестве ЛДС рассматриваются скрытые марковские модели. СММ моделируют марковские процессы, определяемые начальным распределением вероятностей и вероятностным представлением переходов между состояниями в момент времени t и момент времени t + 1 . Для фильтра Калмана СММ в работе предложены численные алгоритмы, направленные на повышение точности вычислений. В рамках процесса моделирования формируются состояния Xt + к и Xt + к + 1, описывающие переменные двух смежных срезов, рассматривается случайный процесс с дискретным множеством состояний t = { t 1, t 2,..., t k } , процедура фильтрации СММ включает в себя одношаговое предсказание для момента t + к . В соответствии с алгоритмом дискретного фильтра Калмана переход для СММ из состояния X t и X t + к выполняется с добавление шума, имеющего нормальную функцию распределения.

Математическая модель фильтра Калмана

Сначала кратко опишем семантику задания СММ. Они представляет собой вероятностную модель, предназначенную для моделирования стохастических процессов во времени и состоят из последовательности t = ( t , t + 1,.., t + к ) -состояний (срезов), каждое их которых характеризуется множествами наблюдаемых переменных Xt + к и свидетельств E 0: t + к . Свидетельства поступают в виде непрерывного потока до текущего состояния t + к . Распределение вероятностей для свидетельств P ( Et + к | Xt + к ) носит непрерывный (гауссов) характер с математическим ожиданием Е t + к и ковариационной матрицей Qt + к .

Для задания математической модели СММ необходимо определить следующие параметры: общее число состояний n , начальное распределение вероятностей P ( Xt ) для момента времени t = 0 , матрицу переходных вероятностей

T = ( T j ) = P ( X t + к = j | X t + к - 1 = i )

и матрицу восприятия

S = ( S ij ) = P ( E t + к = j | X t + к = i ) .

В рамках статьи будут в основном рассматриваться СММ, представленные в виде байесовской сети прямого распространения (см. Рисунок 1).

Оптимизация вычислительных процедур стохастических алгоритмов фильтрации ...

Рисунок 1. Пример фрагмента скрытой модели Маркова из k срезов

Введем матрицу переходов и восприятия в соответствии с введенными ранее обозначениями [3]:

T = ( T ij ) =

ft t 11

t 21

t 12

t 22

t t 1 n t 2 n

,

( t n 1

t n 2

t nn у

t ij = P ( X t + 1 = j | X t = i )

L -

f l ii

(0- ’" [ m

l 12

l 22

1 m

1 2 m

,

l j = P ( e t = j | X t

l m 1

= i У

mm у

Матрица переходных вероятностей Tk за k шагов получена из матрицы T в виде

T k =Tk.

t k - P ( X t + к - j|Xt = i ) может быть

Полное совместное распределение по всем наблюдаемым переменным СММ, соответствующее состоянию t + к , будет иметь следующий вид при условии, что момент времени t принимается за нулевой [7]:

к-1

P(X0:к,E1:к ) = P(X0 )ПP(Xt+1| Xt )ПP(Et+1| Xt+1).

t-1

Сформулируем решение задач поиска распределения P ( Xt + к |Et + к ) с использованием теории фильтрации Калмана. Для рассматриваемой модели будем использовать дискретный фильтр Калмана. Определим структуру фильтра Калмана:

Xt + 1 = Д+1 Xt + w t ,

Е [ w T

w

Q t , т - 1 , О, г ^ t ,

E t + 1 = H t + 1 Xt + 1 + v t + 1 ,

Е [ v r

R t + i , t - 1 + 1, 0, t ^ t + 1,

где w t , v t + 1 - шумовые гауссовы процессы с соответствующими ковариационными матрицами Q t и R t + 1 ; Ft + 1 - матрица перехода; H t + 1 - матрица измерений.

На основании введенных обозначений можно определить задачу фильтрации Калмана как задачу [5]

P ( X t + 1 I X t ) = N ( X t + 1 I F t + 1 X t , Q t ), P ( E t + 1 I X t + 1 ) = N ( E t + 1 I H t + 1 X t + 1 , R t + 1 )-

В соответствии с представлением (5) рассмотрим следующие выражения фильтрации:

P ( X t + 1 I E 1: t ) = N ( X t + 1 I X t + 1 , Ф t + 1 ),

P(Et+1 । E1:t ) = N(Et+1 । Ht+1 Xt + 1, St + 1), где Xt+1 - одношаговое предсказание Xt+1; Фt+1 = Д+1ФtFtT+1 + Qt+1 - ковариационная матрица, соответствующая переходу между состояниями Xt и Xt+1; Фt - скорректированная на предыдущем шаге ковариационная матрица вектора состояний; St+1 = Ht+1Фt+1HT+1 + Rt+1 - ковариационная матрица вектора ошибки.

Алгоритм фильтрации Калмана в общем случае включает в себе два этапа – предсказание и обновление. На первом этапе вычисляет предсказание для момента t + 1 в соответствии с матрицей перехода Ft + 1 и текущим состоянием системы X t :

X о = Е [ X о ] ,

Ф о = Е[ ( X о [ X о ] ) ( X о [ X о ] T ) ] ,

X t + 1 = F t + 1 Xt ,                                                           (9)

Ф t + 1 = F + 1 E [ X tX T ] F t + 1 + Е [ w n , w T ] =

= Ц+1Ф tFT + Qt, где Xо - оценка параметра Xо, соответствующая начальному моменту времени t = о . Рассчитывается ковариационная матрица ошибок измерений как

S t + 1 = H t + 1 Ф t + 1 H T + 1 + R t + 1 ,                           (10)

и определяется оптимальное значение коэффициента усиления Gt + 1, которое интерпретируется как степень доверия расчетной и эмпирической величинам. Выполняется процесса обновления значений параметров Xt + 1. С учетом введения коэффициента усиления Калмана Gt + 1 и ошибки ковариации Ф t + 1, вычисляемой в соответствии с выражением (1о), выражение (1о) с учетом введенного коэффициента усиления Gt + 1 перепишем в виде [6]

Xt + 1 = Xt + G t + 1 ^ t + 1 ,

где Yt + 1 - вектор отклонения фактического значения от расчетного; G t + 1 -+ 1 H t + 1 S t + 1 - 1,

Ф t + 1 = ( I G t + 1 H t + 1 ) Ф —+ 1 -

Оптимизация вычислительных процедур стохастических алгоритмов фильтрации ...

C учетом выражений (9), (10) и (11) можно определить априорное распределение по всем переменным запроса, соответствующим состоянию X t + 1 рассматриваемой модели [4]:

P ( X t , X t + 1 1^ 1: t ) = P ( X t + 1 X t ) P ( X t E b t ) =

= n ( X t + 1 FX , Q t ) N ( X t X t , R t ) ,

P ( X t + 1 , E t + 1 E t ) = N ( E t + 1 |X t + 1 ) N ( X t + 1 |E 1: t ) = = N ( E t + 1 | H t + 1 X t + 1 , R t + 1 ) N ( X k | X t + 1 R t + 1 ).

Рассмотрим сохраняющее в условиях ошибок вычислений положительную определен- ность квадратно-корневое представление ковариационных матриц Qt и Rt . Для этого необходимо определение квадратных корней At и At+1 для каждой их них. С учетом квадратно-корневого представления выражения (13) и (14) приведем к следующему виду:

P ( X t , X t + 1 |E 1: t ) = N ( X t + 1 |F t X t , A t ( A t ) T ) N ( X t X t , R t ) , P ( Xt + 1 , Et + 1 | E 1: t ) = N f Et + 1 | Ht + 1 Xt + 1 , At + 1 ( A t + 1 ) j X

X N ( Xk Xt+1 Rt+1), где Qt At (At) , Rt+1 At+1 (At+1) .

Выражения (13) и (14) задают в общем случае алгоритм классического фильтрации

Калмана и позволяют получить предсказание P ( Xt + k + 1 |E 1 : t ) для состояния t + к + 1 .

Сглаживание Рауча – Тюнга – Штрибеля

Для решения задачи сглаживания, направленной на получения распределения P ( X k |E 1: t + к ) , воспользуемся методом сглаживания Рауча - Тюнга - Штрибеля (далее -РТШ). Для этого сформулируем задачу сглаживания в терминах СММ [10]:

P ( X k E t + k ) = N ( X t | J X t , Ф t ) .                         (17)

Метод РТШ включает в себя на первом этапе стадию фильтрации Калмана для вычисления оценок параметров X ^ t . На втором этапе вычисляется X C S + 1 на основе обратной фильтрации. Определим выражение для оценки X C t + 1 в соответствии с выражением (5):

X i t + 1 = Е Ы1 X t + 1 - Д + 1 E t ,                            (18)

где Et - свидетельства, поступившие на момент t + 1 ; F t + 11 - обратная матрица переходов между состояниями Xt и Xt + 1.

Для удобства дальнейшего вывода введем следующие обозначения для сглаженных характеристик (сглаженные значения параметров выделяются значком s - ):

0t — Ф - 1 , 0 - ( ф s -)- zt =0 t X t , z - =0 - X t - .

Тогда, учитывая, что процессы wt, vt+1 являются шумовыми и между ними отсутствует корреляция, выражение для ковариационной матрицы Ф t+1, соответствующей оценкам

Xt , можно представить в следующем виде:

Ф t + 1 =

( ф t -) 1 + H T R - 1 H

(ф/ )-1 + (ф t )-1

(Ф ( ) - 1 + 0 -

- 1

где Ф { - матрица, полученная на стадии фильтрации.

Учитывая тождество Шермана – Моррисона – Вудбери (далее – ШМВ), перепишем выражение (20) в следующем виде:

f-Of    s-     f 1 f = t + 1 — t t " t + t t —

ф / - Ф t 0 - ( I / 0 -) Ф t

По формуле (21) получаем значение матрицы Ф t + 1 при применении процедуры сглаживания. Равенство (21) позволяет сравнить элементы матрицы Ф { , полученные на стадии фильтрации, с элементами Ф t на стадии сглаживания. Выражение (21) позволяет получить значения оценок всех предшествующих состояний Xt через соответствующие значения матриц ковариаций Ф { и Ф s - :

Г f V f s - V" S - I

X t = Ф t I (Ф t ) X t + (Ф t ) X t I ,

X t X ^ t + ( Ф t Z - - G t X i { ) ,                                    (22)

Gt — Ф f 0 -(I+ Ф f 0 -)-1, где Gt – коэффициент сглаживания.

В процессе сглаживания РТШ решается задача обратной фильтрации, и рассчитываются значения ковариационных матриц Ф f и Ф s , соответствующих этапу фильтрации и сглаживания:

f s -1 — TT f - s I 1 77   —

{Ф t t } = F t + 1 { Ф t + 1 t + 1 } F t + 1 =

I г                       - 11-1 1 1

F t T + 1 W + - 1 +[ф -+ 11 - ( ф f - 1 ) J [ F t + 1

По аналогии с выражением (20), применив тождество ШМФ, упростим выражение (23) и получим следующее равенство:

Оптимизация вычислительных процедур стохастических алгоритмов фильтрации ...

{ф f +Ф Г} = FTt+1 (ф/- )-1 [ф f- -Ф t+1 ](ф/- )-1 Ft, t+1.

Учитывая выражения (21) и (22), получаем значение матрицы ковариаций Ф t :

ф =ф f-®f T f- 1   f-           f- 1

фt = фt фt Ft+1 (фt+1) (фt+1 фt+1 )(фt+1) Ft+1фt .

Далее введем выражение для матрицы усиления At для момента времени t в виде следующего произведения:

At =фfFT [фf- ]-1 .(26)

С учетом матрицы усилений At получим обобщенное выражение для расчета ковариационной матрицы ф t [9]:

фt = фf - Gt (фf- -фt+1) AT .(27)

Матрица ф t непосредственно зависит от матриц ф f и ф { .

Обобщенное значение оценки Xt принимает вид

Xt = Xf + At (Xt+1 -Xtf+1).(28)

Из выражений (27) и (28) получаем полное описание процедуры сглаживания на основе метода РТШ; процедура носит рекурсивный характер. В связи с этим особое внимание стоит уделить определению начального отчета времени t = n . Исходное значение оценки -Xn и ковариационной матрицы фn, характеризующее начало этапа фильтрации, будет иметь следующее значение, полученное на этапе фильтрации Калмана:

-^         -^ г

X f n = ^X f > ф n = ф n , ,

где XC nf и ф { соответствуют состоянию t = n .

В процессе выполнения фильтрации возникает необходимость постоянного вычисле- ния ковариационных матриц шумов Qt и Rt и коэффициента усиления Gt+1. Оптимизация матричных расчетом позволит повысить эффективность процедуры фильтрации. Рассмотрим применение квадратно-корневых алгоритмов на основе разложения Холецкого, а также ортогонализации Грамма – Шмидта (далее – ОГШ). Алгоритм вычисления значе- ний матриц Q t и Rt на основе разложения Холецкого записывается в виде

Q i , к = Q i , k - L i , k L jk ,

L i , j = j , i = j ,

Li, j = Qk'j, i * j, Lj,j где значения i , j и k для нижнего и верхнего треугольного разложения принимают значения j = 1,2,..,n; i = 1,2,.., j; к = 1,2,^, j-1 и j = m,m-1,^,1; i = j, j-1,..,1; к = j +1,^,m соот- ветственно.

В матричном представлении разложение Холецкого можно переписать в виде верхнего (нижнего) разложения матрицы H :

__ — _ —т _____т

H = LDL T = UDU T .

В выражении (31) треугольной матрицей L или U будет являться матрица, содержащая единицы на главной диагонали. В соответствии с этим приведем выражение (30) к следующему виду:

Q i , k = Q i , k - U i , k D k , k U j , k ,

D j , j = Q i , j , Ujj = 1; i = j ,

Q i , j

U j =       ; i * j .

Выражение (32) является более эффективнымс точки зрения нахождения корней матриц Hi , k , так как исключает извлечение квадратных корней каждого из элементов матрицы для формирования положительно определенной матрицы Li , j . Альтернативным подходом к оптимизации расчетов ковариационных матриц Qt и Rt является использование ОГШ. Данный метод основывается на задании некоторого множества ортогональных векторов q = ( q 1 , q 2,..., q m ) с учетом того, что h ' = ( h 1 , h 2,..., h n ) будут линейно независимы:

qlq = q i 2 = 1, i = j , q e K i , q T q j = 0, i * j

С учетом того, что h' можно получить через произведение параметров q j и b j , имеем

n h' = ^hjb,.                                     (34)

j = 1

Если матрица Q t может быть представлена в виде совокупности ортогональных векторов q , запишем выражение ОГШ как

H = QL = [ q i , q 2 ,_

Г 1

l 21

q n J :

. Zn i

0   .„ 0 ^

1    0   0

l n 2     l n 2    1 ,

где L - матрица, задающая переход между базисами q и h' .

С учетом того, что Qt – ортогональная матрица, и для нее справедливо выражение (35), получаем

Q Q ( q 1 , q 2 , ^ , qn )

q 1

2 q 2

0 )

0    = diag { q i 2 }

2 qn

Дополнительно к рассмотренным механизмам оптимизации могут быть использованы различные параллельные алгоритмы перемножения матриц.

Алгоритм Штрассена предполагает рекурсивное деление каждой из исходных матриц А и В размерностью n x n на 4 блока. В таком случае данный метод накладывает одно ограничение, связанное с тем, что n должно быть четным.

Оптимизация вычислительных процедур стохастических алгоритмов фильтрации ...

На Рисунке 2 приведем диаграмму Штрассена для умножения матриц Aij и Bij , имеющих размерность 2 х 2 . Данная диаграмма отражает последовательность проведения операций сложения и умножения для каждого из элементов рассматриваемых матриц [1; 2].

Рисунок 2. Диаграмма матричных операций Штрассена

Тогда вычисление произведения матриц Aij и Bij в соответствии с диаграммой Штрас-сена имеет следующий вид:

m 0 = A 00 B 00 , m 1 = A 01 B 10 , m 2 = ( A 00 + A 10 + A 11)( B 00 B 01 + B 11 ), m 3 = ( A 00 A 10)( - B 01 + B 11 ), m 4 = ( A 10 + A 11)( B 00 + B 01 ), m 5 = ( A 00 + A 01 - A 10 - A 11 ) B 11 , m 6 = A 11( B 00 + B 01 + B 10 - B 11 )-

Далее получаем

C 00 = m 0 + m 1 , c 01 = m 0 + m 2 + m 4 + m 5 , C 10 = m 0 + m 2 + m 3 + m 6 , C 11 = m 0 + m 2 + m 3 + m 4 -

Из выражений (38) и (40) получаем, что для вычисления матриц Aij и Bij необходимо выполнить 7 операций умножений и 18 операций сложения.

Вычислительный эксперимент

Численные методы оптимизации позволяют в достаточной степени повысить интенсивность процессов фильтрации и сглаживания на основе фильтра Калмана. Для моделирования СММ, а также решения вероятностных задач фильтрации и сглаживания на основе фильтра Калмана и алгоритма РТШ разработан набор программных компонентов, реализующих данные алгоритмы. В рамках решения задач численной оптимизации используется алгоритм матричного умножения по методу Штрассена, а также применение ортогонализации Грамма – Шмидта. В работе рассматриваются процессы фильтрации и сглаживания для СММ, однако предложенные алгоритмы можно достаточно легко адаптировать для решения задач вероятностного вывода любой их описанных ранее ЛДС.

На Рисунке 3 представлены численные характеристики фильтра Калмана и РТШ при шумовых коэффициентах к = 1 и к = 7 для распределений wt, vt+1.

Рисунок 3. Сглаживание и фильтрация для модели СММ

Для оценки эффективности алгоритмов сглаживания на Рисунке 4 приведено сравнение РТШ с алгоритмом сглаживания с фиксированной задержкой (ФЗ).

Рисунок 4. Сравнение алгоритмов РТШ и сглаживания с фиксированной задержкой (ФЗ).

Скорость сходимости РТШ и фильтра Калмана

Приведенные графики показывают, что РТШ достаточно эффективно сглаживает разброс выборок, полученных на этапе фильтрации. В свою очередь, сравнение ФЗ сглаживания и РТШ сначала демонстрирует идентичность получаемых генераций, однако с ростом числа выборок применение РТШ алгоритма становится более предпочтительным. В случае непрерывных распределений ФЗ лучше использовать совместно со сглаживанием РТШ, в противном случае на выходе можно получить распределение с достаточно большим значением дисперсии Е ( X I t ) .

Оптимизация вычислительных процедур стохастических алгоритмов фильтрации ...

Заключение

Представленные в работе численные методы и алгоритмы оптимизации процедур вероятностного вывода в ЛДС, построенных на основе фильтра Калмана, показывают свою эффективность. Приведенные алгоритмы наиболее применимы для непрерывных распределений, а именно в том случае, если шумы w t , vt + 1 представлены гауссовым распределением. Предложенные в работе расширенные алгоритмы фильтрации на основе LD , UD и ОГШ позволяют повысить устойчивость фильтра к возникновению нелинейных ошибок, позволяя для ковариационных матриц Ф { и Ф t - , соответствующих матрице F t t + 1 , сохранять свойство симметричности и их положительной определенности на всем интервале принимаемых значений. Квадратно-корневой фильтр и фильтр на основе ОГШ позволяют исключить постоянную процедуру обновления Ф { и Ф s на основе решения уравнения Рикатти.

Другой важной особенностью разработанных алгоритмов оптимизации является возможность их использования в параллельных вычислительных системах, позволяющих в значительной степени повысить интенсивность решения задач вероятностного вывода. Такой подход достигается за счет использования параллельных алгоритмов Штрассена и поблочного разделения операций генерирования шумовых распределений w t , v t + 1 .

Описанные алгоритмы могут быть использованы для решения широкого круга задач моделирования сложных стохастических процессов.

Список литературы Оптимизация вычислительных процедур стохастических алгоритмов фильтрации и сглаживания, построенных на основе фильтра Калмана

  • Гергель В. Высокопроизводительные вычисления для многоядерных систем. М.: Изд-во Московского ун-та, 2010. 544 с.
  • Кормен Т. Алгоритмы. Построение и анализ. М.: Вильямс, 2019. 1328 с.
  • Azarnova T.V., Polukhin P.V., Bondarenko Yu.V., Kashirina I.L. (2018) Advanced hybrid stochastic dynamic Bayesian network inference algorithm development in the context of the web applications test execution. Journal ot Physics: Conterence Series, vol. 973, Iss. 1, p. 012024.
  • Grewal M.S., Andrews S.M. (2001) Kalman filtering: Theory and practice using mathlab. New York, Wiley, 401 p.
  • Haykin S. (2001) Kalmam filtering and neural network. New York, Wiley, 284 p.
  • Kalman R.A. (1960) New Approach to Linear Filtering and Prediction Problems. Journal ot Basic Engineering, no 82, Series D, pp. 35-45.
  • Koller D. (2009) Probabilistic graphical models. Principles and Techniques. Cambridge, MIT Press, 1328 p.
  • Lewis F.L. (2008) Optimal and robast estimation. Boca Raton, CRC Press, 523 p.
  • Murphy K.P. (2002) Machine learning a probabilistic perspective. Massachusetts, MIT Press, 1067 p. 10. Sarkka S. (2013) Bayesian Filtering and Smoothing. Cambridge, Cambridge University Press, 256 p.
Еще
Статья научная