Hidrológiai Közlöny 1980 (60. évfolyam)
5. szám - Ambrus Sándor: A Budapest–Baja Dunaszakasz vízállásának real-time adaptíve előrejelzése
218 Hidrológiai Közlöny 1980. 5. sz. Ambrus S.: A Budapest—Baja Dunaszakasz Látható, hogy ez egyben a legkisebb négyzettek módszerének, mint gradiensmódszernek a konvergenciamátrixa. P felújítása [16] alapján P(<+l)=P(0-P(/)x(0[l+x^)l'(0x(<)]1x í-(0P(<) (17) módon történik. Megjegyzendő, hogy a szögletes zárójelben levő tag skaláris, ezért mátrixinverzióra nincs szükség. 4. lépés: Paraméter felújítás, az előrejelzési hiba alapján [15]: a(í+l)=a(<)+P(<)x(<)[l+x'^)P(Ox(<)J1eW- (IS) Ezt a négy lépést hajtjuk végre rekurzive minden időpontban. Az algoritmus indítása a későbbiekben kerül ismertetésre. W ittenmar k bebizonyította [13], hogy a becslés C(q~ l) = 1 esetbon torzítatlan, de ha G(q~ l)=l= 1, akkor is megfelelő aszimptotikus tulajdonságokkal rendelkf* zik az algoritmus.. Ila az előrejelzések jók, akkor az előrejelzés hibasorozata egy megfelelő időeltolás után független kell legyen, azaz r e e(r) = E{e(t + r)e(t)}=0, z=k, k + \,. . . (19) r^(r)=E{e(t+T)y(t + k\t)}=0, r=k, k + l,. . . (20 al íol r £ E a hibasorozat autokorrelacio-függvenye, r Apesa dig a hibasorozat és az előrejelzés keresztkorreláció függvénye. 4. Számítás a Duna Budapest—Haja szakaszán Az algoritmus alapján készült számítógépi programot a Duna több állomására lefuttattuk [1], [2], [3]. Az itt közölt adatok a BudapestBaja előrejelzés eredményei. Az ismertetett algoritmusra készített FORTRAN nyelvű számítógépi program a (15)—-(18) kifejezéseket számítja ki minden időpontban. A felhasznált adatok nem közvetlen vízmérce-leolvasások, hanem azoknak az átlagtól való eltérése: y(t)=Y(t)—7, t = 0,1,2,... ahol Y(t) a mérési adatsor és Fáz átlagos vízszint a Duna bajai szelvényében, 1976-ban. Az u(t) idősort ezzel analóg módon határoztuk meg az 1976-os budapesti adatsorból. Számítások készültek különféle p, r, s rendszámok esetére. A helyes modelldimenziók meghatározása további kutatás tárgya. Ittap = 3, r=3, s = 3 értékkel készített 1- és 2-napos előrejelzések eredményeit ismertetjük. A számítás induló értékei elvileg tetszőlegesen választhatók. Gyors konvergencia végett célszerű egy elegendően nagy számmal megszorzott egységmátrixot választani induló konvergenciamátrixnak [16]. A numerikus tapasztalatok alapján P(o)=10 3 I értékkel indultunk, ahol I az egységmátrix. A paramétervektor indítására a(o) = 0 900 j* 700 S p? soo -j§ 500 wo "I 300 Uj,200 100 0 12 3 Időelőny [d] 7. ábra. Az előrejelzési hibák szórásnégyzete az időelőny függvényében <Pue. 7. JlucnepcuH OUIUŐOK npoenoía e 3ueucuMocmu om cpohca 3aőAaeoepeMeHnocmu APrnt trix nyoma 2 I 4 1 1 1 r—i — Idő 8. ábra. A konvergenciamátrix nyomának alakulása az időben &uz. 8. (PopMiipo'jaiiue eo epeMeiui CAeöu Mampuifbi cxoduMocmu értéket választottunk. Lehetséges még a(0)-ra egyszeri legkisebb négyzetes becslést végezni a megelőző mérési adatok alapján, hogy megelőzzük a számítások kezdetén fellépő instabilitást. Az első előrejelzés az y(t) idősor /«-edik elemére készült, ahol m = max. (k, p, r, s^-f-1. Ennek alapján az x(0) vektort a következőképpen vettük fel: az első p helyre az y(t) idősor y(m)-et megelőző p darab eleme került. A következő r elem az u(t) idősor hasonló módon kiválasztott r eleme. Az utolsó s db helyre, melv az m-edik időpont előtti előrejelzési hibákat tartalmazza, triviális, hogy zérus elemek kerültek, mivel az előrejelzett értékek helyett a vektorba valóságos, mért adatokat írtunk. A kezdő értékek birtokában az első előrejelzés elvégezhető, és utána már sorra a többi is. Az önbeálló algoritmus gyorsan beállítja a paramétereit, amint ez a 3. ábrán is látható. Ez az ábra az 1-lépéses előrejelző paramétereinek változását mutatja. A 2-napos előrejelző néhány paraméterének alakulása a 4. ábrán látható. Mindkét ábra a rekurzió első 100 lépését mutatja. Jól látszik, hogy a paraméterek 30—40 lépés után nagyjából állandósult értékekre állnak be, és a továbbiakban alig