2013-03-17 4 views
1

У меня возникают проблемы оценки параметров моего пространства состояний модели, которые я хочу использовать, чтобы построить свой фильтр Калмана в Matlab:фильтр Калмана MLE оценка параметров

S_t = S_(t-1)+e_t 
Y_t = B*S_t+v_t 

Где Y_t матрица наблюдения, содержащего около 20 раз серия и S_t предполагается скаляром. Я не нашел код примера, который оценивает мою матрицу параметров B, и все мои тесты пока не увенчались успехом.

+0

Hi. StackOverflow обычно отклоняет ответы, которые не прикладывают никаких усилий, поэтому, пожалуйста, покажите, что вы сделали до сих пор, и объясните, почему он не увенчался успехом. –

ответ

1

Я попытаюсь объяснить вам простыми словами, что вы должны делать с фильтром Калмана. Пожалуйста, спросите и предоставите дополнительную информацию, если вы хотите получить больше советов.

В фильтрах Kalman вы пытаетесь оценить истинное состояние динамической системы (которая изменяется со временем). Состояние в вашем случае - S_t (может быть ток из какой-либо системы, позиция GPS или любой другой номер или набор номеров). В динамической системе обычно имеется матрица перехода, которая сообщает вам об изменении из состояния S_(t-1) в состояние S_t. Как вы написали, кажется, что ваша матрица перехода будет равна 1. Другими словами, вы должны ожидать того же значения, что и предыдущее значение, только с добавленным гауссовским шумом. Гауссовский шум исходит из разных источников, которые трудно моделировать и не соотносится с вашим состоянием.

Теперь состояние вашей системы обычно измеряется некоторым датчиком, и у вас есть показание Y_t от датчика. Показание относится к состоянию по матрице наблюдения B. Каждый датчик имеет свой шум v_t, который исходит из дефекта датчика. И Y_t - это чтение вашего состояния, которое вы хотите оценить.

В этом, что вы написали, я могу понять, что у вас есть 20 показаний от Y_1 до Y_20. вы хотите оценить истинное значение состояния динамической системы после 20 отсчетов, допустим, 20 секунд. Сначала вам нужно подумать, если вы правы, что ваша матрица перехода A = 1 и S_t=A*S_(t-1)+e_t - это то же самое, что и S_t=S_(t-1)+e_t. Для модели A вам понадобятся знания вашей динамической системы, очень часто она моделируется с помощью дифференциальных уравнений. После того, как вы смоделировали систему, подумайте об отношении между этим, что вы хотите оценить, и вашим измерением (что приходит на ваш датчик), это приведет к вашему B.

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

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

Удача

Смежные вопросы