Когда фильтр Калмана даст лучшие результаты, чем простая скользящая средняя?


14

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

Мне кажется, что скользящее среднее намного более интуитивно понятно, чем фильтр Калмана, и вы можете применять его вслепую к сигналу, не беспокоясь о механизме пространства состояний. Я чувствую, что мне здесь не хватает чего-то фундаментального, и буду признателен за любую помощь, которую кто-то может предложить.



Я видел этот пост, но мой вопрос спрашивает пример, когда фильтр Калмана даст мне лучшие результаты, чем скользящее среднее.
— dvreed77

Если в вашем приложении достаточно скользящего среднего, тогда используйте его, вам не нужен фильтр Калмана (KF). При определенных допущениях KF дает наилучшую возможную оценку. Либо эти предположения не выполняются в вашем приложении, либо ваша реализация KF должна быть проверена.
— Али

Каковы эти предположения? Гауссовский шум? Если так, то это то, что добавляет мой симулятор. Мой код является слегка измененной версией кода, переданного мне из класса обработки сигналов, и я проверил его по нескольким другим источникам, и мои уравнения обновления и прогнозирования должны быть правильными. Мне интересно, причина, почему скользящая средняя работает лучше, в том, что она использует последние 10 выборок, а не только последнюю выборку, которую использует KF. Хотя я думаю, что ковариация ошибок становится сильнее с каждым дополнительным сэмплом, и поэтому я запутался в том, как MA работает лучше.
— dvreed77

и если это имеет значение, когда я говорю «externalperform», я имею в виду, что MSE меньше, используя скользящее среднее.
— dvreed77

Ответы:


4

Оценка, данная скользящей средней, будет отставать от истинного состояния.

Допустим, вы хотите измерить высоту плоскости, поднимающейся с постоянной скоростью, и у вас есть шумовые (гауссовские) измерения высоты. Среднее значение за интервал времени измерения высоты над уровнем шума может дать вам хорошую оценку того, где самолет находился в середине этого интервала времени .

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

Тем не менее, отставание скользящего среднего значения может не представлять проблемы в некоторых приложениях.

редактировать: этот пост задает тот же вопрос и имеет больше ответов и ресурсов


2

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


1
Для других может быть полезно, если вы добавите в свой ответ воспроизводимый игрушечный код, чтобы они могли «увидеть его в действии». Лично мои ответы, которые другие высоко оценили, имеют воспроизводимый контент.
— EngrStudent - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.