Численные методы
Усвоение данных и фильтр Калмана
Цели урока
- Освоить алгоритм фильтра Калмана: шаги предсказания и обновления, смысл усиления Калмана K
- Понять EKF и UKF для нелинейных систем и сравнить их по точности
- Разобраться в EnKF для высокоразмерных задач метеорологии и particle filter для негауссовских систем
Предварительные знания
- Квантификация неопределённости
NASA Apollo: навигация лунного модуля с точностью 150 м через фильтр Калмана
- NASA Apollo: навигация лунного модуля с точностью 150 м через фильтр Калмана
- Tesla Autopilot: EKF для слияния данных лидара, камер и GPS в реальном времени
- ECMWF 4D-Var: прогноз погоды с 47M переменными через вариационное усвоение и EnKF
- KalmanNet: нейросеть, заменяющая матрицы H,F в Калман-фильтре - превосходит EKF при неизвестной модели
История фильтра Калмана
Рудольф Калман (1960, RESA Journal) предложил рекурсивный оптимальный фильтр для линейных систем - и немедленно получил заказ от NASA для программы Apollo. Буси (1961) расширил на непрерывное время (KF-Bucy). Сорнсон и Смит (1970-е) - нелинейные обобщения. Эвенсен (1994) - Ensemble Kalman Filter. ECMWF внедрил 4D-Var в 1997, EnKF-компонент в 2008 году. KalmanNet (Revach, 2022) - нейросетевой аналог.
Фильтр Калмана: оптимальный оценщик
Рудольф Калман в 1960 году опубликовал фильтр, который NASA применила в программе Apollo. Гироскопы дрейфуют, радар шумит - как объединить эти источники информации оптимально? Фильтр Калмана - теоретически доказанный ответ для линейно-гауссовых систем.
Tesla Autopilot, бортовые навигационные системы Starlink, роботы Boston Dynamics - все они используют варианты фильтра Калмана для оценки состояния. ECMWF использует 4D-Var и EnKF для прогнозов погоды с 47 миллионами переменных состояния.
Фильтр Калмана - MMSE-оценщик (минимальная среднеквадратичная ошибка) для линейно-гауссовых систем. Для нелинейных систем: EKF (линеаризация якобианом), UKF (sigma-points), particle filter (нелинейный, негауссовский).
Что происходит с усилением Калмана K при R -> infinity?
K = P*H^T*(H*P*H^T + R)^{-1}. При R -> inf знаменатель доминирует: K -> 0. Обновление x = x_pred + K*(y-H*x_pred) -> x_pred. Полное доверие модели, игнорирование наблюдений.
EKF и UKF для нелинейных систем
Реальные системы нелинейны: ракета на орбите, маятник, биохимическая реакция. Линейный фильтр Калмана не применим напрямую. EKF (Extended Kalman Filter) линеаризует нелинейную функцию якобианом в текущей оценке. UKF (Unscented KF) использует детерминированные sigma-points - точнее для сильно нелинейных систем.
Глубокое обучение + фильтр Калмана = Recurrent Neural Networks с Kalman-Like updates. KalmanNet (Revach et al., 2022) заменяет матрицы H и F нейросетями, обучаемыми end-to-end. Работает лучше EKF при неизвестной модели системы. Tesla Autopilot использует аналогичную гибридную архитектуру.
Почему UKF точнее EKF для сильно нелинейных систем?
EKF: P_pred = J_f * P * J_f^T - линеаризованная передача ковариации. Ошибка O(Delta x^2) от нелинейных членов. UKF: sigma-points проходят через нелинейную f, ковариация вычисляется по выборке - точность 3-го порядка для гауссовских распределений.
Ансамблевый EnKF и 4D-Var в метеорологии
ECMWF прогнозирует погоду с 47 миллионами переменных состояния. Ковариационная матрица P - 47M x 47M. Невозможно хранить. Ансамблевый фильтр Калмана (EnKF, Evensen 1994) аппроксимирует её через ансамбль из N=50 реализаций. Никакого якобиана. Никакой хранимой P.
4D-Var (ECMWF с 1997) - текущий стандарт оперативного прогноза погоды. Ансамблевый прогноз (ENS, с 1992): 50 реализаций для оценки неопределённости. Слияние 4D-Var + EnKF = En4D-Var - активная исследовательская область. Нейросетевые прогнозы погоды (Pangu-Weather, GraphCast 2023) пока обходят 4D-Var по скорости, но уступают по точности при экстремальных событиях.
Data Assimilation в нейронных сетях
Neural ODE (nm-25) + Kalman Filter = нейросетевые модели состояния. Latent ODE (Rubanova et al., 2019) обучает нейросеть на нерегулярно расположенных временных рядах через ODE-кодировщик и фильтрацию в латентном пространстве. Применяется к EEG, медицинским данным, физическим симуляциям с пропущенными измерениями.
Почему EnKF использует ансамбль вместо явного хранения ковариационной матрицы P?
P для 47M переменных: 47M^2 * 8 bytes ~ 1.7*10^13 GB = невозможно. Ансамбль N=50: 50 * 47M * 8 bytes ~ 18 GB. Это разница в 10^12 раз. Выборочная ковариация - Low-rank аппроксимация P ранга N-1.
Частичный фильтр для нелинейных и негауссовских систем
EKF и UKF предполагают гауссовское распределение. Отслеживание транспортного средства в реальных условиях: многомодальное распределение (машина могла повернуть налево ИЛИ направо). Particle filter (Sequential Monte Carlo) работает с произвольными распределениями через взвешенные частицы.
Дегенерация частиц - главная проблема particle filter в высоких размерностях: в d-мерном пространстве N частиц - редкая выборка при d > 20-30. Это и есть проклятие размерности для SMC. EnKF масштабируется лучше, но теряет многомодальность. Гибриды (Rao-Blackwellized PF) частично решают проблему.
Почему particle filter не масштабируется на задачи с d >> 30 переменными состояния?
Проблема концентрации меры: в d-мерном пространстве случайная точка из p(x) практически наверняка имеет нулевое правдоподобие p(y|x) при разумном N. Для N частиц и d=100 нужно N ~ e^{d} для адекватного покрытия - экспоненциальное проклятие размерности.
Связь с другими темами
Фильтр Калмана - байесовский фреймворк для динамических систем: шаг предсказания = prior, шаг обновления = posterior update (как теорема Байеса). EnKF применяет идеи UQ (nm-27) для высокоразмерных систем. Latent ODE + KF = нейросетевая модель состояния.
- 4D-Var Adjoint Gradient — Связанная тема
- Ensemble Covariance and Randomized SVD — Связанная тема
- Particle Filters for Non-Gaussian State — Связанная тема
Итоги
- Фильтр Калмана: MMSE-оценщик для линейно-гауссовых систем; два шага: предсказание (x_pred, P_pred) и обновление (K, x_new, P_new); K = 0 при R->inf, K->H^{-1} при R->0
- EKF линеаризует через якобиан в текущей оценке - первый порядок Taylor; UKF использует sigma-points для точности 3-го порядка без якобиана
- EnKF аппроксимирует P через ансамбль N=50 реализаций - делает 47M-переменные задачи ECMWF реализуемыми; 4D-Var - вариационная альтернатива через сопряжённую модель
- Particle filter: произвольные распределения через взвешенные частицы; страдает от дегенерации при d>30 - проклятие размерности для SMC
Вопросы для размышления
- Tesla использует EKF для слияния лидара, камер и GPS. Почему не UKF? Какие trade-offs между вычислительной стоимостью и точностью в реальном времени?
- EnKF с N=50 членами ансамбля аппроксимирует P ранга 49 для 47M-переменной системы. Что происходит с корреляциями между географически далёкими переменными?
- 4D-Var использует сопряжённую модель для градиента по x0. Как связано это с reverse-mode AD из nm-25 - математически это тот же алгоритм?
Связанные уроки
- nm-27 — фильтр Калмана - байесовский UQ для динамических систем
- nm-29-scientific-ml-pinns — PINNs с усвоением данных - следующий уровень гибридного моделирования
- nm-25-autodiff — EKF использует якобианы - вычислимые через AD