• Nie Znaleziono Wyników

Metody Przetwarzania Danych Meteorologicznych Wykład 7

N/A
N/A
Protected

Academic year: 2021

Share "Metody Przetwarzania Danych Meteorologicznych Wykład 7"

Copied!
32
0
0

Pełen tekst

(1)

Metody Przetwarzania Danych Meteorologicznych

Wykład 7

Krzysztof Markowicz Instytut Geofizyki UW

kmark@igf.fuw.edu.pl

(2)

Filtr Kalmana

algorytm rekurencyjnego wyznaczania minimalno-

wariancyjnej estymaty wektora stanu modelu liniowego dyskretnego układu dynamicznego na podstawie

pomiarów wyjścia tego układu.

Przyjmuje się założenie, że zarówno pomiar, jak

i proces przetwarzania wewnątrz układu jest obarczony

błędem o rozkładzie gaussowskim.

(3)

3

Zastosowania Filtru Kalmana

1. Gdy chcemy posiadać aktualizowane w czasie

dokładne informacje o położeniu, prędkości obiektu na podstawie sekwencyjnych obserwacji

zawierających błędy i niepewności.

2. Gdy jesteśmy zainteresowanie śledzeniem

obiektów za pośrednictwem radaru, zaś położenie, prędkość czy przyspieszanie mierzone są ze

znaczną niepewnością. Filtr Kalmana wykorzystuje dynamikę obiektu do redukcji szumu i lepszej

estymacji jego położenia w chwili obecnej (filtracja),

przyszłej (predykcja) lub przeszłej (interpolacja lub

wygładzania)

(4)

Definicja filtru Kalmana

Filtr Kalmana buduje się dla systemów dynamicznych, dyskretyzowanych w domenie czasu. Związany jest on z procesami Markowa.

Stan systemu reprezentowany jest przez wektor stanu. Na każdym kroku czasowym, nowy wektor stanu jest

wyznaczany używając liniowego operatora.

Zawiera on jednak szum związany z

nieprecyzyjnymi

obserwacjami oraz

błędami modelu.

(5)

5

W modelu Kalmana zakładamy, że rzeczywisty stan układu dla czasu k jest wyznaczony na postawie

wektora stanu dla chwili k-1 zgodnie ze wzorem:

k k

k 1

k k

k F x B u w

x   

F

k

- jest modelem przejścia, który używany jest dla wektora stanu (k-1).

B

k

– jest opcjonalnym modelem parametrów wejściowych do modelu używany dla wektora kontrolnego u

k

.

w

k

– opisuje szumy, zakładamy że ma postać

wielowymiarowego rozkładu normalnego z wartościami średnimi równymi zero oraz macierzą kowariancji Q

k

) Q , 0 ( N

w kk

(6)

k k

k

k H x v

z  

Dla chwili k obserwacje z

k

rzeczywistego wektora stanu x

k

można zapisać w postaci:

gdzie H

k

jest modelem który transformuje rzeczywisty wektor stanu w przestrzeni obserwacji,

V

k

– jest szumem związanym z obserwacjami

) R , 0 ( N

v

k

k

Wiele rzeczywistych systemów dynamicznych nie może być opisane przez powyższy model. Jednak mimo tego filtr

Kalmana znalazł duże zastosowanie.

Główną przyczyną tego stanu rzeczy jest sposób podejścia

związany z operowaniem na szumach układu.

(7)

7

Filtr Kalmana jako operator rekurencyjny

• Oznacza to, że oszacowanie stanu w danym momencie czasu wymaga znajomości tylko stanu poprzedniego oraz wektora obserwacji.

• Stan filtru Kalmana opisują dwie zmienne:

• oszacowanie wektora stanu dla czasu k

• oszacowana macierz kowariancji błędu (zawiera informacje o błędach oszacowania rzeczywistego wektora

stanu)

Filtr Kalmana ma dwie fazy: predykcje (predict) oraz uaktualnianie (update).

Faza predykcji używana jest do wyznaczenia aktualnego wektora stanu na podstawie wcześniejszego stanu.

Faza uaktualniania używana aktualnych danych

obserwacyjnych do poprawienia wyznaczonego wektora stanu.

k

|

k k

|

P

k

(8)

Filtr Kalmana

(9)

9

Predykcja

k k 1

k

| 1 k k 1

k

|

k F xˆ B u

k T

k 1 k

| 1 k k 1

k

|

k F P F Q

P

nowy stan

kowariancja nowego

stanu

(10)

Uaktualnianie (Update)

1 k

| k k k

k

z H xˆ

y~  

k T

k 1 k

| k k

k

H P H R

S 

1 k T k 1 k

| k

k

P H S

K 

k k 1

k

| k k

|

k

xˆ K y~

xˆ 

1 k

| k k

k k

|

k

( I K H ) P

P  

optymalne wzmocnienie filtru Kalmana poprawiony wektor stanu

poprawiona macierz kowariancji residuum wektora obserwacji

residuum macierzy kowariancji

Ostatni wzór jest prawdziwy tylko w przypadku gdy

wzmocnienie filtru Kalmana jest optymalne

(11)

11

(12)

Niezmienniczość

Jeśli nasz model jest dokładny, zaś wartości startowe precyzyjnie opisują wektor stanu wówczas następujące

wielkości pozostają zachowane (wartości oczekiwane są równe zero):

0

|

0

P

0|0

0 ]

xˆ x

[ E ]

xˆ x

[

E

k

k|k

k

k|k1

0 ]

y~

[

E

k

Ponadto zdefiniowane powyżej macierze kowariancji dokładnie odzwierciedlają macierze kowariancji błędów.

) xˆ , x cov(

P

k|k

k k|k

)

xˆ , x cov(

P

k|k1

k k|k1

)

y~

cov(

S 

(13)

13

Przykład

• Rozpatrzmy pojazd szynowy poruszający się po nieskończenie długich, prostych i gładkich torach (bez tarcia). Początkowo spoczywa on w położeniu zerowym ale po chwili zaczyna poruszać się z losowym przyspieszeniem.

• Mierzymy co Δt położenie pojazdu jednak jest to pomiar obarczony błędem.

• Nie mamy żadnej kontroli na pojazdem więc ignorujemy wyrażenia B

k

oraz u

k

.

• Ponadto F, H, R, Q są stałymi i dlatego pomijamy indeksy czasowe

• Wektor stanu ma postać:

 

 

  x x

k

x

(14)

14

• Zakładamy, że pomiędzy chwilą k-1 a chwilą k

przyspieszenie pojazdu jest stałe a

k

. Ma ono rozkład normalny z wartością oczekiwaną równą zero.

• Na podstawie mechaniki newtonowskiej mamy:

k 1

k

k

Fx Ga

x 

 

 

 

 0 1 t F 1

 

 

 

2 t G t

2

Obliczamy kowariancje

T 2

a T

2 a T

2

T

] GE [ a ] G G G GG

) Ga )(

Ga [(

E )

Ga cov(

Q       

Na każdym kroku czasowym dokonujemy pomiaru

położenia. Zakładamy, że błąd pomiaru jest gaussowski z wartością oczekiwaną równą zero i odchyleniem

standardowym σ . z  Hx  v

(15)

15 k

k

k

Hx v

z  

] 0 1 [ H 

2 z T

v k

v ] v

[ E

R   

Jeśli znamy wektor początkowy z zerowym błędem

 

 

  0

0|0

0 

 

 

0 0

0 P

0|0

0

Jeśli zaś nie znamy dokładnego położenia inicjalizacje

filtru Kalmana wykonujemy przez zadanie dużej wartości B

 

 

 

B 0

0

P

0|0

B

(16)

Przykład I (matlabie)

odchylenie standardowe przyspieszenia: 0.5 feet/s

2

dokładności pomiaru położenia: 10 feet

(17)

17

Przykład II

• Zakładamy z góry pewną wartość rzeczywistą z=- 0.37727

• Wykonujemy (symulujemy) 50 pomiarów z

k

, których błąd ma rozkład normalny z wariancją R.

Wariancja błędu obserwacji R=0.01. W metodzie filtru kalmana

(filtracja, linia ciągła) używamy tej samej wartości R.

(18)

• Obliczona wartość P

k

dla kolejnej iteracji. Wartość

początkowa P

o

=1.

(19)

19

(20)

Wyznaczanie macierzy kowariancji aposteriori

) xˆ x

cov(

P

k|k

k

k|k

)) y~

K xˆ

( x

cov(

P

k|k

k

k|k1

k k

))) x

H z

( K xˆ

( x

cov(

P

k|k

k

k|k1

k k

k k|k1

))) x

H v

x H ( K xˆ

( x

cov(

P

k|k

k

k|k1

k k k

k

k k|k1

podstawiając za

y~

k

podstawiając za

podstawiając za

k

|

k

z

k

przegrupowując dostajemy:

) v K )

x x

)(

H K I

cov((

P

k|k

 

k k k

k|k1

k k

Jeśli wektor obserwacji nie jest skorelowany z pozostałymi członami

) v K cov(

)) x

x )(

H K I

cov((

P

k|k

 

k k k

k|k1

 

k k

(21)

21 T

k k

k T

k k 1

k

| k k

k k k

|

k

( I K H ) cov( x x )( I K H ) K cov( v ) K

P   

 

Wykorzystując własności wektora kowariancji mamy

Uwzględniając niezmienniczości

oraz definicje macierzy R

k

otrzymujemy

1 k

|

P

k

T k k k T

k k 1

k

| k k k k

|

k

( I K H ) P ( I K H ) K R K

P  

 

(22)

Wzmocnienie filtru Kalmana

• Filtr Kalmana jest estymatorem minimalnego błędu średnio-kwadratowego.

• Błąd oszacowania wektora stanu (a posteriori) wynosi

• Minimalizujemy wyrażenie

• Jest to równoważne do minimalizacji śladu estymatora macierzy kowariancji a posteriori

• Rozwijając ostatnie równanie z poprzedniej strony mamy:

]

| xˆ x

[|

E

k

k|k 2

) R K

H P

H ( K K

H P

P H K P

P k | kk | k 1k k k | k 1k | k 1 T k T kk k k | k 1 T k T kk

T k k k T

k T k 1 k

| k 1

k

| k k k 1

k

| k k

|

k P K H P P H K K S K

P 

k

| k k

xˆ x 

k

|

P

k

(23)

23 T

k 1 k

| k T

1 k

| k k k

k

S ( H P ) P H

K 

1 k T k 1 k

| k

k

P H S

K 

0 S

K 2 )

P H ( K 2

) P ( tr

k k T

1 k

| k k k

k

|

k

   

Obliczamy pochodną śladu macierzy, która powinna być zero (minimalizacja)

Obliczone wzmocnienie K

k

jest optymalnym wzmocnieniem

filtru Kalmana

(24)

Nieliniowy filtr Kalmana (Extended kalman filter)

• Podstawowy filtr Kalmana jest ograniczony tylko do modelu liniowego

• Jednak wiele systemów opisywanych jest przez modele nieliniowe.

• Nieliniowość może być związana zarówno z modelem

opisującym system dynamiczny jak i modelem obserwacji.

• W takim przypadku definiujemy rozszerzony filtr Kalmana (EKF)

• Wówczas równanie regencyjne ma ogólną postać

) w , u , x ( f

x

k

k1 k k

)

v , x ( h

z

k

k k

(25)

25

• Funkcje f oraz h nie mogą być bezpośrednio użyte do obliczenia macierzy kowariancji. Zamiast nich

wyznacza się pochodne cząstkowe (jakobian).

• Na każdym kroku czasowym jakobian jest obliczany na podstawie aktualnego wektora stanu. Jest to wiec linearyzacja w sąsiedztwie wektora stanu.

• Predykcja

) 0 , u , xˆ

( f

k | k 1k 1 | k 1 k

k T

k 1 k

| 1 k k 1

k

|

k F P F Q

P

1 k

|

k

k x

H h

 

uk , 1 k

| 1

k

k x

F f

 

gdzie jakobiany

mają postać

(26)

Uaktualnianie (Update) EKF

) 0 , xˆ

( h z

y~

k

k

k|k1

k T

k 1 k

| k k

k

H P H R

S 

1 k T k 1 k

| k

k

P H S

K 

k k 1

k

| k k

|

k

xˆ K y~

xˆ 

1 k

| k k

k k

|

k

( I K H ) P

P  

Filtr Kalmana jest mało użyteczny dla silnie nieliniowych funkcji.

Wynika to z faktu, że tylko wartość średnia propagowana jest

przez filtr nieliniowy.

(27)

27

(28)
(29)

29

• W metodzie „ ensemble Kalman filter (Evensen 1994, Houtekamer and Mitchell 1998) wykorzystuje się

przybliżenia statystyczne w celu wyznaczenia macierzy kowariancji błędów analizy oraz kowariancji błędów

pierwszego przybliżenia.

• W tym celu generujemy zbór wektorów analizy poprzez wielokrotne asymilowanie danych jednak z różnymi

macierzami kowariancji błędów pierwszego przybliżenia oraz obserwacji. Zwykle dodaje się pewien rodzaj szumu.

• Podobnie zaburza się pole pierwszego przybliżenia

• Metoda analogiczna do metody prognoz metodą wiązek.

Ensemble Kalman Filter

(30)

• Wykorzystujemy różnice pomiędzy wektorami analizy do

wyznaczenia macierzy kowariancji błędów analizy. Nie wymaga to kosztownego odwracania macierzy jak we wcześniejszych metodach.

gdzie mamy uśrednianie po zespole.

• Poprzez wykonanie krótko-czasowej prognozy dla zbioru analiz

dostajemy zbiór pól pierwszego przybliżenia, który pozwala nam

wyznaczyć macierz kowariancji błędu

(31)

31

Cechy Ensemble Kalman filter (EKF)

• Idealnie nadaje się do wektoryzacji na procesorach równoległych.

• W metodzie model diagnozuje aktualną macierz

kowariancji błędów pierwszego przybliżenia zamiast wykorzystywać propagację przybliżonej kowariancji błędów analizy.

• Błędy losowe w statystycznym oszacowaniu macierzy

kowariancji błędów zmniejszają się jak pierwiastek z

rozmiaru zbioru.

(32)

Podsumowanie

• Filtr Kalmana odpowiada metodzie wariacyjnej dla układu liniowego.

• Dla układów z niewielką nieliniowością stosuje się rozszerzony filtr Kalmana. Jednak wymaga to użycia modelu sprzężonego (adjonts) oraz operatorów

stycznych.

• Ensemble Kalman Filter jest metodą stosunkowo prostą do użycia gdyż nie wymaga modeli

sprzężonych.

Cytaty

Powiązane dokumenty

• W praktyce, gdy proces ciągły jest aproksymowany przez skończony ciąg dyskretny, szum reprezentowany jest przez wektor losowy [X(t k )], którego współrzędne (czyli wartości w

Do określenia wymiaru ważne jest tylko , by granica istniała i dala się wyznaczyć. W fizyce zależności muszą być niezależne od wyboru jednostek, a więc – jednorodne: (zmiana

• W czasie przetwarzania danych nie powstają nowe dane, mogą być za to tracone. przez uśrednianie).. • Zmianę

Minimalizowanym funkcjonałem jest suma kwadratów różnic wartości funkcji interpolacyjnej i wartości obserwowanych w punktach pomiarowych. Najczęściej stosuje się ją do funkcji

Abstrakcyjna teoria prawdopodobieństwa w sensie matematycznym jest bardzo bogata a jej przydatność praktyczna wynika z faktu, że empirycznie wyznaczalne prawdopodobieństwo w

Estymację – szacowanie wartości parametrów lub postaci rozkładu zmiennej na podstawie próby – na podstawie wyników próby formułujemy wnioski dla całej

• W przypadku gdy mamy n punktów siatki operator liniowej interpolacji wpływa na wartości analizy tylko w sąsiedztwie obserwacji podczas gdy współczynnik korelacji

• Nie jest to wybór obowiązkowy jednak należy pamiętać o różnicy pomiędzy informacją a priori, która jest używana w definicji funkcji kosztu od pierwszego przybliżenia,