Чаще всего настройка шумовых матриц фильтра Калмана выполняется методом проб и ошибок или знанием предметной области. Существуют ли более принципиальные способы настройки всех параметров фильтра Калмана?
источник
Чаще всего настройка шумовых матриц фильтра Калмана выполняется методом проб и ошибок или знанием предметной области. Существуют ли более принципиальные способы настройки всех параметров фильтра Калмана?
Вы можете получить экспериментальные данные и выполнить некоторый статистический анализ, чтобы определить шум процесса (шум между временными шагами) и шум датчика (по сравнению с истинным значением).
Чтобы получить основную правду для шума датчика, вам нужен либо более точный датчик, либо экспериментально проверить, сохраняя состояние интереса на известном (обычно фиксированном) значении.
Если у вас нет экспериментальных данных, вы можете использовать таблицы данных или спецификации для каждого датчика, чтобы определить его шум. В этом случае технологический шум будет более сложным, но вы можете угадать его значение, предполагая определенное количество шума, например, из-за исполнительного механизма, если исполнительный механизм является основным источником технологического шума.
Другой способ состоит в том, чтобы рассмотреть максимальное время установления, допустимое для оценки. Это определит соотношение между технологическим шумом и шумом датчика. Это позволяет вам иметь максимальный эффект фильтрации при соблюдении ваших требований времени урегулирования.
Обратите внимание, что это не обеспечивает хороший способ настроить соотношение между различными датчиками или между различными состояниями, поэтому не является идеальным.
В основном, если у вас есть экспериментальные данные, вы можете получить оптимальную производительность. В противном случае вы можете рассчитать технологический шум только на основе предположения о вероятном шуме доминирующего фактора, влияющего на технологический шум, или путем определения того, какая минимальная производительность требуется (что не является оптимальным, но, по крайней мере, дает то, что необходимо).
В области машинного обучения мы рассматриваем фильтр Калмана как алгоритм вывода для модели скрытых переменных. Измерения видны, но истинное состояние скрыто. Теперь вы хотите вывести истинные состояния.
Как обычно, этот метод основан на наборе параметров и - в принципе - способ получения наилучшей точечной оценки параметров состоит в том, чтобы посмотреть на вероятность данных (с учетом параметров) и оптимизировать ваши параметры для получения максимальное значение. Это дает вам максимальную оценку вероятности.
К сожалению, в случае фильтра Калмана этот подход не так прост и трудно сделать в закрытом виде. Это потому, что мы не наблюдаем скрытые состояния. Поэтому нужно применить некоторые хитрости. Одним из них является использование алгоритма максимизации ожиданий (EM), который является итеративным подходом: на первом этапе вы вычисляете наиболее вероятное значение для ваших скрытых состояний (ожидаемое значение) в соответствии с текущими параметрами. На втором этапе вы сохраняете скрытые состояния фиксированными и оптимизируете параметры, чтобы получить решение с наибольшей вероятностью. Эти шаги повторяются до сходимости.
Вы можете прочитать об общей концепции EM в целом ряде учебников по машинному обучению (только один пример: «Байесовское рассуждение и машинное обучение» Дэвида Барбера). Процесс определения параметров для линейных динамических систем (который дает модель фильтра Калмана) хорошо описан в техническом отчете Зубина Гахрамани и Джеффри Хинтона .
Возможно, вы захотите прочитать «Инструмент для настройки фильтра Калмана» Бернта М. Окессона, et. и др. Он описывает метод наименьших квадратов (ALS) автоковариации.