Оглавление
Введение
Свойства Линейно-Гауссовских моделей
Особенности реализации симулятора
Конфигурация симулятора
Анализ результатов моделирования
Заключение
Приложение 1. NEES: согласованность фильтра, эмпирическое покрытие
Приложение 2. NIS: нормализованный квадрат инноваций — метрика рабочего режима
Введение
Задача оценивания состояния динамической системы по неполным и зашумленным измерениям считается признанной фундаментальной проблемой в теории управления, навигации, робототехнике и обработке сигналов. Рекурсивный фильтр Калмана обеспечил возможность аналитического решения для линейных систем с аддитивными гауссовскими шумами.
Однако практические системы редко удовлетворяют ограничениям линейности и гауссовости. Нелинейности возникают повсеместно: тригонометрические зависимости в системах навигации, полиномиальные связи в механических моделях, переключаемые режимы работы в гибридных системах. Не-гауссовские шумы характерны для сценариев с выбросами (импульсные помехи и пропуски в измерениях), тяжелыми хвостами (высокая вероятность аномалий), или мультимодальностью (влияние множественных порождающих процессов).
И если для учета нелинейности в инженерном сообществе в целом существует консенсус в пользу нелинейных фильтров, то с не‑гауссовскими шумами все сложнее.
Так, Википедия прямо отмечает: «Бытyет ошибочное мнение, что для правильной работы фильтра Калмана якобы требуется гауссовское распределение входных данных».
Аналогичная позиция отражена и в академической статье arXiv:2405.00058, 2024, где авторы называют требование строгой гауссовости одним из наиболее распространенных заблуждений и показывают, что фильтр Калмана нередко преждевременно отвергают в пользу более сложных подходов лишь из‑за не‑гауссовской природы шумов. В качестве примера приводятся ссылки на двенадцать «заблудившихся » публикаций.
На наш взгляд, даже если эти тезисы об ошибочных мнениях и заблуждениях формально корректны, в инженерной практике полезнее ответить на три прикладных вопроса:
Снижается ли производительность линейного фильтра Калмана при различных типах не‑гауссовских шумов.
Как и чем измерить это снижение (если оно происходит).
Чем можно заменить линейный фильтр Калмана в этих условиях и какова цена такой замены.
В настоящей статье мы попытаемся обозначить подходы к ответам на эти три вопроса.
План действий:
Представим инструмент анализа: модель-симулятор на которой по схеме
(линейность / нелинейность, гаусс / не-гаусс) проведем эксперименты для трех типов фильтров:
Линейного фильтра Калмана (KF)
Сигма точечного нелинейного фильтра Калмана (UKF)
Фильтра частиц / Particle Filter (PF).
Обсудим результаты моделирования на примере:
метрики общего вида RMSE (Среднеквадратичная ошибка / Root Mean Square Error) - она органична для характеристики точности среднеквадратичных оценщиков и
специфической для оценщиков метрики NEES (Нормализованная квадратичная ошибка оценки / Normalized Estimated Error Squared) - с ее помощью характеризуют согласованность оценщика.
Кратко рассмотрим способ оценивания производительности фильтров вне симуляции, когда у нас нет знания истинной траектории. Здесь мы будем ориентироваться на другую специфичную для оценщиков метрику:
NIS (Нормализованный квадрат инноваций / Normalized Innovation Squared) - инструмент мониторинга качества фильтра на реальном объекте.
Ссылка на блокнот с кодом симулятора в конце статьи (он охватывает только первые два пункта плана без NIS).
Свойства Линейно-Гауссовских моделей
Фундаментальное свойство, благодаря которому фильтр Калмана имеет замкнутую (аналитическую) рекурсию по двум параметрам — среднему и ковариации, — это замкнутость нормального распределения относительно линейных преобразований и байесовского обновления в линейно‑гауссовской постановке.
Если говорить точнее, здесь используются два свойства.
Этап прогноза: линейные преобразования и суммирование. На этапе прогноза выполняется эволюция состояния:
Если
— гауссовский случайный вектор, то
также гауссовский (аффинное преобразование сохраняет нормальность).
Если
и
независимы и
гауссовский, то сумма снова гауссовская (для гауссиан свертка сохраняет класс распределений).
Этап обновления: сопряженность prior и likelihood. На этапе обновления применяется формула Байеса:
Здесь ключевое слово — сопряженность: если априорное распределение
гауссовское, а функция правдоподобия
соответствует линейной модели измерений с гауссовским шумом, то апостериорное
также будет гауссовским.
Важно: перемножаются именно функции плотности, а не случайные величины.
Совокупность этих свойств и называют "свойствами линейно‑гауссовских моделей": класс распределений не "расползается" при переходе прогноз → обновление, поэтому достаточно пересчитывать только и
.
Теперь можно ответить на первый вопрос: «Снижается ли производительность линейного фильтра Калмана при не‑гауссовских шумах?»
Практический инженерный ответ: да, как правило снижается.
Алгоритм не «ломается» (рекурсии по
и
по-прежнему вычислимы), но исчезает прежний тип оптимальности, характерной для линейно‑гауссовского случая (подробнее об этом в подразделе анализа результатов).
Причина в том, что, описывая не‑гауссовские шумы только через
и
, мы неизбежно сводим реальное распределение к его гауссовскому эквиваленту по первым двум моментам. Вся информация о форме распределения сверх второго момента (асимметрия, тяжелые хвосты, мультимодальность) при этом теряется. И чем сильнее реальный шум отклоняется от нормального, тем заметнее может деградировать качество оценивания.
Насколько критична эта деградация на практике — покажут результаты нашего моделирования.
Особенности реализации симулятора
1. Схема экспериментов
Симулятор реализует полный факторный эксперимент , позволяющий изолировать и независимо оценить влияние двух факторов сложности: нелинейности динамики и не-гауссовости шумов.
Сценарии:
Линейный гауссовский: Базовый сценарий для верификации корректности работы алгоритмов.
Линейный не-гауссовский: Проверка устойчивости (робастности) линейных фильтров к сложным шумам в простой динамике.
Нелинейный гауссовский: Оценка способности фильтров (KF/UKF/PF) справляться со сложной динамикой при простых шумах.
Нелинейный не-гауссовский: Наиболее сложный стресс-тест, объединяющий нелинейную динамику со сложными шумами.
2. Особенности программной реализации
Ядро симулятора написано на Python. Все алгоритмы реализованы без высокоуровневых библиотек только на базе NumPy и SciPy, что обеспечивает контроль над математикой процесса.
Архитектура комплекса построена по модульному принципу: конфигурация, фильтры и симуляция разделены, что обеспечивает чистоту эксперимента — фильтры получают на вход только зашумленные измерения , не имея доступа к вектору истинного состояния
.
3. Модели динамической системы и измерений
Симулятор поддерживает переключение между двумя режимами физики процесса:
Линейный режим:
Классическая модель в пространстве состояний
Она служит эталоном для проверки корректности настройки фильтров: в идеальных условиях все алгоритмы должны сходиться к теоретическому оптимуму фильтра Калмана.
Нелинейный режим:
Используется синтетическая двумерная модель с сильными перекрестными связями, специально сконструированная как «стресс-тест» для фильтров.
Динамика нелинейного режима: В системе эволюция координаты зависит от скорости, а изменение скорости нелинейно зависит от текущей координаты.
Хотя модель является абстрактной, её можно интерпретировать физически: движение инерциального объекта ( — координата,
— скорость) в вязкой среде. Перекрестные связи моделируют взаимодействие со сложным окружением: слагаемое
описывает снос неоднородным течением, а пара
— вязкое затухание скорости с одновременной подкачкой энергии от внешнего поля.
Измерения нелинейного режима:
Ключевая особенность наблюдений — квадратичная зависимость во втором уравнении. Датчик измеряет величину, пропорциональную кинетической энергии или скоростному напору (физический аналог — трубка Пито или датчик аэродинамического сопротивления), теряя информацию о направлении движения. Это создает локальную ненаблюдаемость вблизи нуля и бимодальность распределения, что усложняет задачу для линеаризованных фильтров.
4. Модели шумов
В зависимости от флага конфигурации, генератор переключается между двумя типами стохастических процессов:
Гауссовский режим: Классический белый шум
,
.
Не-гауссовский режим:
Шум процесса: Реализован как смесь гауссиан. В каждом такте с заданной вероятностью генерируется либо фоновый шум малой амплитуды, либо выброс большой амплитуды.
Шум измерений: Реализовано распределение Лапласа. Оно обладает более тяжелыми хвостами по сравнению с нормальным распределением, имитируя частые грубые ошибки датчиков.
5. Набор фильтров
В сравнении участвуют три архитектуры:
- Linear Kalman Filter (KF): Оптимален для линейно-гауссовского случая. В нелинейных сценариях работает с фиксированной линеаризованной моделью.
- Unscented Kalman Filter (UKF): Сигматочечный фильтр, который использует детерминированную выборку для учета нелинейности системы, но сохраняет гауссовское предположение о шумах.
- Bootstrap Particle Filter (PF): Использует множество частиц для аппроксимации произвольной плотности вероятности. Способен учитывать истинную форму распределения шума через функцию правдоподобия. Реализация полностью векторизована: обновление состояния частиц, вычисление весов (Log-Likelihood) и ресемплинг выполняются через операции над массивами NumPy.
В статье описания фильтров не приводятся. Про них можно почитать, а при желании и покодить в известной и доступной онлайн интерактивной книге: Фильтры Калмана и Байеса в Python от автора библиотеки filterpy.
6. Разложение Холецкого
Вместо стандартной функции np.random.multivariate_normal в коде используется разложение Холецкого. Матрицы ковариации шумов разлагаются один раз при инициализации (), а генерация сэмплов происходит через умножение стандартного нормального вектора на
. Это повышает вычислительную эффективность генерации измерительных и процессных шумов.
7. Раздельная инициализация RNG
Для обеспечения воспроизводимости реализована схема с независимыми генераторами случайных чисел:
System RNG: Отвечает за генерацию "истинной" траектории и шумов измерений.
Filter RNG: Отдельные экземпляры (или seed'ы) передаются внутрь Particle Filter.
Это позволяет гарантировать, что при сравнении разных запусков "случайность" внутри алгоритма фильтрации не смешивается со "случайностью" внешнего мира.
Конфигурация симулятора
1. Параметры симуляции
Длительность:
тактов. Интервал достаточен для оценки сходимости после переходных процессов.
Начальное состояние (
):
Истинная система: Стартует из точки
(малое начальное смещение).
Фильтры: Инициализируются в точке
с матрицей ковариации
, что имитирует отсутствие точного знания стартовой позиции.
2. Параметры шумов в не-гауссовских экспериментах
Шум процесса бимодальный по дисперсии:
Фон (
): вероятность 80%.
Выбросы (
): вероятность 20%, амплитуда в 12 раз превышает фон. Это создает "тяжелые хвосты", критичные для робастности.
Шум измерений:
Распределение Лапласа (масштабу
соответствует дисперсия
). Имитирует неточные или зашумленные датчики, склонные к более частым грубым ошибкам по отношению к датчикам с обычными параметрами шума.
3. Настройки фильтров
Поскольку классические KF и UKF допускают только гауссовскую параметризацию (через ковариационные матрицы), в эксперименте применяется аппроксимация по вторым моментам (Moment Matching). Фильтры получают информацию об общей энергетике шума, но "не знают" его сложной формы.
Для бимодального процессного шума эквивалентное по энергетике гауссовское
. Этим значением параметризируется матрица ковариации процесса
. Таким способом мы аппроксимируем не-гауссовский бимодальный шум. Фильтры "думают", что шум унимодальный.
Для PF в симуляции предусмотрена возможность разной параметризации: и эквивалентным унимодальным и бимодальным шумами.
Матрица ковариации измерений
: дисперсия гауссовского распределения берется равной дисперсии распределения Лапласа (
). Здесь также происходит подмена модели: реальные измерения зашумлены по Лапласу, но фильтры обрабатывают их в предположении нормальности, сохраняя лишь корректный масштаб ошибки.
В итоге фильтры получают, относительно точную в первом случае и примерную - во втором, информацию об энергии шума, но вынуждены "заблуждаться" относительно его не-гауссовской формы.
4. Специфика Particle Filter
Правдоподобие (likelihood): в гауссовских экспериментах PF использует нормальную модель
, чтобы сравнение с KF/UKF было в условиях одинаковых предположений о шуме измерений.
В не‑гауссовских сценариях переключается на лапласовскую, используя возможность явно задавать «тяжёлые хвосты» в модели измерений.
Процессный шум: в не‑гауссовских экспериментах PF может использовать истинную (бимодальную) модель процессного шума через флаг
"use_sys_noise": True, что позволяет сравнить «аппроксимацию по моментам» (KF/UKF) с прямым учетом формы распределения в PF.Тип реализации и ресемплинга: реализация относится к Bootstrap/SIR (Sampling–Importance–Resampling), где предлагающее/инструментальное распределение (proposal) берется равным модели процесса, то есть частицы прогнозируется как
.
После прихода измерения каждой частице назначается вес пропорционально правдоподобию:
, затем веса нормируются. Чтобы избежать численной потери точности при очень малых вероятностях вычисляются лог‑веса (log-likelihood). Поскольку со временем веса концентрируются на небольшом числе частиц (происходит их "вырождение"), установлен порог для эффективного числа частиц
и при падении ниже порога проводится ресемплинг.
Для подавления вырождения ресемплинг выполняется с возвращением, при котором частицы отбираются по нормированным весам: частицы с большими весами попадают в новую популяцию (эффект "размножения"), с малыми — удаляются. После чего полученная популяция рассматривается как невзвешенная аппроксимация апостериорного распределения и всем частицам назначаются равные веса (
).
В реализации используется systematic resampling. На рисунке 1 приведен временной ряд, демонстрирующий процесс регенерации/ресемплинга частиц
в третьем эксперименте с нелинейностью и гауссовскими шумами.

Связь количества частиц с размерностью пространства (
) обычно описывается эмпирическим правилом:
.
Для нашего
это диапазон
. Компромиссное значение
обеспечивает плотное покрытие фазового пространства, достаточное для аппроксимации мультимодальных распределений, при сохранении вычислительной эффективности. Мы убедимся в этом по итогам моделирования.
Подробное и доступное описание Particle Filter можно найти, например, здесь.
5. Используемые метрики
Сравнение алгоритмов производится на основе двух метрик, для которых определены критерии успешности:
RMSE - метрика общего вида отвечает за точность оценки:
Фильтр считается лучшим, если его RMSE ниже чем у соперников.
NEES (Нормализованная квадратичная ошибка оценки / Normalized Estimated Error Squared) - специализированная метрика отвечает за согласованность фильтра:
Метрика NEES представляет собой квадрат расстояния Махаланобиса. Нормализация здесь означает взвешивание вектора ошибки обратной матрицей ковариации . По сути, мы измеряем ошибку не, допустим, в метрах, а в "стандартных отклонениях", которые фильтр динамически пересчитывает на каждом шаге (адаптируя свою "линейку" под текущую ситуацию). Описание NEES в Приложении 1.
Подробнее про NEES можно прочесть здесь.
Анализ результатов моделирования
Сценарий для четырех экспериментов:
scenarios = [ { "name": "Exp_L+G ", "desc": "Linearity with Gaussian noise", "linear": True, "noise": "gaussian", "pf_likelihood": "gaussian", "use_sys_noise": False, }, { "name": "Exp_L+NG ", "desc": "Linearity and complex noise", "linear": True, "noise": "complex", "pf_likelihood": "laplace", # Включаем для PF честный измерительный шум Laplace "use_sys_noise": True, # Включаем для PF честный бимодальный процессный шум }, { "name": "Exp_NL+G ", "desc": "Nonlinearity with Gaussian noise", "linear": False, "noise": "gaussian", "pf_likelihood": "gaussian", "use_sys_noise": False, }, { "name": "Exp_NL+NG ", "desc": "Nonlinearity and complex noise", "linear": False, "noise": "complex", "pf_likelihood": "laplace", # Включаем для PF честный измерительный шум Laplace "use_sys_noise": True, # Включаем для PF честный бимодальный процессный шум } ]
По результатам запуска симулятора формируются и сохраняются артефакты моделирования: диагностические графики, временные ряды, сводные таблицы с метриками и паспорт запуска в формате JSON. Структура выходных данных представлена на рисунке 2.

В статье мы ограничимся преимущественно анализом метрик.
Безусловно, оценка динамического процесса на основе лишь агрегированных данных не может быть полной. Значительно больше информации для анализа содержится в полных временных рядах и графиках. Читатели могут изучить их самостоятельно, запустив код в блокноте Google Colab, ссылка на который приведена в конце статьи.
Сводная таблица результатов
Для анализа использованы две метрики:
RMSE: Показатель точности (чем меньше, тем лучше).
NEES Coverage: Показатель реалистичности самооценки фильтра. Идеальное значение
, низкое значение говорит о чрезмерной самоуверенности/расходимости фильтра, более подробное описание метрики NEES в Приложении 1.

Две пары чисел в зеленых рамках дают ответ на второй из поставленных вопросов: «Как и чем измерить снижение (если оно происходит)?»
Прежде чем перейти к разбору количественных показателей, необходимо сформулировать теоретические ожидания. Это позволит нам не просто сравнивать значения, а ответить на вопрос: «Соответствует ли поведение алгоритма теоретическому пределу его возможностей?»
Что мы можем ожидать от Фильтра Калмана?
В теории оценивания статус оптимальности фильтра Калмана жестко привязан к условиям среды. В рамках нашего эксперимента () мы ожидаем увидеть два принципиально разных режима работы KF:
1. Режим глобальной оптимальности (MMSE)
Условие: Система линейна, шумы строго гауссовские.
Суть: В этом случае KF обеспечивает минимальную среднеквадратичную ошибку (MMSE) среди всех возможных алгоритмов (линейных и нелинейных).
Прогноз: Никакой другой метод (включая Particle Filter) не может дать результат лучше. Любое отклонение PF от KF здесь — это лишь погрешность метода Монте-Карло.
2. Режим линейной оптимальности (LMMSE/BLUE)
Условие: Система линейна, шумы не-гауссовские (но с конечной дисперсией).
Суть: Статус KF понижается. Он остается лучшим линейным несмещенным оценщиком (BLUE), но перестает быть глобально лучшим. Он извлекает всю информацию из корреляций (вторых моментов), но игнорирует сложную структуру распределения (тяжелые хвосты, асимметрию).
Прогноз: KF должен работать стабильно, но Particle Filter, способный учитывать истинную форму шума, теоретически может его превзойти.
Замечание по процедуре сравнения:
В нелинейных и не-гауссовских сценариях мы сравниваем KF с более сложными алгоритмами (UKF, PF). Это сравнение заведомо несимметрично: Particle Filter получает «фору» в виде знания истинной функции правдоподобия (Likelihood), которую KF физически не может использовать. Наша цель здесь — не выявить победителя, а измерить цену упрощения: «Насколько сильно мы теряем в точности, выбирая простой и быстрый KF вместо вычислительно более тяжелых методов».
Анализ сценариев
Сценарий 1: Базовый (Exp_L+G)
Вердикт: Подтверждение ожиданий.
KF показал лучший результат (RMSE 0.32). То, что сложный Particle Filter (0.33) и UKF (0.34) сработали чуть хуже, подтверждает режим MMSE: извлечь из линейного гауссовского сигнала больше информации, чем это делает Калман, математически невозможно. Разница в сотых долях — это «шум» численных методов.
Сценарий 2: Тест на робастность (Exp_L+NG)
Суть: Проверка режима LMMSE. Мы нарушили гипотезу о нормальности, добавив в измерения «тяжелые хвосты» (распределение Лапласа), а в динамику — мощные выбросы.
Поведение KF:
Точность (RMSE): Снизилась (с 0.32 до 0.34). Однако фильтр сохранил несмещенность оценки (BLUE). В первом сценарии для KF
и
, во втором
и
соответственно (видно по диагностическим графикам). Он продолжил эффективно фильтровать шум, опираясь на его дисперсию.
Согласованность (NEES): Упала с 98% до 88%. Это индикатор того, что KF стал «избыточно оптимистичным». Он предполагает, что вероятность отклонения за границей в
ничтожно мала (как у Гаусса), тогда как реальный шум Лапласа генерирует такие ошибки гораздо чаще. Фильтр «не ждет» выбросов, но когда они случаются, он быстро возвращается к траектории (видно по диагностическим графикам).
Сравнение: PF, настроенный на "честную" модель шума, выиграл совсем немного (RMSE 0.32). Это доказывает, что для линейных систем классический KF при малом снижении точности и согласованности сохраняет несмещенность и остается работающим инструментом даже при нарушении базовых допущений о статистике шума.
Сценарий 3: Нелинейность (Exp_NL+G)
Суть: Проверка границ применимости линейного подхода.
Поведение KF: Существенное падение точности (RMSE вырос почти в 3 раза до 0.89) и «чрезмерная самоуверенность» фильтра (NEES 55.3%): расчетная ковариация ошибки перестала соответствовать реальному разбросу. Фильтр "считает", что он точнее, чем есть на самом деле.
Вывод: Причина провала — структурное несоответствие. Линейный фильтр Калмана (KF) опирается на фиксированную матрицу динамики, которая является лишь грубой аппроксимацией реального нелинейного процесса. Как только состояние системы уходит от точки линеаризации, ошибка моделирования становится доминирующей, и никакая настройка ковариаций
и
не может это компенсировать. Требуется переход к применению нелинейных фильтров: UKF (который использует сигма-точки), EKF (который пересчитывает Якобианы на каждом шаге) или PF.
Сценарий 4: Стресс-тест (Exp_NL+NG)
Суть: Худший случай — сложная траектория и сложные шумы.
Поведение KF: Фильтр неработоспособен (RMSE 1.08).
Контекст (UKF vs PF): Интересно поведение UKF. Он справляется с нелинейностью (RMSE 0.34), но, будучи жестко привязанным к гауссовской математике (работа только со средним и ковариацией), он теряет адекватность в оценке собственной точности (NEES 79.3%). Только Particle Filter (RMSE 0.30, NEES 88.0%) из нашей тройки способен одновременно учитывать и кривизну пространства, и сложную форму плотности вероятности.
Заключение
Подводя итоги, ответим на вопрос о границах применимости линейного фильтра Калмана и цене его замены альтернативными методами (третий вопрос из Введения).
1. Линейность — ключевой фактор. Если ваша система линейна, фильтр Калмана (KF) остается оптимальным выбором даже в присутствии не-гауссовских шумов. Эксперименты подтверждают, что KF сохраняет свойства BLUE-оценщика (Best Linear Unbiased Estimator / Лучший линейный несмещенный оценщик), обеспечивая точность, близкую к предельной. Переход на ресурсоемкие методы, такие как Particle Filter, в этом случае не дает существенного выигрыша в точности, но кратно увеличивает вычислительные затраты.
2. Влияние нелинейности. Критическим фактором деградации классического KF является именно нелинейность динамики или наблюдения, а не статистика шума. В существенно нелинейных задачах применение линейного KF становится невозможным.
3. Ложная уверенность аппроксимаций. В нелинейных системах со сложной статистикой помех даже методы сигма-то��ечной фильтрации (UKF) могут демонстрировать низкие значения NEES (проблема несогласованности). В таких сценариях Particle Filter становится необходимым инструментом, оправдывающим свою высокую вычислительную стоимость.
Примечание. Сформулированные выводы основаны на результатах проведенного численного моделирования. Несмотря на то, что они согласуются с теоретическими ожиданиями, их следует интерпретировать в контексте конфигурации и параметров конкретных экспериментов.
Приложение 1. NEES: согласованность (consistency) и эмпирическое покрытие (Empirical Coverage) на примере экспериментов L+G и L+NG
Normalized Estimation Error Squared (NEES) — стандартная метрика для верификации согласованности алгоритмов оценивания состояния (например, фильтра Калмана).
В линейной гауссовской постановке оптимальный фильтр дает статистически корректную оценку и ковариацию ошибки. В этой ситуации нормированная квадратичная ошибка оценки
в каждый момент времени должна иметь распределение
с числом степеней свободы
, равным размерности вектора состояния (Bar-Shalom et al., 2001).
Данное теоретическое свойство опирается на два условия:
Ошибки оценки распределены нормально.
Матрица ковариации, вычисляемая фильтром,
, соответствует истинной ковариации ошибки.
Параметры верификации и статистический критерий
Проверка согласованности формулируется как статистический тест с нулевой гипотезой:
: фильтр согласован (значение NEES является реализацией случайной величины
).
: фильтр несогласован (наблюдаются систематические отклонения распределения).
Для формализации решения используется достигаемый уровень значимости: p-value.
В случае двустороннего критерия, когда критичны как аномально большие, так и аномально малые значения NEES, p-value для наблюдения вычисляется как:
где — функция распределения
.
В наших экспериментах используется уровень значимости . Гипотеза
отвергается, если
. Это условие эквивалентно выходу значения
за пределы доверительного интервала, ограниченного квантилями
и
.
Для границы интервала составляют:
Нижняя граница:
Верхняя граница:
.
При справедливости вероятность попадания
в коридор
равна
.
Переход к временному ряду NEES и практическим метрикам
Классический статистический тест предполагает независимость испытаний (i.i.d.). Однако во временной области значения NEES не являются независимыми. Прямое применение частотных критериев (например, "ровно 5% выходов за границы") к временному ряду статистически некорректно. Чтобы снять это противоречие, задачу переопределяют: от проверки гипотез на выборке переходят к потоковому обнаружению несогласованности фильтра (Inconsistency).
В этом контексте теоретические границы -распределения служат обоснованным эвристическим порогом для мониторинга.
Обычно используются две сводные метрики:
1. Empirical Coverage (Эмпирическое покрытие): Доля значений NEES, которые попали в коридор .
Инженерно это удобный индикатор согласованности:
Частые выходы за верхнюю границу (
) указывают на «оптимизм» фильтра (расчетная ковариация
меньше реальной ошибки).
Частые выходы за нижнюю границу (
) указывают на «пессимизм» (фильтр переоценивает неопределенность).
2. ANEES (Average NEES): Усредненная NEES по отсчетам (или по
прогонам Монте-Карло):
При справедливости сумма независимых величин хи-квадрат также имеет распределение хи-квадрат, поэтому величина
распределена как
.
Следовательно, 95% доверительный интервал для среднего значения сужается с ростом выборки:
.
Попадание ANEES в этот узкий интервал означает, что фильтр в среднем корректно калибрует собственную ковариацию на всей траектории.
Перспективы анализа
Потоковый контроль по эмпирическому покрытию — лишь первый уровень диагностики. Рассматривая NEES как временной ряд, можно применять к нему более глубокие методы анализа, например:
Интегральные методы: Обнаружение слабых, но систематических смещений, которые накапливаются со временем.
Анализ невязок (ACF/Whiteness Test): Проверка отсутствия неучтенной динамики.
Спектральный и структурный анализ (FFT, Matrix Profile): Поиск периодических ошибок или предвестников смены режима (специфических паттернов "шейплетов"), невидимых для простых пороговых детекторов.

Интерпретация результатов эксперимента 1: L+G (рис. 4)
Здесь и далее мы для интерпретации в целях упрощения пользуемся односторонней формой теста.
Целевой ориентир: для согласованного фильтра покрытие должно быть около 95%, а ANEES — около
и внутри доверительных границ для среднего.
Результаты:
UKF (94.0%) — практически совпадает с теоретическим ориентиром 95%, настройку можно считать близкой к целевой.
KF (98.0%) и PF (98.0%) — высокая согласованность, превышение 95% обычно трактуют как легкий “пессимизм” (ковариация
несколько завышена).
Выбросы: пик NEES около
с выходом за 7.38 — ожидаемое редкое событие в рамках двустороннего уровня \alpha=0.05, на практике это может быть следом маневра или разовой аномалии шума измерений.
Средний уровень: визуально NEES колеблется около 2, что согласуется с ожиданием для
и поддерживает вывод о корректной настройке.

Интерпретация результатов эксперимента 3: NL+G (рис. 5)
Принципиальная разница между графиками — в поведении линейного фильтра Калмана (KF) при появлении нелинейности в системе.
На предыдущем графике (L+G): KF демонстрировал идеальную согласованность (98% покрытия), работая наравне с более сложными алгоритмами. Ошибка оценки практически точно соответствовала его внутренней ковариации
.
На текущем графике (NL+G): Введение нелинейности привело к существенной потере согласованности KF. Его покрытие упало до 55.3%, а значения NEES многократно превышают пороговое значение
(красная линия "улетает" вверх). Это классический пример чрезмерного оптимизма фильтра: KF "думает", что оценивает состояние точно (малая
), но реальная ошибка из-за линеаризации модели велика, что ведет к расходимости.
UKF и PF: Напротив, уверенно справляются с нелинейностью, удерживая NEES в теоретическом коридоре (92% и 94% соответственно), что подтверждает их применимость для таких задач.

Дополнительно к графику NEES рассмотрим локальный фрагмент траектории в фазовом пространстве (окно ) и временные ряды норм ошибок оценивания.
На выбранном окне видно, что траектория KF заметно уходит от истинной и от оценок UKF/PF, тогда как UKF и PF остаются вблизи нее, что согласуется с потерей согласованности KF по NEES в нелинейном режиме (результат линеаризации и перекрестных нелинейных связей).
На фрагменте траектории видно, что KF ошибается в выборе направления движения. Это согласуется со структурой измерений: квадратичный канал не содержит информации о знаке
и тем самым порождает две симметричные гипотезы (
). При недостатке дополнительной информации из
и динамики фильтр может выбрать неверный знак и дальше систематически ошибаться.
Желтые вертикальные полосы на графике ошибок соответствуют шагам "высокой динамики/high motion", определяемым по истинной траектории как моменты, когда величина превышает 90‑й перцентиль по времени.
В коде это:
# Детекция high motion grad_true = np.diff(x_true[:, 0]) ** 2 + np.diff(x_true[:, 1]) ** 2 threshold_jump = np.percentile(grad_true, 90) outlier_steps = np.where(grad_true > threshold_jump)[0] + 1
Это не «выбросы измерений», а именно интервалы интенсивного движения/маневра истинного состояния: там повышается нагрузка на модель фильтра и возрастает риск рассогласования "модель ↔ реальная динамика". Поэтому ожидаемо возрастают ошибки и чаще проявляются провалы линеаризованных методов.
Инженерная интерпретация связи с качеством фильтра.
Если в желтых окнах у алгоритма систематически растут и ошибки и пики NEES (мы это наблюдаем на графике NEES и на графике ошибок для окна
), это обычно признак недостаточной адекватности модели (линейность при нелинейной динамике, неверные
, слабая наблюдаемость на маневре), а не единичной неудачи.
Для UKF/PF характерно более стабильное поведение в зонах "high motion", что подтверждает: основная проблема здесь — не шум как таковой, а нелинейность + перекрестные связи + специфика модели измерений, из‑за которых линейный KF теряет устойчивость и согласованность.
Приложение 2. NIS: нормализованный квадрат инноваций (Normalized Innovation Squared)
В отличие от NEES, требующего знания истинного состояния (что возможно только в симуляции), метрика NIS вычисляется исключительно по измерениям и внутренним оценкам фильтра и потому применима на реальном объекте.
NIS — скалярная мера того, насколько неожиданным для фильтра оказалось текущее измерение с учетом предсказанной им неопределенности. Её используют для диагностики согласованности и для стробирования (gating) аномальных измерений.
1. Определение NIS
Пусть инновация (невязка) на шаге:
где — предсказание измерения до коррекции.
Пусть — ковариация инновации, вычисляемая фильтром. Для линейного KF:
Тогда NIS определяется как квадратичная форма:
Это квадрат расстояния Махаланобиса для вектора инновации. Можно сравнить с определением NEES.
2. Статистические свойства
Если модель фильтра адекватна (корректная модель измерений/линеаризация, гауссовские шумы, корректно настроенные ковариации), то имеет нулевое среднее и ковариацию
, а величина
распределена по закону
с числом степеней свободы
:
Это позволяет строить критерии согласованности в пространстве измерений, не опираясь на "истинную" траекторию.
3. Практическое применение
Диагностика согласованности (consistency check).
Для двусторонней проверки на уровне значимости строят интервал
и анализируют, как часто
выходит за его границы.
Для нашей системы и для значимости
:
Нижняя граница:
Верхняя граница: (аналогично коридору для NEES).
Стробирование измерений (gating).
Здесь обычно используют односторонний порог и правило: если
, измерение считают маловероятным при текущей модели и могут исключить из обновления.
Для m=2 «чистый» 95% порог составляет
Анализ отбеленных инноваций.
Если разложить (Холецкий), то
— нормализованные (декоррелированные) инновации, которые при корректной модели должны иметь стандартное нормальное распределение
, а сумма их квадратов как раз и равна значению
Практическая полезность этого представления в том, что оно переводит диагностику из одного значения NIS в проверку структуры ошибок: по компонентам легко увидеть смещение (ненулевое среднее), неверный масштаб дисперсии (слишком широкое/узкое распределение), остаточную корреляцию (если декорреляция "не сработала"), а также локализовать проблему по конкретному каналу измерения.
Кроме того, по удобно строить простые диагностические графики (scatter
, гистограммы по компонентам, QQ/PIT), которые быстро показывают, является ли несогласованность следствием выбросов, неверной
или ошибок модели измерения/линеаризации.

Диагностика согласованности фильтров в пространстве измерений по статистике NIS, эксперимент 3: NL+G (рис.7)
Анализ графиков (рис. 7) выполнен для эксперимента с увеличенной длительностью (1000 шагов) при неизменных остальных параметрах. Удлинение траектории снижает влияние переходных режимов и позволяет оценивать долговременную устойчивость (или неустойчивость) алгоритмов.
Повторим, что в отличие от NEES, диагностика NIS не требует знания истинной траектории, что делает её применимой на реальном объекте. При этом NIS использует м��ньше информации, чем NEES: она опирается только на инновации измерений, поэтому менее чувствительна к ошибкам состояния, которые слабо проявляются в доступных измерениях.
1. NIS во времени (верхний левый)
KF (красный пунктир): наблюдается выраженная несогласованность: частые и высокие превышения порога указывают на то, что реальные инновации существенно больше, чем предсказывает модель фильтра.
UKF (синий пунктир): значения в основном остаются в допустимом диапазоне, а редкие выбросы ожидаемы статистически.
Здесь важно различать два порога:
для gating обычно используют односторонний 95% порог
(как у нас)
для consistency check (двусторонний коридор при
) верхняя граница равна
2. Отбеленные инновации (верхний правый)
График показывает компоненты нормализованного вектора инноваций , где
, а
— разложение Холецкого ковариации инноваций.
Смысл осей:
и
— декоррелированные компоненты инновации; при корректной модели они должны быть близки к
, а облако точек — симметричным вокруг
.
Зеленая окружность: 95% доверительная область для двумерного стандартного нормального распределения.
KF (красные точки): Облако сильно смещено влево и размыто (покрытие всего 71.30%). Смещение центра облака от нуля говорит о смещенности оценки (bias), а большой разброс — о недооценке ковариации.
UKF (синие точки): Облако центрировано и компактно укладывается в круг (покрытие 91.40%, близко к идеальным 95%). Это свидетельствует о корректной работе сигма-точечной аппроксимации.
3. Гистограмма NIS и ECDF (нижний ряд)
Гистограмма: для UKF эмпирическое распределение NIS ближе к теоретической
, тогда как для KF заметен “тяжелый хвост” справа (частые большие значения NIS).
ECDF: если кривая ECDF лежит ниже теоретической CDF
, это означает, что эмпирические значения NIS в среднем больше теоретически ожидаемых, то есть фильтр недооценивает неопределенность в измерительном канале.
4. PIT-диаграммы (Probability Integral Transform/Интегральное преобразование вероятности)
На врезках графика ECDF представлены гистограммы PIT:
Что это: PIT — это преобразование значений
через функцию стандартного нормального распределения
. Если инновации действительно гауссовские и корректные, значения PIT должны быть равномерно распределены на интервале
.
Интерпретация:
Идеальный вид: Плоская полка равномерного распределения.
UKF PIT (справа): Гистограммы для
и
близки к равномерным (прямоугольным), подтверждая, что инновации UKF — это белый гауссовский шум.
KF PIT (слева):
Для
(циан): U-образная форма или скос к краям говорит о том, что дисперсия инноваций больше, чем предсказывает фильтр или есть смещение. Статистика
подтверждает сильное смещение и завышенный разброс.
Для
(маджента): Скос вправо (к 1.0) указывает на систематическое смещение среднего значения (bias).
Как с помощью PIT локализовать проблему.
Если проблема в неверной настройке
(при корректной модели), то облако отбеленных инноваций
обычно сохраняет центр около
, но становится систематически «слишком широким» или «слишком узким» (соответственно, PIT приобретает U-образную форму при заниженном
или горб в середине при завышенном
). При этом по компонентам
эффект часто проявляется равномерно и без выраженной асимметрии.
Напротив, ошибка модели измерения/линеаризации чаще дает смещение (ненулевое среднее по одной из компонент), асимметрию и/или структуру, зависящую от режима (кластеры/скосы в облаке
), а PIT показывает устойчивый перекос к 0 или 1 и различия между каналами
и
.
В практическом смысле: «не тот»
обычно выглядит как неверный масштаб при сохранении формы, а «не та модель» — как изменение формы (bias, асимметрия, режимные эффекты) и несогласованность, различающаяся по каналам.
Резюме по NIS диагностике: в нелинейной гауссовской среде (Exp_NL+G) линейный KF несостоятелен (смещен и не согласован), тогда как UKF демонстрирует статистическую согласованность.
Эти выводы соответствуют нашим априорным знаниям о модели и параметрах, при том что диагностика по NIS не использует информацию об истинной траектории и ничего не знает о скрытом состоянии — она опирается только на статистику инноваций.
