# Diagnostyka filtrów Kalmana przy nieliniowości i niegaussowskich szumach: analiza NEES/NIS filtrów KF, UKF i Particle Filter
Filtr Kalmana pozostaje podstawowym narzędziem estymacji stanu w zadaniach nawigacji, robotyki i przetwarzania sygnałów. Jednak jego klasyczna forma zakłada liniową dynamikę i gaussowskie szumy — warunki rzadko spotykane w rzeczywistych systemach. W artykule omówiono, jak trzy popularne podejścia — liniowy filtr Kalmana (KF), sigma-tochkowy filtr (UKF) i filtr cząstek (PF) — zachowują się przy naruszeniu tych założeń oraz jakie metryki pozwalają obiektywnie ocenić ich skuteczność.
Dlaczego gaussowskość jest ważna — i kiedy nie jest konieczna
Filtr Kalmana jest optymalny pod względem minimalizacji średniokwadratowego błędu tylko w liniowo-gaussowskiej postanovke. Wynika to z dwóch kluczowych własności rozkładu normalnego: zamkniętości względem transformacji afinicznych i sprzężoności wiarygodności przy bayesowskim aktualizowaniu. Przy naruszeniu gaussowskości te własności giną, ale rekurencja po średniej i kowariancji pozostaje obliczalna. W rezultacie KF nadal działa, jednak jego estymacje przestają być optymalne, a macierz kowariancji może nieprawidłowo odzwierciedlać rzeczywistą niepewność.
W praktyce objawia się to zawyżoną lub zaniżoną pewnością filtra co do swoich estymacji, co jest szczególnie krytyczne w systemach podejmowania decyzji. Na przykład przy obecności wartości odstających w pomiarach KF może się "zatkac" i zacząć odbiegać od rzeczywistej trajektorii, podczas gdy metody adaptacyjne zachowują stabilność.
Schemat eksperymentalny: projekt faktorowy 2×2
Do systematycznej analizy zaimplementowano symulator w Pythonie z wykorzystaniem wyłącznie NumPy i SciPy. Architektura zapewnia czystość eksperymentu: filtry otrzymują wyłącznie zaszumione pomiary bez dostępu do rzeczywistego stanu.
Scenariusze symulacji zorganizowano według zasady pełnego eksperymentu faktorowego:
- Liniowa dynamika + gaussowskie szumy — przypadek referencyjny.
- Liniowa dynamika + niegaussowskie szumy — sprawdzenie odporności na anomalie.
- Nieliniowa dynamika + gaussowskie szumy — test zdolności uwzględniania nieliniowości.
- Nieliniowa dynamika + niegaussowskie szumy — test stresowy dla wszystkich algorytmów.
Nieliniowy model został specjalnie skonstruowany, by wzmocnić efekty:
x₁[k+1] = x₁[k] + x₂[k] + 0.5·sin(x₁[k])
x₂[k+1] = 0.8·x₂[k] + 0.2·cos(x₁[k])
Pomiary obejmują zależność kwadratową: y₂ = x₂² + η₂, co prowadzi do utraty informacji o znaku prędkości i tworzy lokalną dwumodowość.
Szumy procesu modelowano jako mieszaninę gaussowską (tło + wartości odstające), a szumy pomiarów — rozkładem Laplace'a z ciężkimi ogonami.
Metryki oceny: RMSE, NEES i NIS
Zastosowano trzy metryki do kompleksowej oceny:
- RMSE (Root Mean Square Error) — ogólna miara dokładności, ale nieinformacyjna o spójności niepewności.
- NEES (Normalized Estimated Error Squared) — pokazuje, na ile empiryczny błąd zgadza się z przewidzianą kowariancją. Dla poprawnego filtra NEES powinien podlegać rozkładowi χ² z n stopniami swobody (n — wymiarowość stanu).
- NIS (Normalized Innovation Squared) — analog NEES dla trybu pracy, gdy rzeczywisty stan jest niedostępny. Opiera się na innowacjach (różnicach między pomiarami a predykcją).
Wyniki wykazały, że:
- W przypadku liniowo-gaussowskim wszystkie filtry wykazują zbliżone wartości RMSE, a NEES mieści się w przedziale ufności χ².
- Przy niegaussowskich szumach KF zachowuje sprawność, ale NEES systematycznie wychodzi poza granice, wskazując na niedoszacowanie niepewności.
- UKF lepiej radzi sobie z nieliniowością, ale jest wrażliwy na niegaussowskość pomiarów z powodu zachowania założenia gaussowskiego.
- PF wykazuje najlepszą spójność według NEES we wszystkich scenariuszach, zwłaszcza przy szumach multimodalnych i ciężkoodogonowych.
Praktyczne zalecenia dotyczące wyboru filtra
Na podstawie eksperymentów można sformułować następujące zalecenia:
- Używaj KF, jeśli system jest bliski liniowemu, a szumy umiarkowanie odbiegają od gaussowskości (np. słabe wartości odstające). Zapewni to minimalne koszty obliczeniowe.
- Przechodź na UKF, jeśli nieliniowość jest znacząca, ale szumy pozostają gaussowskie lub bliskie im. UKF efektywnie aproksymuje nieliniowe transformacje bez wzrostu wymiarowości.
- Wybieraj PF, gdy szumy są wyraźnie niegaussowskie (wartości odstające, multimodalność) lub obserwowalność systemu jest zaburzona (np. pomiary kwadratowe). Wadą jest wysoka złożoność obliczeniowa i ryzyko degeneracji cząstek.
Ważne jest regularne monitorowanie NIS w rzeczywistych systemach: trwałe przekroczenie progu χ² wskazuje na konieczność przeglądu modelu szumów lub przejścia na bardziej elastyczny filtr.
Co ważne
- Filtr Kalmana nie "psuje się" przy niegaussowskich szumach, ale traci optymalność i spójność.
- NEES — kluczowa metryka do walidacji filtra w symulacji; NIS — do diagnostyki w czasie rzeczywistym.
- UKF kompensuje nieliniowość, ale nie rozwiązuje problemu niegaussowskości.
- Filtr cząstek jest najbardziej uniwersalny, ale wymaga starannego dostrojenia i dużych zasobów.
- Połączenie nieliniowości i niegaussowskich szumów stwarza największe trudności dla wszystkich podejść.
— Editorial Team
Brak komentarzy.