3. Optimální odhad stavů systému obecná část Hana Fitzová Brno, 2008 Úvod Řada systémů je zadána přímo svým vnitřním popisem. Pozorovateli je skryta přímá informace o hodnotách stavových proměnných. Měřící přístroje podávají informaci o stavu systému. Úkol: jak z pozorovaných výstupů y určit co nejpřesněji stavy x . Problém je vyřešen pro lineární systém s gaussovskými šumy (Kalmanův filtr). 3. Optimální odhad stavů systémuobecná část ­ p.1/1 Informace o stavech I Mějme neznámý náhodný vektor X Lnx 2 a vektor naměřených dat z Rnz , který je realizací náhodného vektoru Z LnZ 2 . Dále známe simultánní hustotu pravděpodobnosti p(x, z). Před měřením z je informace o X obsažena pouze v hustotě p(x, z) a rozložení X udává tzv. apriorní hustota p0(x) = p(x, z)dz 3. Optimální odhad stavů systémuobecná část ­ p.2/1 Informace o stavech II Po provedení měření z je informace obohacena a rozložení X je dáno podmíněnou hustotou, tzv. aposteriorní hustotou p1(x) = p(x|z) Tyto úvahy jsou jádrem tzv. bayessovského přístupu k optimálnímu odhadu. Jediným skutečným rozložením je rozložení apriorní, avšak aposteriorní rozložení má některé výhodné vlastnosti s ohledem na co nejpřesnější odhad realizace vektoru X, ne hustoty vektoru X. 3. Optimální odhad stavů systémuobecná část ­ p.3/1 Kriterium nejmenších čtverců Přesnost odhadu (estimace) se nejčastěji měří kriteriem nejmenších čtverců (least mean squares). Střední kvadratická chyba Buď E Rnx množina přípustných estimátorů náhodného vektoru X. Pro každý přípustný estimátor y E zavedeme střední kvadratickou chybu vztahem J(y) = E((X - y)T (X - y)) 3. Optimální odhad stavů systémuobecná část ­ p.4/1 Optimální estimátor I Optimální estimátor Estimátor ^X E nazveme optimálním podle kriteria nejmenších čtverců (optimální MS estimátor), pokud platí J( ^X) = min yE J(y) Optimální apriorní estimátor Střední hodnota EX je optimálním estimátorem na množině všech apriorních estimátorů. Při označení ~X = X - ^X platí E( ~X) = 0 (odhad je nestranný) a D( ~X) = D(X). 3. Optimální odhad stavů systémuobecná část ­ p.5/1 Optimální estimátor II Optimální aposteriorní estimátor Podmíněná střední hodnota E(X|z) je optimálním estimátorem na množině všech aposteriorních estimátorů. Opět při označení ~X = X - ^X platí E( ~X) = 0 (odhad je nestranný) a D( ~X) = D(X|Z). Jsou-li vektory X a Z nezávislé, pak p(x, z) = p(x)p(z) a tedy i E(X|z) = E(X). Tedy při nezávislosti apriorní a aposteriorní estimátor splývají. 3. Optimální odhad stavů systémuobecná část ­ p.6/1 Podmíněné normální rozdělení Nechť X Z N x z , x xz zx z Pak aposteriorní náhodná veličina X|z má normální rozložení se střední hodnotou E(X|z) a varianční maticí D(X|z), kde E(X|z) = x + xz-1 z (z - z) D(X|z) = x - xz-1 z zx 3. Optimální odhad stavů systémuobecná část ­ p.7/1 Lineární MS estimátor I Optimální MS estimátor na přípustné množině lineárních estimátorů E = {y = Az + b : A Rnx×nz , b Rnx } je estimátor ^XLMS = x + xz-1 z (z - z) kde x = EX, z = EZ, xz = C(X, Z), z = DZ. 3. Optimální odhad stavů systémuobecná část ­ p.8/1 Lineární MS estimátor II Lineární MS estimátor ^XLMS je nestranný. Je-li vektor (XT , ZT )T rozložen normálně, pak estimátory ^XMS a ^XLMS splývají. 3. Optimální odhad stavů systémuobecná část ­ p.9/1 Příklad Náhodná veličina X má rozložení X Rs(0, 1). Tuto veličinu měříme pomocí náhodné veličiny Z. Vztah mezi veličinami je následující: Z = ln 1 X + V kde V Ex(1), p(v) = pV (x) je šum měření. Vypočtěte optimální lineární MS estimátor veličiny X. 3. Optimální odhad stavů systémuobecná část ­ p.10/1 Odhad stavů dynamického systému Mějme diskrétní dynamický systém xt+1 = f(xt, ut, vt)(1) yt = g(xt, ut, wt)(2) s počátečním rozložením p(x0). Budeme konstruovat optimální odhady stavů x0, x1, . . . , xn rekurentním způsobem. Pro odhad stavů máme k dispozici jen časové řady vstupů a výstupů. Aktuální stav xt se vypočte na základě minulého stavu xt-1 a nových dat ut a yt. 3. Optimální odhad stavů systémuobecná část ­ p.11/1 Odhad stavů DS (II) Rozložení šumu vt pokládáme za známé, je tedy rovnicí (1) jednoznačně určena podmíněná hustota pravděpodobnosti p(xt+1|xt, ut). Rovnicí (2) je určena podmíněná hustota pravděpodobnosti p(yt|xt, ut). Označíme Dt = {u0, y0, . . . , ut, yt}(3) data dostupná do času t. 3. Optimální odhad stavů systémuobecná část ­ p.12/1 Odhad stavů DS (III) Obě rovnice (1) a (2) jsou na minulých datech nezávislé, lze tedy psát p(xt+1|xt, ut, Dt-1) = p(xt+1|xt, ut)(4) p(yt|xt, ut, Dt-1) = p(yt|xt, ut)(5) Tj. stav xt obsahuje veškerou informaci obsaženou v datech Dt-1 potřebnou pro predikci výstupu yt. Dále řízení ut neovlivňuje přímo stav xt (přirozené podmínky řízení), což lze zapsat jako: p(xt|Dt-1, ut) = p(xt|Dt-1)(6) 3. Optimální odhad stavů systémuobecná část ­ p.13/1 Odhad stavů DS (IV) Jsme v čase t, máme k dispozici data Dt-1, chceme odhadnout hodnotu xt. Nejlépe ji aproximuje podmíněná hustota p(xt|Dt-1), tzv. apriorní hustota. Předpokládáme, že apriorní hustota je známá funkce. Po doplnění dat hodnotami ut, yt máme k dispozici data Dt, díky nimž můžeme aktualizovat odhad stavu xt. Hledáme tedy novou podmíněnou hustotu p(xt|Dt), což je tzv. aposteriorní hustota. 3. Optimální odhad stavů systémuobecná část ­ p.14/1 Věta (aposteriorní hustota) Aposteriorní hustota p(xt|Dt) je dána vztahem p(xt|Dt) = p(yt|xt, ut) p(yt|ut, Dt-1) p(xt|Dt-1) Důkaz plyne z Bayessova řetězového pravidla o podmíněných hustotách. Přechod od apriorní hustoty k hustotě aposteriorní se nazývá datový krok. Pro rekurentní výpočty je třeba ještě odvodit přechod obrácený ­ tzv. predikční krok. 3. Optimální odhad stavů systémuobecná část ­ p.15/1 Věta (predikční krok) Predikční krok odhadu stavu je dán vztahem p(xt+1|Dt) = p(xt+1|xt, ut)p(xt|Dt)dxt Důkaz plyne z řetězového pravidla, z rovnice (4) a dokončí se marginalizací rozdělení xt+1 podle xt. Posledním krokem je zahájení rekurze. Je třeba znát počáteční hustotu p(x0|D-1) = p(x0) která je předem známa nebo se určuje zkusmo. 3. Optimální odhad stavů systémuobecná část ­ p.16/1 Spojení kroků Datový a predikční krok lze spojit do jednoho, ale ztratíme tím aposteriorní hustoty, které jsou obecně lepší než hustoty apriorní. p(xt+1|Dt) = p(xt+1|xt, ut)p(yt|xt, ut) p(yt|ut, Dt-1) p(xt|Dt-1)dxt = = p(xt+1, yt|ut, Dt-1) p(yt|ut, Dt-1) 3. Optimální odhad stavů systémuobecná část ­ p.17/1