KÁLMÁN-FÉLE SZŰRŐK

1. A probléma megfogalmazása.

E jegyzet témája az úgynevezett Kálmán-féle szűrők vizsgálata. A feladat a következő. Adott egy x(0), x(1), …, több változós (együttesen) normális, más néven Gauss eloszlású véletlen vektorokból álló sorozat, amelyet valamely rendszer produkál. Úgy képzelhetjük el, hogy az n, n = 0, 1, …, időpontban a rendszer generál egy x(n) véletlen vektort. Ezeket az x(n) véletlen vektorokat közvetlenül nem tudjuk megfigyelni, csak ezeknek valamilyen szűrőn keresztül előállított y(0), y(1), … traszformáltjait. Az a feladat, hogy egy adott n időpontban adjunk minél jobb becslést az m idő múlva megjelenő x(n + m), m ≥ 1, vektor értékére az y(0), y(1), …, y(n) véletlen vektorok értékeinek az ismeretében.

Pontosabban, részletesebben, megfogalmazva a feladat a következő: Tekintsük az alábbi rekurzív módon definiált sorozatokat:

x(n) =Φ(n − 1)x(n − 1) + ε(n − 1),  n = 1, 2, …,  (1.1)
y(n) =H(n)x(n) + η(n),  n = 0, 1, 2, …,  (1.2)

ahol x(n) és ε(n) p-dimenziós (oszlop) vektorok, y(n) és η(n) q-dimenziós véletlen (oszlop) vektorok, Φ(·) és H(·) p × p illetve q × p méretű mártixok, ε(1), ε(2), … és η(0), η(1), … egymástól is független, független, nulla várható értékű normális eloszlású véletlen vektorokból álló sorozatok, amelyeknek a kovariancia mátrixai

Eε(n)ε(n)^{∗} = Q(n), n = 0, 1, …,  (1.3)
Eη(n)η(n)^{∗} = R(n), n = 0, 1, …,  (1.4)

valamely az n indextől függő p × p és q × q méretű (pozitív szemidefinit) mátrixok. (Emlékeztetek arra, hogy ε(n) és η(n) oszlopvektorok. A ∗ jel egy vektor vagy mátrix konjugáltját fogja jelenteni a továbbiakban.) Ezenkívül adva van egy p-dimenziós, nulla várható értékű x(0) normális eloszlású (kiinduló) véletlen vektor ismert Σ(0) kovariancia mátrix-szal, amely független az ε(0), ε(1), … és η(0), η(1), … véletlen vektoroktól.

Ilyen módon az (1.1) képlet definiálja az x(n), n = 0, 1, …, sorozatot, az (1.2) formula pedig az y(n), n = 0, 1, …, sorozatot. Tegyük fel, hogy ismerjük az (1.1) és (1.2) formulában szereplő Φ(n) és H(n) mátrixokat valamint az (1.3) és (1.4) képletekben szereplő Q(n) és R(n) kovariancia mátrixokat minden olyan n indexre, amelyekre ezek definiálva vannak. Ezenkívül ismerjük a kiinduló x(0) vektor Ex(0)x(0)^{∗} kovariancia mátrixát is. Minket az x(·) véletlen vektorok értéke érdekel. Egy n időpontban meg akarjuk becsülni az x(n + m) véletlen vektor értékét valamely n + m időpontban, m ≥ 1. Az n időpontig megfigyeléseket teszünk, de nem tudjuk magukat az x(·) véletlen vektorokat megfigyelni, csak ezek ‘hibával terhelt’ transzformáltjait, az y(0), …, y(n) véletlen vektorokat. Feladatunk az x(n + m) véletlen vektor optimális becslése az y(0), …, y(n) véletlen vektorok ismeretében.

Az általános elmélet szerint ez a kérdés ekvivalens az E(x(n + m)|y(0), …, y(n)) feltételes várható érték kiszámításával. Mivel (együttesen) normális eloszlású vektorokkal dolgozunk ez a valószínűségszámítási probléma átfogalmazható a következő módon. Vezessük be a következő jelöléseket. Legyen H_{n} az L_{2}(Ω, A, P) Hilbert térnek az x(0), ε(0), …, ε(n), η(0), …, η(n) vektorok koordinátáinak lineáris kombinációiból álló altere, ahol (Ω, A, P) az a valószínűségi mező, ahol az általunk tekintett valószínűségi változók ‘élnek’, a skalár szorzatot pedig a szokásos módon, a (ξ, η) = Eξη képlettel definiáljuk. Legyen M_{n} a H_{n} Hilbert térnek az y(0), …, y(n) vektorok koordinátái által kifeszített altere. (A H_{n} altér tartalmazza az x(0), …, x(n + 1) és y(0), …, y(n) vektorok koordinátáit, de általában nem tartalmazza az y(n + 1) vektor koordinátáit.) Ekkor az

E(x(n + m)|y(0), …, y(n))

feltételes várható érték megegyezik az x(n + m) vektornak (pontosabban az x(n + m) vektor minden koordinátájának) a vetületével az M_{n} altérre. Ez azt jelenti, hogy a minket érdeklő feladat ezen vetületek kiszámolása. Ennek a vetületnek a kiszámítására ismertetni fogunk egy rekurzív eljárást.

Ha összehasonlítjuk az e jegyzetben vizsgált feladatot e témakör egy másik előadásában tárgyalt predikció elméleti problémával, akkor láthatunk némi hasonlóságot, de különbséget is. Jelen esetben vektor értékű sorozat elemeinek a becslését vizsgáljuk, míg a predikció elméleti problémában skalár értékű valószínűségi változókét. Ennek a különbségnek azonban nem volt elvi oka. Az analóg probléma vizsgálata a predikció elméletben is fontos és sokat vizsgált kérdés. Ennek tárgyalása azonban több időt és energiát követelt volna.

Jelen problémában nem stacionárius sorozatot vizsgáltunk, és a a megfigyeléseket nem a −∞ hanem a nulla időponttól kiindulva tekintettük. E különbség mögött már elvi okok is vannak. A predikció elméletben felhasználtuk azt, hogy a feladatot meg tudjuk fogalmazni a Fourier transzformáltak terében is, és a feladat ilyen átfogalmazása hasznosnak bizonyult. A jelen probléma vizsgálatában az eredeti térben maradtunk, ahol a statcionaritásnak nincs jelentősége, ezért érdemes volt a problémát általánosabban, az n paramétertől függő Φ(n), H(n), Q(n) és R(n) mátrixok segítségével megfogalmazni. Ezt a különbséget a kétfajta vizsgálat között úgy is meg szokták fogalmazni az irodalomban, hogy e jegyzet vizsgálataiban a vizsgált Gauss folyamat állapotteres, míg a korábban tárgyalt vizsgálatokban fázisteres leírását adtuk.

Megjegyzem, hogy egyéb természetes kérdések is felmerülnek az e jegyzetben vizsgált problémával kapcsolatban, amelyeket itt nem tárgyalunk. Az egyik ilyen kérdés az, hogy amennyiben a feladatban tekintett Φ, H, Q és R mátrixok nem függnek az n paramétertől, akkor milyen feltételek mellett létezik az (1.1) és (1.2) feltételt kielégítő stacionárius Gauss sorozat, és hogyan kell megadni egy stacionárius sorozat kezdő eloszlását.

2. Az optimális becslés megadása.

Ebben a fejezetben ismertetjük azt az eredményt, amely megadja, hogy hogyan lehet az 1. fejezet problémáját megoldani, az ott definiált projekciót kiszámolni. Az eredmény megfogalmazása előtt bevezetek néhány jelölést.

Jelölje x̂(n + m|n) az (1.1) képletben definiált a H(n + m) Hilbert térben levő x(n + m) véletlen vektor (pontosabban koordinátáinak) vetületét a H(n + m) Hilbert térnek szintén az első fejezetben bevezetett M_{n} alterébe. Használni fogjuk a következő, kissé pongyola, de az irodalomban elterjedt jelölést. Azt mondjuk, hogy egy k-dimenziós z véletlen vektor, z = (z_{1}, …, z_{k})^{∗}, benne van a M_{n} térben, jelölésben z ∈ M_{n}, ha a z vektor minden z_{j} koordinátájára z_{j} ∈ M_{n}, 1 ≤ j ≤ k. Hasonlóan azt mondjuk, hogy z merőleges a M_{n} altérre, jelölésben z ⊥ M_{n} ha z_{j} ⊥ M_{n} a z vektor minden z_{j} koordinátájára, 1 ≤ j ≤ k. Alább megfogalmazom e jegyzet fő eredményét.

2.1. Tétel. Legyen x̂(n + m|n) az x(n + m) vektor vetülete az M_{n} altérre. Ekkor

x̂(n + m|n) = Φ(n + m − 1)x̂(n + m − 1|n), ha m > 1,  (2.1)
x̂(n + 1|n) = Ψ(n)x̂(n|n − 1) + K(n)y(n),  (2.2)

ahol x̂(0| − 1) = 0 az n = 0 esetben,

Ψ(n) = Φ(n) − K(n)H(n),  (2.3)

és

K(n) = Φ(n)Σ(n)H(n)^{∗}{H(n)Σ(n)H(n)^{∗} + R(n)}^{−1}.  (2.4)

A (2.4) formulában szereplő Σ(n) mátrixot a következő rekurzív formulával számíthatjuk ki.

Σ(n + 1) = Φ(n)Σ(n)Φ(n)^{∗} + Q(n) − K(n){H(n)Σ(n)H(n)^{∗} + R(n)}K(n)^{∗}, (2.5)

és Σ(0) = Ex(0)x(0)^{∗}.

1. Megjegyzés. A 2.1 tételben (a K(n) mátrix (2.4) formulában megadott definiciójában) feltételeztük, hogy a H(n)Σ(n)H(n)^{∗} + R(n) mátrix invertálható. A 4. fejezetben elmagyarázom, hogy hogyan tudunk ettől a megszorítástól megszabadulni.

2. Megjegyzés. A 2.1 tétel megfogalmazásában szereplő Σ(n) mátrixot a (3.7) formulában fogjuk definiálni. Az x(n) véletlen vektor becslése az n−1 időpontban az x̂(n|n−1), és a becslés hibája az x(n) − x̂(n|n − 1) vektor. Ez a hiba egy nulla várható értékű normális eloszlású vektor, és Σ(n) a kovariancia mátrixa. A 2.1 tételben az x(n + 1) vektor x̂(n+1|n) becslését együtt számoljuk ki e becslés hibájának Σ(n+1) kovariancia mátrixával. Az (x̂(n + 1|n), Σ(n + 1)) pár kiszámításához elég ismernünk az előző lépésben kiszámolt (x̂(n|n − 1), Σ(n)) párt és az utolsó y(n) megfigyelést. Sőt, a Σ(n) mátrixokat a megfigyelés megkezdése előtt, az y(n), n = 0, 1, 2, … mintaelemek ismerete nélkül is kiszámolhatjuk. Ismerjük a rekurzió kiinduló (x̂(0|−1), Σ(0)) = (0, Ex(0)x(0)^{∗}) párját.

A 2.1. tétel megválaszolja azt a kérdést, hogy hogyan adjuk meg az x(n+m), m ≥ 1, véletlen vektor optimális becslését az y(1), …, y(n) véletlen vektorok ismeretében (ismerve a Φ(n), H(n), Q(n) és R(n) mátrixokat is). Ez az x̂(n+m|n) vektor kiszámítását jelenti. Ha m ≥ 2, akkor a (2.1) képlet segítségével az x̂(n + m|n) vektor kiszámítását vissza tudjuk vezetni az x̂(n + 1|n) vektor kiszámítására. A x̂(n + 1|n) vektort a (2.2), (2.3) és (2.4) formulák segítségével n szerinti rekurzióval számolhatjuk ki, feltéve, hogy ki tudjuk számolni a Σ(n) mátrixokat. (Annak érdekében, hogy ezt a rekurziót alkalmazni tudjuk tudnunk kell azt is, hogy x̂(0| − 1) = 0, és ismernünk kell a Σ(0) = Ex(0)x(0)^{∗} kovariancia mátrixot.) Viszont a Σ(n) mennyiséget ki tudjuk számítani a (2.5) formula segítségével szintén az n változó szerinti rekurzióval.

3. A 2.1. Tétel bizonyítása.

Bontsuk fel az M_{n} Hilbert teret a M_{n} = M_{n−1} ⊕ V_{n} direkt összegre, ahol V_{n} az M_{n−1} altér ortogonális kiegészítője az M_{n} Hilbert térben. Ki fogjuk számolni az y(n) ∈ M_{n} és x̂(n + 1|n) ∈ M_{n} vektorok felbontását (pontosabban szólva e vektorok minden koordinátájának a felbontását) e vektoroknak az M_{n−1} és V_{n} (ortogonális) alterekre vett vetületeinek az összegére. Az így kapott eredményeket a 3.1. lemmában fogjuk megfogalmazni.

Annak érdekében, hogy kiszámoljuk az y(n) = H(n)x(n) + η(n) vektor vetületeit az M_{n−1} és V_{n} alterekre vegyük észre, hogy η(n) ⊥ M_{n−1}. Ez azért igaz, mert η(n) független az y(0), …, y(n − 1) valószínűségi változóktól, ezért minden v ∈ M_{n−1} vektortól, és Eη(n) = 0. Innen következik, hogy az y(n) vektor vetülete az M_{n−1} altérre megegyezik a H(n)x(n) vektor vetületével erre az altérre, azaz egyenlő a H(n)x̂(n|n−1) vektorral. Ezért

y(n) = H(n)x̂(n|n − 1) + z(n), H(n)x̂(n|n − 1) ∈ M_{n−1} és z(n) ∈ V_{n}, (3.1)

ahol

z(n) = y(n) − H(n)x̂(n|n − 1) = η(n) + H(n)(x(n) − x̂(n|n − 1)).  (3.2)

Mivel x(n + 1) = Φ(n)x(n) + ε(n), és ε(n) ⊥ M_{n−1}, ezért az x̂(n + 1|n) vektor felírható

x̂(n + 1|n) = x̂(n + 1|n − 1) + u(n) = Φ(n)x̂(n|n − 1) + u(n),
Φ(n)x̂(n|n − 1) ∈ M_{n−1} és u(n) ∈ V_{n},  (3.3)

ahol u(n) az x̂(n + 1|n) vektor vetülete a V_{n} altérre.

Annak érdekében, hogy az u(n) = (u(n, 1), …, u(n, p))^{∗} vektort kiszámoljuk vegyük észre, hogy a z(n) = (z(n, 1), …, z(n, q))^{∗} vektor koordinátái generátor rendszert alkotnak a V_{n} altérben. Ez következik az y(n) és z(n) vektorok közötti a (3.2) formulában megfogalmazott kapcsolatból, a z(n) ∈ V_{n}, H(n)x̂(n|n − 1) ∈ M_{n−1} relációkból, és abból a tényből, hogy az y(0), …, y(n) vektorok az M_{n} az y(0), …, y(n − 1) vektorok pedig az M_{n−1} alteret generálják. Ezért az u(n) vektor mindegyik u(n, j),

1 ≤ j ≤ p, koordinátája kifejezhető u(n, j) = ∑_{k=1}^{q} c(j, k)z(n, k) lineáris kombináció alakban alkalmas c(j, k) együtthatókkal. (A c(j, k) együtthatók valójában függnek az n paramétertől is. De az n paramétert rögzítettük, ezért ezt a függést nem jelezzük.) Számoljuk ki a c(j, k) együtthatókat.

Rögzítsünk egy j, 1 ≤ j ≤ p, paramétert. A c(j, k) együtthatók kiszámolása érdekében vegyük észre, hogy x(n + 1) − x̂(n + 1|n) ⊥ V_{n}. (Valójában az erősebb x(n + 1) − x̂(n + 1|n) ⊥ M_{n} reláció is érvényes.) Ezért felírva az x̂(n + 1|n) és x(n + 1) vektor x̂(n+1|n) = (x̂(n+1|n, 1), …, x̂(n+1|n, p))^{∗} és x(n+1) = x(n+1, 1), …, x(n+1, p))^{∗} koordinátáit azt kapjuk, felhasználva az x̂(n + 1|n − 1) ⊥ V_{n} és z(n) ∈ V_{n} relációkat és a (3.3) formula első azonosságát, hogy Eu(n, j)z(n, l) = Ex̂(n + 1|n, j)z(n, l) =

Ex(n + 1, j)z(n, l) minden 1 ≤ l ≤ q indexre. Ezért az u(n, j) = ∑_{k=1}^{q} c(j, k)z(n, k)

azonosságot beszorozva z(n, l)-lel, és várható értéket véve, azt kapjuk minden 1 ≤ l ≤ q paraméterre, hogy

Ex(n + 1, j)z(n, l) = Eu(n, j)z(n, l) = ∑_{k=1}^{q} c(j, k)Ez(n, k)z(n, l), 1 ≤ l ≤ q,

A keresett c(j, k) együtthatókat ezen egyenletrendszer megoldásának a segítségével fogjuk megkapni.

Vezessük be a következő jelöléseket. Legyen C(j) = (c(j, 1), …, c(j, q))^{∗}, és P (j) = (Ex(n+1, j)z(n, 1), …, Ex(n+1, j)z(n, q))^{∗}. Ezen vektorok segítségével az előző egyenletet így írhatjuk fel:

P (j) = E[z(n)z(n)^{∗}]C(j).

Tegyük fel, hogy az E[z(n)z(n)^{∗}] mátrix invertálható. Egyelőre csak ezzel az esettel foglalkozunk. Mivel (E[z(n)z(n)^{∗}])^{−1} szimmetrikus mátrix, ezért az előző egyenlet alapján

C(j)^{∗} = P (j)^{∗}(E[z(n)z(n)^{∗}])^{−1},

és mivel u(n, j) = C(j)^{∗}z(n), innen azt kapjuk, hogy

u(n, j) = C(j)^{∗}z(n) = P (j)^{∗} (E[z(n)z(n)^{∗}])^{−1} z(n) minden 1 ≤ j ≤ p indexre.

Azt, hogy ez az azonosság az u(n) vektor minden 1 ≤ j ≤ p koordinátájára igaz a következő módon írhatjuk zárt alakban, felhasználva a P (j) vektorok alakját.

u(n) = E[x(n + 1)z(n)^{∗}] (E[z(n)z(n)^{∗}])^{−1} z(n).  (3.4)

A (3.2) formulában szereplő z(n) = y(n) − H(n)x̂(n|n − 1) vektort ki tudjuk számolni az y(0), …, y(n) vektorok ismeretében. Meg fogjuk mutatatni, hogy azt a mátrixot, amellyel a z(n) vektort megszoroztuk a (3.4) formula jobboldalán ki tudjuk számolni a Φ(l), H(l), Q(l), R(l), 1 ≤ l ≤ n, és Σ(0) mátrixok ismeretében. Innen következik, hogy az u(n) és (a (3.3) formula alapján) az x̂(n + 1|n) vektort is ki tudjuk számolni.

A fenti állítások bizonyításának érdekében kiszámoljuk a (3.4) formulában szereplő E[x(n + 1)z(n)^{∗}] és E[z(n)z(n)^{∗}] mátrixokat. Bebizonyítjuk, hogy

E[x(n + 1)z(n)^{∗}] = Φ(n)Σ(n)H(n)^{∗},  (3.5)

és

V (n) = E[z(n)z(n)^{∗}] = H(n)Σ(n)H(n)^{∗} + R(n),  (3.6)

ahol

Σ(n) = E[(x(n) − x̂(n|n − 1))(x(n) − x̂(n|n − 1))^{∗}].  (3.7)

Később a (3.7) formulában szereplő Σ(n) kiszámolásáról bebizonyítjuk azt a számunkra hasznos formulát, amelyet a (2.5) képletben fogalmaztunk meg.

A (3.5) formula bizonyításában felhasználjuk, hogy x(n + 1) = Φ(n)x(n) + ε(n), ε(n) ⊥ M_{n}, (mert ε(n) független minden az M_{n} térben levő valószínűségi változótól), és z(n) ∈ M_{n}, ahonnan Eε(n)z(n)^{∗} = 0. Ezért a (3.2) formula felhasználásával azt kapjuk, hogy

Ex(n + 1)z(n)^{∗} = E(Φ(n)x(n) + ε(n))z(n)^{∗} = Φ(n)Ex(n)z(n)^{∗}
= Φ(n)E(x(n)[(x(n) − x̂(n|n − 1))^{∗}H(n)^{∗} + η(n)^{∗}].

Továbbá, mivel Ex(n)η(n)^{∗} = 0, az x(n) és η(n) valószínűségi változók függetlensége miatt, és Ex̂(n|n − 1)[x(n) − x̂(n|n − 1)]^{∗} = 0, ezért

Ex(n + 1)z(n)^{∗} = Φ(n)E(x(n)[(x(n) − x̂(n|n − 1))^{∗}H(n)^{∗}] = Φ(n)E([x(n) − x̂(n|n − 1)][(x(n) − x̂(n|n − 1))^{∗}H(n)^{∗}] = Φ(n)Σ(n)H(n)^{∗}.

A (3.5) formulát beláttuk.

A (3.6) formula bizonyítása érdekében vegyük észre, hogy

Eη(n)[x(n) − x̂(n|n − 1)]^{∗} = E[x(n) − x̂(n|n − 1)]η(n)^{∗} = 0,

mert Eη(n)x(n)^{∗} = Ex(n)η(n)^{∗} = 0 az η(n) és x(n) változók függetlensége miatt, és

Eη(n)x̂(n|n − 1)^{∗} = Ex̂(n|n − 1)η(n)^{∗} = 0,

mivel η(n) ⊥ M_{n−1}, és x̂(n|n − 1) ∈ M_{n−1}. Ezért a (3.2) formula alapján

Ez(n)z(n)^{∗} = E [(η(n) + H(n)(x(n) − x̂(n|n − 1))(η(n) + H(n)(x(n) − x̂(n|n − 1))^{∗}]

= E(η(n)η(n)^{∗} + H(n)E [(x(n) − x̂(n|n − 1))(x(n) − x̂(n|n − 1))^{∗}] H(n)^{∗}

= R(n) + H(n)Σ(n)H(n)^{∗}.

A (3.4), (3.5) és (3.6) formulákból adódik, hogy

u(n) = Φ(n)Σ(n)H(n)^{∗}{H(n)Σ(n)H(n)^{∗} + R(n)}^{−1}z(n) = K(n)z(n),  (3.8)

a (2.4) formulában definiált K(n) mátrix-szal, feltéve, hogy H(n)Σ(n)H(n)^{∗} + R(n) = E[z(n)z(n)^{∗}] invertálható mátrix. (Az Ez(n)z(n)^{∗} mátrix akkor és csak akkor invertálható, ha a z(n) vektor koordinátái nemcsak generátor rendszert, hanem bázist is alkotnak a V_{n} térben.)

A most kapott eredményeket foglaljuk össze a következő 3.1. lemmában.

3.1. Lemma. Tekintsük az (1.1) és (1.2) képlettel definiált Kálmán-féle szűrőt, és benne a 2. fejezetben definiált M_{n} Hilbert tereket, és x̂(n + m|n) véletlen vektorokat. Tekintsük az M_{n} Hilbert tér M_{n} = M_{n−1} ⊕ V_{n} ortogonális felbontását, két ortogonális altér direkt összegére, és az y(n) ∈ M_{n} és x̂(n+1|n) ∈ M_{n} felbontását e vektorok M_{n−1}- beli és V_{n}-beli vetületeinek az összegére. Ezeket a felbontásokat adtuk meg a (3.1) illetve (3.3) formulában, ahol a képletekben szereplő z(n) illetve u(n) V_{n} térbeli komponenseket a (3.2) illetve (3.4) vagy (3,8) formulában adtunk meg. A (3.4) és (3.8) formula akkor érvényes, ha az E[z(n)z(n)^{∗}], vagy ami ezzel ekvivalens a H(n)Σ(n)H(n)^{∗}+R(n) mátrix invertálható. E formulák bizonyítása során igazoltuk a (3.5) és (3.6) azonosságokat is, amelyek szintén hasznosak lesznek későbbi érvelésünkben.

Rátérek a 2.1. tétel bizonyíására.

A 2.1. tétel bizonyítása. A (2.1) formula igazolása viszonylag egyszerű. Mivel x(n + m) = Φ(n + m − 1)x(n + m − 1) + ε(n + m − 1), és az ε(n + m − 1) véletlen vektor merőleges az M_{n} térre, (mert független az M_{n} térbeli valószínűségi változóktól), ezért véve ezen azonosság tagjainak vetületét az M_{n} altérre a bizonyítandó x̂(n + m|n) = Φ(n + m − 1)x̂(n + m − 1|n) azonosságot kapjuk.

A (2.2) formula bizonyításának érdekében felírjuk a (3.3) és (3.8) formulák majd a (3.2) formula segítségével az

x̂(n + 1|n) = Φ(n)x̂(n|n − 1) + K(n)z(n)
= Φ(n)x̂(n|n − 1) + K(n)(y(n) − H(n)x̂(n|n − 1))
= (Φ(n) − K(n)H(n))x̂(n|n − 1) + K(n)y(n)

azonosságot. Mivel Φ(n) − K(n)H(n) = Ψ(n) a (2.3) formula szerint, ezekből a relációkból következik a (2.2) reláció (a (2.3) és (2.4) formulában bevezetett formulákkal együtt).

A 2.1. tétel bizonyításának befejezéséhez igazolni kell még a (2.5) azonosságot. Az e formula baloldalán szereplő és a (3.7) formulában definiált Σ(n + 1) kiszámítása érdekében vizsgáljuk először az x(n + 1) − x̂(n + 1|n) kifejezést. Felírhatjuk, hogy

x(n + 1) − x̂(n + 1|n) = [x(n + 1) − x̂(n + 1|n − 1)] − [x̂(n + 1|n) − x̂(n + 1|n − 1)].

Továbbá

x̂(n + 1|n) − x̂(n + 1|n − 1) = u(n) = K(n)z(n)

a (3.3) formula első azonossága, és a (3.8) azonosság alapján, és

x(n + 1) − x̂(n + 1|n − 1) = Φ(n)[x(n) − x̂(n|n − 1)] + ε(n)  (3.9)

az (1.1) formulából, ha azt az n + 1 paraméterre alkalmazzuk az n paraméter helyett, illetve az x̂(n+1|n−1) = Φ(n)x̂(n|n−1) azonosságból, amit szintén az n+1 paraméterre felírt (1.1) azonosságból kapunk, ha vesszük az azonosság két oldalának a vetítését az M_{n−1} altérre, és felhasználjuk azt, hogy ε(n) ⊥ M_{n−1}. Innen

x(n + 1) − x̂(n + 1|n) = Φ(n)[x(n) − x̂(n|n − 1)] + ε(n) − K(n)z(n),

és a (3.7) formula alapján

Σ(n + 1) = E[Φ(n)[x(n) − x̂(n|n − 1)] + ε(n) − K(n)z(n)]
[Φ(n)[x(n) − x̂(n|n − 1)] + ε(n) − K(n)z(n)]^{∗}.  (3.10)

Elvégezve a beszorzásokat a (3.10) formulában azt kapjuk, hogy

\begin{aligned}Σ(n + 1) & = Φ(n)Σ(n)Φ(n)^{∗} + Q(n) + EK(n)z(n)z(n)^{∗}K(n)^{∗} \\ & − E[[x(n + 1) − x̂(n + 1|n − 1)](K(n)z(n))^{∗}] \\ & − E[(K(n)z(n))[x(n + 1) − x̂(n + 1|n − 1)]^{∗}]. \end{aligned}  (3.11)

A vegyes szorzatok számolásánál a (3.11) formulában kihasználtuk a (3.9) formulát, és azt hogy E[Φ(n)[x(n) − x̂(n|n − 1)]ε(n)^{∗} = Eε(n)[Φ(n)[x(n) − x̂(n|n − 1)]^{∗} = 0. Ez utóbbi állítás azért igaz, mert az ε(n) véletlen vektor független, mind az x(n) mind a x̂(n|n − 1) ∈ M_{n−1} vektortól.

Azt állítom, hogy

E[[x(n + 1) − x̂(n + 1|n − 1)](K(n)z(n))^{∗}] = K(n)E[z(n)z(n)^{∗}]K(n)^{∗},  (3.12)

ahonnan természetesen a

E[(K(n)z(n))[x(n + 1) − x̂(n + 1|n − 1)]^{∗}] = K(n)E[z(n)z(n)^{∗}]K(n)^{∗}

azonosság is következik.

Valóban Ex̂(n+1|n−1)z(n)^{∗} = 0, mert z(n) ∈ V_{n} (definició szerint), és x̂(n+1|n− 1) ⊥ V_{n}, mivel x̂(n + 1|n − 1) ∈ M_{n−1}. Hasonlóan, E[x(n + 1) − x̂(n + 1|n)]z(n)^{∗} = 0, mert x(n + 1) − x̂(n + 1|n) ⊥ M_{n}. Innen

E[[x(n + 1) − x̂(n + 1|n − 1)](K(n)z(n))^{∗}] = Ex(n + 1)z(n)^{∗}K(n)^{∗}
= Ex̂(n + 1|n)z(n)^{∗}K(n)^{∗} = Eu(n)z(n)^{∗}K(n)^{∗} = EK(n)z(n)z(n)^{∗}K(n)^{∗}.

A fenti számolás utolsó két azonossága a (3.3) és (3.8) formulákból következik, amelyek szerint u(n) = K(n)z(n), és u(n) az x̂(n+1|n) vektor vetülete a z(n) vektort tartalmazó V_{n} altérre.

Ezzel a (3.12) formulát beláttuk. A (3.11) és (3.12) formulákból következik, hogy

Σ(n + 1) = Φ(n)Σ(n)Φ(n)^{∗} + Q(n) − K(n)Ez[(n)z(n)^{∗}]K(n)^{∗},

ahonnan a (3.6) formula segítségével megkapjuk a bizonyítani kívánt (2.5) formulát.

4. Az eredmények áttekintése. Az általános eset vizsgálata.

E jegyzetben ismertettük azt, hogy ismerve egy az (1.1) és (1.2) formulákban definiált Kálmán-féle szűrő által egy n időpontig előállított x(1), …, x(n) változók, y(1), …, y(n) ‘filtráltjainak’ az értékeit, hogyan tudjuk megadni a jövőben megjelenő x(n + m) változók, m ≥ 1, értékeinek az optimális becslését. Ennek a becslésnek van néhány olyan tulajdonsága, amelyeket érdemes külön tárgyalni.

A vizsgált feladatban az x(n + m), m ≥ 1, véletlen vektorok x(n + m|n) vetületét akarjuk kiszámolni az y(1), …, y(n) véletlen vektorok koordinátái által generált, és a jegyzetben pontosan definiált M_{n} Hilbert térbe. A (2.1) képlet alapján az x̂(n + 1|n) becslések ismeretében ki tudjuk számolni az x̂(n + m|n) becsléseket tetszőleges m ≥ 1 paraméterre.

Érdemes megérteni, hogy az x̂(n + 1|n) becsléseket az n paraméter szerinti rekurzióval tudjuk kiszámolni. Ez jelen esetben a következőt jelenti. Jelölje Σ(n) = E[x(n)− x̂(n|n − 1)][x(n) − x̂(n|n − 1)]^{∗} az x(n) valószínűségi változóra adott x̂(n|n − 1) becslés x(n) − x̂(n|n − 1) hibájának a kovariancia mátrixát. Az n-ik időpontban kiszámoljuk az (x̂(n|n − 1), Σ(n)) párt. Ezután, az n + 1-ik időpontban, az y(n) véletlen vektor megismerése után, ki akarjuk számolni az (x̂(n + 1|n), Σ(n + 1)) párt is. Ezt a (2.2), (2.3), (2.4) és (2.5) formulák segítségével tesszük meg. E formulák alkalmazásához elegendő az (x̂(n|n−1), Σ(n)) párt és az y(n) véletlen vektort ismerni. (Feltesszük, hogy az (1.2), (1.3) formulákban szereplő Φ(n) és H(n) mátrixokat, illetve az ε(n) és η(n) ‘hiba vektorok’ Q(n) és R(n) kovariancia mátrixait szintén ismerjük.) Természetesen, ahhoz, hogy ezt a rekurziós eljárást alkalmazni tudjuk, ismernünk kell a kiinduló, nulla idöpontbeli (x̂(0|−1), Σ(0)) párt is. Ezt az x̂(0|−1) ≡ 0, és Σ(0) = Ex(0)x(0)^{∗} képletek határozzák meg.

A fenti eredmények a következőt jelentik. Az x(n + 1) véletlen vektor x̂(n + 1|n) optimális becslésének a kiszámításában a teljes y(0), …, y(n) megfigyelés sorozatot felhasználhatjuk. De az y(1), …, y(n − 1) megfigyelések helyett elegendő az általuk meghatározott x̂(n|n − 1) és Σ(n) mennyiségek ismerete. Ezek tartalmazzák az összes számunkra fontos ismeretet az (y(1), …, y(n − 1)) véletlen vektorról. Sőt, ezek az ismeretek nemcsak az x̂(n + 1|n), hanem a Σ(n + 1) mennyiség kiszámolásához is elegendőek. Ez lehetővé teszi, hogy az x̂(n + 1|n) vektort a Σ(n + 1) mátrix-szal együtt rekurzíve kiszámolhassuk.

A fenti számolások akkor végezhetőek el, ha az E[z(n)z(n)^{∗}] = H(n)Σ(n)H(n)^{∗} + R(n) mátrix invertálható. Felmerül a kérdés, mit tehetünk abban az esetben, ha ez a feltétel nem teljesül. Az alábbiakben ezzel a kérdéssel foglalkozom.

A z(n) véletlen vektor úgy jelent meg, mint az y(n) vektor koordinátáinak vetülete a M_{n} Hilbert tér M_{n−1} alterének V_{n} ortogonális kiegészítőjére. A z(n) vektor koordinátái generátor rendszert alkotnak az V_{n} Hilbert térben, de lehet, hogy nem alkotnak bázist. Ha e koordináták nem alkotnak bázist, akkor alkalmas módon véges sokat el lehet hagyni belőlük úgy, hogy a megtartott koordináták bázist alkossanak. Meg fogjuk mutatni, hogy a ‘fölösleges’ koordináták elhagyásával meg tudjuk oldani a vizsgált feladatot az eredeti eljárás természetes módosításával. Ekkor ugyanis invertálható mátrixokkal kell dolgoznunk. Az előbb vázolt eljárás jogosságának igazolásához szükségünk lesz az alábbi feladatban megfogalmazott eredményre.

Feladat. Legyen Z = (Z_{1}, …, Z_{q})^{∗} egy q dimenziós normális eloszlású véletlen vektor Σ kovariancia mátrix-szal és nulla várható értékkel. Tekintsük ennek Z(j_{1}, …, j_{k}) = (Z_{j_{1}}, …, Z_{j_{k}}) részvektorát tetszőleges {j_{1}, …, j_{k}} ⊂ {1, …, q} indexhalmazra, és jelölje Σ(j_{1}, …, j_{k}) a Z(j_{1}, …, j_{k}) vektor kovariancia mátrixát. A Σ(j_{1}, …, j_{k}) mátrix megegyezik a Σ mátrix megszorításával a j_{1}-ik, … és j_{k}-ik sorokra és oszlopokra. A Z(j_{1}, …, j_{k}) vektor Z_{j_{1}}, …, Z_{j_{k}} koordinátái akkor és csak akkor lineárisan függetlenek, azaz e valószínűségi változóknak akkor és csak akkor nincs olyan nem triviális lineáris kombinációja, amelyik egy valószínűséggel nullával egyenlő, ha a Σ(j_{1}, …, j_{k}) mátrix invertálható. Speciálisan, a maximális méretű lineárisan független koordinátákból álló Z(j_{1}, …, j_{k}) vektorok indexhalmazai megegyeznek azon maximális méretű Σ(j_{1}, …, j_{k}) mátrixok indexhalmazaival, amelyek invertálhatóak.

Segítség. A Z(j_{1}, …, j_{k}) vektor normális eloszlású minden j_{1}, …, j_{k} indexhalmazra, ezért felírható Z(j_{1}, …, j_{k}) = ηA alakban, ahol η = (η_{j_{1}}, …, η_{j_{k}})^{∗} független, standard normális η_{j_{s}} valószínűségi változókból álló vektor, A pedig k×k méretű mátrix. (Ebben a jelölésben elhagytuk az A mátrix és η vektor függését a j_{1}, …, j_{k} indexektől.) Írjuk fel az A mátrixot A = P ΛQ alakban, ahol P és Q unitér, Λ pedig diagonális mátrix, nem negatív elemekkel a mátrix átlójában. A Z(j_{1}, …, j_{k}) vektor koordinátái akkor és csak akkor lineárisan függetlenek, ha az A mátrix invertálható. Ez akkor és csak akkor teljesül, ha a Λ mátrix diagonális elemei mind nullától különböznek. A Σ(j_{1}, …, j_{k}) = P Λ^{2}P azonosság is teljesül, ahonnan következik, hogy Σ(j_{1}, …, j_{k}) akkor és csak akkor invertálható, ha a Λ mátrix diagonális elemei mind nullától különböznek.

Annak érdekében, hogy a Kálmán-féle szűrő becslésének a feladatát megoldjuk az általános esetben, (akkor is, ha az E[z(n)z(n)^{∗}] mátrix nem invertálható), vegyük észre, hogy a 2.1. tétel akkor is érvényes marad, ha az az y(n) véletlen vektor (1.2) formulában megadott definiciójában megengedjük, hogy az ott szereplő H(n) mátrix és η(n) vektor, q(n)×p, illetve q(n) méretű legyen, azaz az y(n) vektor dimenziója függhet az n paramétertől.

Legyen a V (n) = E[z(n)z(n)^{∗}] = H(n)Σ(n)H(n)^{∗} + R(n) kovariancia mátrixra a {j_{1}, j_{2}, ⋯, j_{k}} ⊂ {1, …, q} egy olyan maximális, k = k(n) méretű halmaz, amelyre a Σ = V (n) mátrixhoz tartozó, a ‘Feladat’-ban bevezetett Σ(j_{1}, …, j_{k}) mátrix invertálható. Vegyük észre, hogy a ‘Feladat’ eredményéből következik, hogy a z(n) = (z(n, 1), …, z(n, q))^{∗} Gauss eloszlású véletlen vektor j_{1}-ik, …, j_{k}-ik koordinátái egy maximális független rendszert alkotnak. Mivel a z(n, j), 1 ≤ j ≤ q, valószínűségi változók generátort alkotnak a V_{n} térben innen az is következik, hogy z(n, j_{1}), …, z(n, j_{k}) bázis a V_{n} térben. Jelölje H̄(n) = H̄(n, j_{1}, …, j_{k}) azt a k × p méretű mátrixot, amelyet úgy kapunk, hogy az (1.2) formulának csak a j_{1}-ik, …, és j_{k}-ik sorait tartjuk meg, legyen η̄ = η̄(j_{1}, …, j_{k}) a szintén (1.2) formulában szereplő η vektor j_{1}-ik, …, és j_{k}-ik koordinátáiból álló vektor, és tekintsük a

ȳ(n) = H̄(n)x(n) + η̄(n)  (4.1)

egyenletet, azaz vegyük az (1.2) egyenlet megszorítását a j_{1}-ik, …, és j_{k}-ik sorokra.

Ekkor a η̄(n) vektor R̄(n) = Eη̄(n)η̄(n)^{∗} kovarianciamátrixa megegyezik az (1.4) formulában definiált R(n) kovariancia mátrix megszorításával a j_{1}-ik, …, és j_{k}-ik sorokra és oszlopokra. Továbbá a ȳ(n) vektor z(n, j_{s}), 1 ≤ s ≤ k ortogonális vetületei az M_{n} térre ugyanazt a V_{n} Hilbert teret generálják, mint az y(n) tér z(n) vetülete, és ezenkívül a V_{n} tér bázisát is alkotják. Ezért a Kálmán féle feladat ekvivalens változatát kapjuk, ha az (1.2) formulát a (4.1) formulával helyettesítjük.

Az új módosított feladatban (ahol az (1.2) formulát a (4.1) formulával helyettesítettük) a (3.6) formulában definiált V (n) = E[z(n)z(n)^{∗}] mátrix helyett a V (n) mátrix j_{1}-ik, …, és j_{k}-ik soraira és oszlopaira vett V (n|j_{1}, …, j_{k}) megszorításával kell számolnunk, ami egy invertálható mátrix. Ezért ebben az esetben alkalmazható a 2.1. tétel. Az egyetlen különbség az, hogy a K(n) mátrix (2.4) formulában megadott definiciójában a H(n) mátrixot a H̄(n) = H̄(n|j_{1}, …, j_{k}), az R(n) mátrixot pedig az R̄(n) = R̄(n|j_{1}, …, j_{k}) mátrix-szal kell helyettesíteni.