Фильтры Калмана без математики
Если вы программируете, используя значения, которые представляют что-либо в реальном мире, вы, вероятно, по крайней мере слышали о фильтре Калмана. Фильтр позволяет получить несколько оценок значений и обработать их для получения более точной оценки. Например, если у вас есть робот, который знает, где он находится, с помощью GPS, счисления пути и оптической системы, фильтр Калмана может помочь вам лучше оценить ваше истинное положение, даже если все эти источники содержат некоторую ошибку или шум. Как и следовало ожидать, здесь задействовано много математических вычислений, но [Правеш] предлагает отличный интуитивный подход, основанный на коде, и даже имеет блокнот Jupyter для совместной работы, за которым вы можете следить.
Нам всегда было легче следовать коду, чем математике, поэтому мы приветствуем подобные публикации. Даже если вы хотите углубиться в математику, наличие базовой интуиции в отношении того, что означает математика, делает ее намного более доступной.
Конечно, в конце концов есть некоторая математика, но ничего сложного, если не считать скриншот из Википедии, показывающий «настоящую» математику, помещенную туда, чтобы показать вам, чего вам не хватает. В качестве примера можно привести лодку, данные счисления которой зависят от случайного ветра и приливов, а также измерения GPS, которые также содержат некоторые ошибки и иногда недоступны, как и в реальной жизни.
Конечно, простое среднее значение измерений может помочь, но оно также может дать хорошие результаты. Методы Калмана используют веса источников, чтобы смягчить это, так что, казалось бы, более надежные источники вносят больший вклад в окончательный ответ, чем менее надежные.
Если вы предпочитаете пример робота, они у нас тоже были. Если вам нужно что-то простое и, возможно, менее эффективное, есть другие способы очистки зашумленных данных.