Включение экзогенных (управляющих) входов в линейный фильтр без фильтра Калмана в PyKalman

Я очень плохо знаком с библиотекой pykalman, поэтому извиняюсь за наивность моего вопроса. Моя проблема похожа на проблему 48. Мне было интересно, была ли добавлена ​​явная экзогенная (управляющая) функция ввода в pykalman.

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

Если мы рассмотрим x(t+1) быть n мерный вектор, представляющий предсказанное среднее x вовремя t+1, затем:

  1. Текущая настройка

x(t+1) = Ax(t) + Noise (уравнение состояния) - А будет n X n матрица.

Если я сейчас хочу добавить еще k размерный входной вектор z(t) как экзогенный (он же контрольный) вход для прогнозирования x вовремя t+1

  1. Альтернативная формулировка

[x(t+1), z(t+1)] = A[x(t),z(t)] + Noise (уравнение состояния с управляющим входом z(t))

Я мог бы по существу использовать метод, предложенный в 2, но в этом случае оценка состояния будет рассматриваться как весь вектор [x(t+1), z(t+1)] который будет включать в себя вектор z(t+1) в последующей процедуре моделирования. В отличие от того, если бы я должен был включить контроль следующим образом:

  1. Предпочтительная формулировка

[x(t+1)] = Ax(t) + Bz(t) + Noise (уравнение состояния с управляющим входом z(t))

Я хочу знать, как я смогу достичь эффекта, требуемого в формулировке 3, с использованием стандартного (линейного) фильтра Калмана в Pykalman?

Проблема также была открыта в хранилище

0 ответов

Другие вопросы по тегам