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

14

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

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

dvreed77
источник
Я видел этот пост, но мой вопрос спрашивает пример, когда фильтр Калмана даст мне лучшие результаты, чем скользящее среднее.
dvreed77
Если в вашем приложении достаточно скользящего среднего, тогда используйте его, вам не нужен фильтр Калмана (KF). При определенных допущениях KF дает наилучшую возможную оценку. Либо эти предположения не выполняются в вашем приложении, либо ваша реализация KF должна быть проверена.
Али
Каковы эти предположения? Гауссовский шум? Если так, то это то, что добавляет мой симулятор. Мой код является слегка измененной версией кода, переданного мне из класса обработки сигналов, и я проверил его по нескольким другим источникам, и мои уравнения обновления и прогнозирования должны быть правильными. Мне интересно, причина, почему скользящая средняя работает лучше, в том, что она использует последние 10 выборок, а не только последнюю выборку, которую использует KF. Хотя я думаю, что ковариация ошибок становится сильнее с каждым дополнительным сэмплом, и поэтому я запутался в том, как MA работает лучше.
dvreed77
и если это имеет значение, когда я говорю «externalperform», я имею в виду, что MSE меньше, используя скользящее среднее.
dvreed77

Ответы:

4

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

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

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

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

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

дубильщик
источник
2

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

dvreed77
источник
1
Для других может быть полезно, если вы добавите в свой ответ воспроизводимый игрушечный код, чтобы они могли «увидеть его в действии». Лично мои ответы, которые другие высоко оценили, имеют воспроизводимый контент.
EngrStudent - Восстановить Монику