Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. 1 Parameterestimering med LS og RLS 2

Like dokumenter
MIK-130 Systemidentifikasjon Løsningsforslag eksamen 28 mai 2004

Dato: fredag 14 desember 2007 Lengde på eksamen: 4 timer Tillatte hjelpemidler: ingen. 1 Diskret tilstandsrommodell 2. 2 Stående pendel 4

Løsningsforslag Eksamen i MIK130, Systemidentikasjon (10 sp)

Løsningsforslag Eksamen i MIK130, Systemidentifikasjon (10 sp)

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. med Kalman-filter og RLS.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Adaptiv filtrering 2.

Dato: Tirsdag 28. november 2006 Lengde på eksamen: 4 timer Tillatte hjelpemidler: Kun standard enkel kalkulator, HP 30S

Generell informasjon om faget er tilgjengelig fra It s learning. 1 En kort oppsummering Adaptiv filtrering 2. 3 Prediksjon 4

Eksamen i MIK130, Systemidentifikasjon

DET TEKNISK - NATURVITENSKAPELIGE FAKULTET Institutt for data- og elektroteknikk. Løsningsforslag Eksamen i MIK130, Systemidentifikasjon (10 sp)

Eksamen i MIK130, Systemidentifikasjon (10 sp)

Eksamen i MIK130, Systemidentifikasjon

Eksamen i ELE620, Systemidentikasjon (10 sp)

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Øving med systemidentifikasjon.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. 1 Stokastiske system og prosesser 2

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

Eksamen i MIK130, Systemidentifikasjon (10 sp)

Eksamen i MIK130, Systemidentifikasjon

Eksamen i ELE620, Systemidentifikasjon (10 sp)

Eksamen i MIK130, Systemidentikasjon (10 sp)

Eksamen i MIK130, Systemidentifikasjon (10 sp)

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

4.1 Diskretisering av masse-fjær-demper-system. K f m. x m u m y = x 1. x m 1 K d. Dette kan skrives på matriseform som i oppgaven med 0 1 A =

6 Modellering av smelteovn Modellering Tilstandsromform Diskretisering Observerbarthet Tidssteg...

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning.

2 Utledning av Kalman-filter Forventningsrett estimator Kovariansmatriser Minimum varians estimator... 9

Eksamen i MIK130, Systemidentifikasjon

Tilstandsestimering Oppgaver

Eksamen i ELE620, Systemidentikasjon (10 sp)

Eksamen i ELE620, Systemidentikasjon (10 sp)

Vær OBS på at svarene på mange av oppgavene kan skrives på flere ulike måter!

Generell informasjon om faget er tilgjengelig fra It s learning. 7.1 Stokastisk prosess Lineær prediktor AR-3 prosess...

Tilstandsestimering Oppgaver

Generell informasjon om faget er tilgjengelig fra It s learning.

Kalmanfilter på svingende pendel

TTK4180 Stokastiske og adaptive systemer. Datamaskinøving 2 - Parameterestimering

MA1201/MA6201 Høsten 2016

Matematisk statistikk og stokastiske prosesser B, høsten 2006 Løsninger til oppgavesett 5, s. 1. Oppgave 1

Eksamen i ELE620, Systemidentikasjon (10 sp)

7 Tilstandsestimering for smelteovn.

Eksamen i ELE620, Systemidentikasjon (10 sp)

Litt generelt om systemidentifikasjon.

Litt generelt om systemidentifikasjon.

6.4 Gram-Schmidt prosessen

TMA4110 Eksamen høsten 2018 EKSEMPEL 1 Løsning Side 1 av 8. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer: x 1 7x 4 = 0

TMA4240 Statistikk H2010

Utfordring. TMA4240 Statistikk H2010. Mette Langaas. Foreleses uke 40, 2010

c;'1 høgskolen i oslo

SLUTTPRØVE (Teller 60% av sluttkarakteren)

Ridge regresjon og lasso notat til STK2120

ÅMA110 Sannsynlighetsregning med statistikk, våren

Løsningsforslag til andre sett med obligatoriske oppgaver i STK1110 høsten 2010

Løsninger for eksamen i MAT Lineær algebra og M102 - Lineær algebra, fredag 28. mai 2004, Oppgave 1. M s = = 1 2 (cofm 2) T.

Tilleggsoppgaver for STK1110 Høst 2015

TMA4245 Statistikk Eksamen desember 2016

UNIVERSITET I BERGEN

Matematisk statistikk og stokastiske prosesser B, høsten 2006 Oppgavesett 5, s. 1. Oppgave 1. Oppgave 2. Oppgave 3

Eksamensoppgave i TMA4240 Statistikk

TMA4110 Matematikk 3 Eksamen høsten 2018 Løsning Side 1 av 9. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer:

Systemidentifikasjon Oppgaver

Bootstrapping og simulering Tilleggslitteratur for STK1100

Diagonalisering. Kapittel 10

Eksamensoppgave i TMA4115 Matematikk 3

DESIGN AV KALMANFILTER. Oddvar Hallingstad UniK

Matriser. Kapittel 4. Definisjoner og notasjon

år i alder x i tid y i i=1 (x i x) 2 = 60, 9

Systemidentifikasjon

Egenverdier og egenvektorer

TMA4240 Statistikk Høst 2016

4 Matriser TMA4110 høsten 2018

LØSNINGSFORSLAG TIL EKSAMEN I FAG TMA4240 STATISTIKK Mandag 12. desember 2011

TMA4240 Statistikk Høst 2009

TMA4240 Statistikk Eksamen desember 2015

MAT-1004 Vårsemester 2017 Prøveeksamen

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. systemidentifikasjon fra sprangrespons.

Gruvedrift. Institutt for matematiske fag, NTNU. Notat for TMA4240/TMA4245 Statistikk

Til enhver m n matrise A kan vi knytte et tall, rangen til A, som gir viktig informasjon.

Side av 5 fra matriseteori har vi at en symmetrisk matrise alltid er ortogonalt diagonaliserbar. Det vil si at X kan skrives på formen X = M M (6) der

Løsningsforslag MAT 120B, høsten 2001

12 Projeksjon TMA4110 høsten 2018

Kapittel 6 - modell seleksjon og regularisering

Løsningsforslag øving 7

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

Punktestimator. STK Bootstrapping og simulering - Kap 7 og eget notat. Bootstrapping - eksempel Hovedide: Siden λ er ukjent, bruk ˆλ:

MAT 1110: Bruk av redusert trappeform

Lineærtransformasjoner

TMA4215 Numerisk matematikk

MA1201/MA6201 Høsten 2016

Eksamensoppgave MAT juni 2010 (med løsningsforslag)

Prøveeksamen STK2100 (fasit) - vår 2018

EKSAMEN I TMA4285 TIDSREKKEMODELLER Fredag 7. desember 2012 Tid: 09:00 13:00

Bioberegninger - notat 4: Mer om sannsynlighetsmaksimering

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

5.8 Iterative estimater på egenverdier

Lineær algebra-oppsummering

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

Generell informasjon om faget er tilgjengelig fra It s learning.

TMA4240 Statistikk H2010

Transkript:

Stavanger, 3 november 2016 Det teknisknaturvitenskapelige fakultet ELE620 Systemidentifikasjon, 2016 Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning Innhold 1 Parameterestimering med LS og RLS 2 2 Minste kvadraters metode 2 21 Eksempel, LS-estimering av kvadratisk kurve 4 22 Eksempel, estimering av sinuskurve 5 23 Egenskaper for LS-estimatet 7 24 LS-metoden med flere innganger og utganger 9 25 Bruk av LS-metoden 9 26 Konstant og farget støy, ARMAX modellen 10 3 Rekursiv parameterestimering med RLS 12 31 Utledning av RLS 13 32 Oppsummering RLS algoritme 15 33 RLS algoritme med glemmefaktor 16 34 Oppsummering RLS med glemmefaktor 18 35 Sammenligning av RLS og Kalman-filter 19 4 Matrix Inversion Lemma 22 Karl Skretting, Institutt for data- og elektroteknikk (IDE), Universitetet i Stavanger (UiS), 4036 Stavanger Sentralbord 51 83 10 00 Direkte 51 83 20 16 E-post: karlskretting@uisno

1 Parameterestimering med LS og RLS For parameterestimering er det tre metoder som ofte brukes og som en bør vite en del om LS egner seg best for offline parameterestimering, mens RLS og Kalman-filter tar fortløpende parameterestimering LS-metoden dekkes i de første delene av dette notatet Del 3 er om rekursiv parameterestimering med RLS, inkludert en sammenligning med Kalman-filter 2 Minste kvadraters metode Minste kvadraters metode er Least Squares på engelsk og forkortes til LSmethod Notasjon er nå noe annerledes enn for tilstandsestimering Vi har her et generelt system som vist i figur 1 Inngang, x(k) System, θ Utgang, y(k) Figur 1: Enkel skisse av system for parameterestimering Vi antar at parametrene som skal estimeres, θ, er faste Inngang og utgang kan være vektorer, og det er også ofte parametrene θ Ut fra kjennskap til systemet har en gitt en eller flere funksjoner som gir sammenheng mellom inngang x og utgang (måling) y y = θ 1 f 1 (x) + θ 2 f 2 (x) + + θ n f n (x) (21) der θ i er de ukjente parametrene en ønsker å estimere Funksjonen y må være lineær i θ men trenger ikke være lineær i x Noen eksempel: y(k) = θ 1 + θ 2 x(k) + θ 3 x 2 (k) y(k) = θ 1 x θ 2 (k) ln(y(k)) = ln(θ 1 ) + θ 2 ln(x(k)) y(k) = θ 1 + θ 2 sin(01x(k) + θ 3 ) y(k) = θ 1 + θ 2 sin(01x(k)) + θ 3 cos(01x(k)) (e1) (e2) (e3) (e4) (e5) For hvilke eksempel er funksjonene lineære i θ? Hva er funksjonene f i i de ulike eksempelligningene her? 2

Funksjonene f i i ligning (21) antas kjent og disse kan samles i en regresjonsvektor ϕ Parametrene samles også i en vektor θ f 1 (x) θ 1 f 2 (x) θ 2 ϕ = f n (x), θ = θ n (22) og ligning 21 kan da skrives y = ϕ T θ (23) Med N observasjoner (N > n) og tilhørende data x og y får en N slike ligninger som ligning 23 Det er et overbestemt lineært ligningssystem med n ukjente og N ligninger og kan skrives som Y = Φθ, (N 1, N n, n 1) (24) der Y = y(1) y(2) y(n), og Φ = ϕ T (1) ϕ T (2) ϕ T (N) (25) Minste kvadrater løsningen er løsningen ˆθ med Ŷ = Φˆθ slik at Y Ŷ 2 minimeres, der en har Y Ŷ 2 = N (y(k) ŷ(k)) 2 k=1 Fra matematikken har en at minste-kvadraters-løsningen på ligningssystemet 24 er ˆθ = (Φ T Φ) 1 Φ T Y (26) Matrisa (Φ T Φ) 1 Φ T er den pseudoinverse av matrisa Φ 3

21 Eksempel, LS-estimering av kvadratisk kurve En har 6 punkt gitt med 2D koordinater (x,y) (markert med * i figur 2): (1,4), (2,1), (3,1), (4,1), (5,2) og (6,5) En ønsker å finne det andregradspolynomet som passer best med disse punkta Modellen er da y = ax 2 + bx + c (211) der a, b og c er ukjente parametre Eller om en vil kan en her skrive dette som y(k) = θ 1 x 2 (k) + θ 2 x(k) + θ 3, for k = 1, 2,, 6 (212) Vider har en og En har også og Φ = ϕ(k) = θ = f 1 (x) f 2 (x) f 3 (x) Y = θ 1 θ 2 θ 3 y(1) y(2) y(3) y(4) y(5) y(6) x 2 (1) x(1) 1 x 2 (2) x(2) 1 x 2 (3) x(3) 1 x 2 (4) x(4) 1 x 2 (5) x(5) 1 x 2 (6) x(6) 1 = = a b c = = x 2 (k) x(k) 1 4 1 1 1 2 5 (213) (214) 1 1 1 4 2 1 9 3 1 16 4 1 25 5 1 36 6 1 (215) (216) Løsningen er som i ligning 26, altså ˆθ = (Φ T Φ) 1 Φ T Y, her får vi Løsningen er plottet i figur 2 ˆθ = â ˆb ĉ 06 40 72 (217) 4

9 Rød stjerne er: 6 punkt (x(k),y(k)) Blå kurve er: y = 060714 x 2 40214 x + 72 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 Total sum av kvadrert feil er 065714 Figur 2: LS-estimat for kvadratisk kurve tilpasset 6 punkt 22 Eksempel, estimering av sinuskurve La oss ta de 6 punkta en har i forrige eksempel og legge til tre ekstra punkt, gitt med 2D koordinater (7,6), (8,6) og (9,3), (markert som * i figur 4) Ser en på punkta nå så blir det gjerne like naturlig å prøve å tilpasse de til ei sinuskurve, y(k) = a sin(ωx(k) + φ) + b (218) Her har en fire ukjente parametre, amplituden a, offset b, frekvens ω i radianer per sekund, og faseforskyvning φ i radianer En antar da at x(k) er ulike tidspunkt og at y(k) er utslaget (amplitude) en har målt akkurat da Det er da ikke mulig å ta noe LS-estimat slik som over siden dette er ikke lineære funksjoner for frekvens ω eller fase φ Men fasen kan gjøres lineær ved å erstatte sinus med en sum av sinus og kosinus Frekvensen kan en derimot ikke gjøre noe med Likevel kan en bruke LS-metoden når en er offline og kan ta mange beregninger med et egnet verktøy, for eksempel Matlab En annen mulighet i slike tilfeller er gjerne å finne en ARMAX modell for et system som gir y(k) ut når x(k) er inngangssignalet Da har en underforstått tolket inn en tidsakse der k-ene representerer fortløpende sampletider For generell estimering av frekvenskomponenter i et system så er det mange metoder og varianter av disse tilgjengelig, ofte basert på egenverdier for kovariansmatrisen til signalet Dette kalles spektralestimering og er et eget fag som vi ikke går inn på her 5

40 Sum av kvadrert feil for ulike ω 35 30 25 20 15 10 5 0 0 1 2 3 4 5 6 7 8 ω i ligning y = a sin(ω x + φ) + b Figur 3: Prøver ulike frekvenser ω og LS-estimat for å tilpasse 9 punkt til ei sinuskurve Sett at vi likevel insisterer på en tilnærmelse som i ligning 218 og vil ha de parametrene som minimerer sum av kvadratiske feil Kan en finne den på en tilsvarende måte som med LS-metoden? Problemet er frekvensen ω Hvis ω er fast kan nemlig fasen tas ut slik at en får en representasjon som er lineær i de frie paramtrene y(k) = a s sin(ωx(k)) + a c cos(ωx(k)) + b (219) Denne ligningen kan løses med LS-metoden, og en finner de frie parametrene: a s, a c og b En kan så finne a og φ i ligning 218 ut fra a 2 = a 2 s + a 2 c og tan φ = a c /a s, i Matlab phi = atan2(ac,as); Det kan synes merkelig (at en har cosinus=y over sinus=x), men det er faktisk riktig En enkel test i Matlab vil vise det: as=2; ac=4; a=sqrt(as*as+ac*ac); w=011; n=1:100; phi=atan2(ac,as); phi2=atan(ac/as); disp(norm(phi-phi2)); y=as*sin(w*n)+ac*cos(w*n); y2=a*sin(w*n+phi); disp(norm(y-y2)); Her løser vi dette med en rett-fram-metode, eller prøve-og-se-metoden Vi tester for ulike ω, her mellom 0 og 8, finner sum av kvadrert feil for hvert tilfelle etter LS-metoden Resultatene plottes så i en figur, og vi ser hvilken (hvilke) verdier av ω som gir best resultat, figur 3 Som løsning velges oftest den laveste frekvensen av de som som gir laveste verdi for sum av kvadrerte feil Vi ser her at frekvensen ω = 08 passer bra, og med den verdien for ω så finner en de andre med LS-metoden Resultatet viser i figur 4 En må være obs på at noen valg av ω kan være uheldige på den måten at de gir for lav rang for matrisa Φ, her er for eksempel ω = 0 gir første kolonne bare nullere En kan også få svært store koeffisienter hvis punkt passer bedre til ei rett linje eller ei kvadratisk kurve 6

7 Rød stjerne er: 9 punkt (x(k),y(k)) Blå kurve er: y = 29092 sin( 08 x + 21064 ) + 31576 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 Total sum av kvadrert feil er 19002 Figur 4: Her med frekvens ω = 08 og LS-estimat for å tilpasse 9 punkt til ei sinuskurve 23 Egenskaper for LS-estimatet Vi har at LS-estimatet er gitt som i ligning 26 ˆθ = (Φ T Φ) 1 Φ T Y (220) Vi har da at y-ene beregnet ut fra modellen er Ŷ = Φˆθ = Φ(Φ T Φ) 1 Φ T Y (221) Matrisa M = Φ(Φ T Φ) 1 Φ T er ei projeksjonsmatrise 1, den har egenskapen at den projekserer en vektor ned på kolonnerommet som utspennes av kolonnene i Φ En har at om ei projeksjonsmatrise brukes flere ganger på samme vektor så blir det akkurat som om den brukes bare en gang, altså M 2 = M og dermed M k = M, dette er ganske enkelt å vise En har også at M er symmetrisk, altså M T = M Feilen for hver k er e(k) = y(k) ŷ(k) og disse kan samles i en vektor E = Y Ŷ = Y Φ(ΦT Φ) 1 Φ T Y = ( I Φ(Φ T Φ) 1 Φ T ) Y (222) Matrisa M = I M = I Φ(Φ T Φ) 1 Φ T er også ei projeksjonsmatrise, denne projekserer ned på rommet ortogonalt til kolonnerommet som utspennes av 1 Ofte brukes symbolet P for ei projeksjonsmatrise, men for utledning av RLS er matrisa P = (Φ T Φ) 1 og det passer å holde på den notasjonen her 7

kolonnene i Φ For en vilkårlig vektor Y vil en altså ha Y = Ŷ + E = M Y + M Y (223) der vektorene MY og M Y er ortogonale på hverandre, feilen er altså ortogonal på tilnærmingen (representasjonen) Uttrykket en minimerer med LSmetoden er E T E, altså sum av kvadrerte feil En kan vise at E T E = k e 2 (k) = k e(k)y(k) = E T Y (224) Hvis en antar at modellen er riktig, det vil si at signalet faktisk er laget ut fra modellen og at målingene er forstyrret av hvit støy, altså y(k) = ϕ T (k)θ 0 + w(k), (225) der θ 0 er de sanne parametrene og w(k) er hvit støy Merk at med riktig modell tilsvarer den stokastiske støyen w(k) den deterministiske feilen e(k) = y(k) ϕ T (k)ˆθ En har da følgende LS-estimatet er da forventningsrett og konsistent Det vil si at E[ˆθ] = θ 0 og lim N ˆθ = θ0 Hvis w(k) har varians σ 2 så får en at estimat for (Ko)varians for LSestimatet blir Var(ˆθ) = σ 2 (Φ T Φ) 1 = σ 2 P (226) Merk at (Φ T Φ) øker etter hvert som N øker, og dermed avtar den inverse Estimatet for støyens (w(k)) varians er ˆσ 2 = 1 N n N e 2 (k), (227) k=1 der n er antall parametre, N > n er antall ligninger Hvis w(k) i modellen, ligning 225, er farget støy så vil LS-estimatet gi bias Alternative, justerte, metoder bør da heller brukes Noen øvingsoppgaver: 1 Vis at M k = M, for k = 2, 3,, der M = Φ(Φ T Φ) 1 Φ T 2 Gitt at M = I M, vis at (M ) k = (M ), for k = 2, 3, 3 Vis at vektorene MY og M Y er ortogonale på hverandre for alle vektorer Y 4 Vis at k e2 (k) = k e(k)y(k), der e(k) er feilen for ligning k når en bruker LS-estimatet, e(k) = y(k) ϕ(k)ˆθ 8

24 LS-metoden med flere innganger og utganger Minste kvadraters metode, LS-estimering, kan brukes når problemet kan skrives som i ligning 21, eller mer kompakt som i ligning 23 En kan ha flere innganger til systemet, altså er x(k) en vektor med et element for hver inngang, det endrer ingenting i forhold til LS-metoden Hva så hvis det er flere utganger? I så fall deles problemet opp i flere deler, for hvert tidsteg, hver k, så får en like mange ligninger som det er utganger for systemet For eksempel hvis det er to utganger, y 1 (k) og y 2 (k), da er ligning (23) egentlig 2 ligninger, y 1 = ϕ T 1 θ og y 2 = ϕ T 2 θ Systemet Y = Φθ blir da y 1 (1) y 2 (1) y 1 (2) y 2 (2) y 2 (N) = ϕ T 1 (1) ϕ T 2 (1) ϕ T 1 (2) ϕ T 2 (2) ϕ T 2 (N) θ 1 θ 2 θ n (228) En har altså et system med 2N ligninger og n ukjente Ellers er også dette som før 25 Bruk av LS-metoden En kan bruke LS-metoden for å finne koeffisientene i en diskret transferfunksjon En kan gå via differensligningen til regresjonsformen og så bruke LSmetoden som vanlig Dette er likevel ikke helt problemfritt for autoregressive system eller ved filtrering av feil siden en da har ukjente på inngangene, i ϕ-funksjonen, (22), i ligning (23) Kalman-filter er da gjerne å foretrekke En kan estimere parametrene i en kontinuerlig modell, i s-transferfunksjonen, ved å først estimere parametrene i en diskret modell og så å regne ut hva parametrene i den kontinuerlige modellen da blir Her må en være klar over følgende Diskret modell er ikke korrekt, men en tilnærmelse til det kontinuerlige systemet Parametrene i diskret modell er LS-estimert, transform til kontinuerlige parametre er ikke nødvendigvis LS-løsningen for kontinuerlig system Variansen, usikkerheten, for de kontinuerlige parametrene kan bli (svært) mye større enn variansen for de diskrete parametrene 9

Generelt kan en også bruke LS-metoden for estimering av paramtre i ulineære modeller, men en må også her være oppmerksom på eventuelle unøyaktigheter som oppstår ved diskretisering av systemet Forbehandling av data er ofte både nyttig og nødvendig Vanlige operasjoner er å trekke fra middelverdi og lavpassfiltrering for å fjerne høyfrekvent støy Det er et krav om tilstrekkelig eksitasjon av systemet, i diskrete system er hvit Gaussisk støy ofte å foretrekke, i kontinuerlige system er ofte PRB-signal (Pseudo Random Binary) gode Kravet om tilstrekkelig eksitasjon kan gjøre det vanskelig å foreta parameterestimering av et system i normal drift, spesielt hvis det er godt regulert Riktig struktur av modellen, hensiktsmessig modell, er vesentlig for å få relevante parametre ut Det er ofte best, for eksempel for et filter, å ha relativt få frie parametre å estimere En prøver gjerne flere modeller, og velger den som etter noen kriterier gir totalt sett best resultat Det en ønsker kan være Tapsfunksjonen V (θ) = E T E ønskes liten, en ønsker ofte også at tap skal ha egenskaper som hvit støy, og en ønsker en modell med få parametre og gjerne en struktur som passer med det en vet om tilhørende fysisk system Final prediction error (FPE) kan brukes for å finne passende modell, den er FPE = 1 + n N 1 n V (ˆθ) (229) N 26 Konstant og farget støy, ARMAX modellen Utgangspunkt nå er regresjonsmodellen y(k) = ϕ T (k)θ + w(k) (230) Støyen w(k) er ikke lenger hvit støy En kan ha flere tilfeller 1 w(k), eller E[w(k)], er kjent og w(k) E[w(k)] er hvit støy En flytter da E[w(k)] over til venstre side av ligning 230 og har da at det kan løses på vanlig måte, LS, RLS eller Kalman-filter 2 w(k), eller E[w(k)], er ukjent men antas å være konstant (uavhengig eller langsomt varierende med k) Løsningen er da å inkludere E[w(k)] som en ekstra parameter som estimeres 3 w(k) er stokastisk farget støy Løsningen er da parameterestimering i en generell ARMAX-modell 10

En generell ARMAX-modell er Ay(z) = Bu(z) + Ce(z) (231) der e er hvit (Gaussisk) støy A, B og C er polynom i z (eller z 1 ), og der parametrene, koeffisientene, skal estimeres De ulike ledd er Ay(z) er AR-leddet, autoregressive, selvdrevet Bu(z) er X-leddet, exogenous, som skyldes ytre forhold, altså pådrag Ce(z) er MA-leddet, moving average, en veid sum av de siste støyelementene Varianter av ARMAX-modell er AR-modell, C = 1 og B = 0 ARMA-modell, B = 0 ARX-modell, C = 1, B 0 ARMAX-modeller kan løses på nesten som på vanlig måte med RLS eller Kalman-filter Dette vises med et eksempel y(k) = ay(k 1) + bu(k 1) + ce(k 1) + e(k) (232) y(k) = [ y(k 1) u(k 1) e(k 1) ] a b + e(k) (233) c y(k) = ϕ T (k)θ + e(k) (234) Problemet her er at e(k 1) ikke er kjent Den kan imidlertid estimeres når en bruker rekursive metoder, RLS eller Kalman-filter e(k 1) = y(k 1) ϕ T (k 1)ˆθ(k 1) (235) Legg merke at denne ikke er helt som ligning 375 siden en der for feilen i steg k bruker parameterestimatet for forrige tidssteg k 1 Ligning 235 kan da puttes inn like foran ligning 373 og brukes når en så finner ϕ = ϕ(k), eller D Generell ARMAX-modell, med lengre C-polynom, krever gjerne mer avanserte (utvidede) metoder for å få tilstrekkelig gode resultat Vi går ikke inn på disse her To Matlab-filer med eksempler fra Haugens blå lærebok viser litt om hvordan parameterestimering kan gjøres med Matlab Det er eks10p8m og eks10p9m Det nyttigste er nok likevel å lese og forstå den omfattende Matlab dokumentasjonen som finnes, spesielt hjelpteksten til de relevante funksjoner, funksjonene brukt i m-filene over og de som det er referert til i kompendiet 11

3 Rekursiv parameterestimering med RLS Hovedvekt i dette kapittelet er på utledningen av Recursive Least Squares metoden, RLS Det er også med en sammenligning med Kalman-filter Vi starter med å se på Recursive Least Squares (RLS), en mye brukt variant som er spesielt godt egnet i sanntid Modellen brukt for LS er som i ligning (23) eller (225) y(k) = ϕ T (k)θ + e(k), (31) der k = 1, 2, Målet med parameterestimering er å finne parametrene θ, eller et estimat av parametrene ˆθ, som gjør modellen mest mulig riktig Feilmålet er sum av kvadrert feil, altså k e2 (k) Datavektoren ϕ(k) er et sett med n funksjoner, der argumentene i hver funksjon er tidligere målinger (utgangssignalet) y(k 1), y(k 2),, og inngangssignalet (eller inngangssignalene) nå eller tidligere u(k), u(k 1), Datavektoren kan alternativt skrives som ϕ T (k) = [f 1 (k), f 2 (k),, f n (k)] (32) Oftest er funksjonene enkle, men de trenger ikke være lineære, et enkelt eksempel kan være: ϕ T (k) = [ y(k 1) y(k 2) u(k) u 2 (k)] med n = 4 som er antall parametre som skal estimeres Det er nødvendig at y(k) er linær med hensyn på parametrene For å kunne estimere parametrene θ må en ha n eller flere ligninger Har en målinger (ligninger) fra y(1) til y(k) danner en en målingsvektor Y (k) og feilvektor E(k) og ei datamatrise Y (k) = y(1) y(2) y(k), E(k) = Φ(k) = ϕ T (1) ϕ T (2) ϕ T (k) e(1) e(2) e(k) (33) (34) Dimensjonen for Y (k) og E(k) er k 1 og dimensjonen for Φ(k) er k n Ligningssystemet kan nå skrives som Y (k) = Φ(k)θ + E(k) (35) og da kan (når k n) LS-estimatet (som minimerer sum av kvadrerte feil) for parametrene finnes med ˆθ(k) = [Φ T (k)φ(k)] 1 Φ T (k)y (k) (36) 12

31 Utledning av RLS Sett at vi har et estimat for steg (k 1), ˆθ(k 1) Kan en bruke dette når en beregner estimat for steg k? Som vi nå skal se kan en det Vi definerer nå P (k) = [Φ T (k)φ(k)] 1 (37) Merk at dette ikke må forveksles med utledningen av Kalman-filter, der er Φ transisjonsmatrisen og vi har der P (k) og ˆP (k) som estimat av kovarians til estimeringsavvikene x(k) x(k) og x(k) ˆx(k) henholdsvis Navnelikheten er likevel ikke helt tilfeldig, men la oss holde fast på definisjonen her og ut fra den får vi k P 1 (k) = Φ T (k)φ(k) = ϕ(i)ϕ T (i) (38) i=1 = [ϕ(1),, ϕ(k 1), ϕ(k)] [ Φ(k 1) = [Φ T (k 1), ϕ(k)] ϕ T (k) ϕ T (1) ϕ T (k 1) ϕ T (k) ] (39) (310) = Φ T (k 1)Φ(k 1) + ϕ(k)ϕ T (k) (311) = P 1 (k 1) + ϕ(k)ϕ T (k) (312) Videre definerer vi og får B(k) = Φ T (k)y (k) (313) B(k) = Φ T (k)y (k) (314) y(1) = [ϕ(1),, ϕ(k 1), ϕ(k)] (315) y(k 1) y(k) [ ] Y (k 1) = [Φ T (k 1), ϕ(k)] (316) y(k) = Φ T (k 1)Y (k 1) + ϕ(k)y(k) (317) = B(k 1) + ϕ(k)y(k) (318) Med å bruke Matrix Inversion Lemma (413) på (312), der en setter A = P 1 (k 1) og v = ϕ(k) får vi P (k) = P (k 1) P (k 1) ϕ(k) ϕt (k) P (k 1) ϕ T (k) P (k 1) ϕ(k) + 1 (319) 13

som også kan skrives P (k) = P (k 1) ( I ϕ(k) ϕt (k) P (k 1) ) ϕ T (k) P (k 1) ϕ(k) + 1 (320) Legg merke til at det som står under brøkstreken er en skalar slik at en ikke har noen matriseinvertering i disse ligningene i det hele (Unntatt for den matriseinverteringen en må gjøre første gang, det vil si når en har fått n ligninger) Nå har en ut fra definisjonene (37) og (314) at løsningen (36) kan skrives som ˆθ(k) = P (k) B(k) (321) og dette sammen med rekursjonsformlene (318) og (320) kan brukes direkte til å gi en rekursiv algoritme, der en for hvert nytt datasett y(k) og ϕ(k) kan finne neste estimat Imidlertid er det vanlig å foredle algoritmen noe mer La oss definere P (k 1) ϕ(k) K(k) = ϕ T (k) P (k 1) ϕ(k) + 1 (322) Heller ikke her er navnelikheten men Kalman-forsterkningsfaktoren helt tilfeldig Ved å snu litt på denne definisjonen får vi K(k)[ϕ T (k) P (k 1) ϕ(k) + 1] = P (k 1) ϕ(k) K(k) + K(k) ϕ T (k) P (k 1) ϕ(k) = P (k 1) ϕ(k) K(k) ϕ T (k) P (k 1) ϕ(k) = P (k 1) ϕ(k) K(k) (323) Med K(k) som i (322) kan da ligning (319) skrives P (k) = P (k 1) K(k) ϕ T (k) P (k 1) (324) Vi mulitipliserer begge sider på høyre side med ϕ(k) og får P (k)ϕ(k) = P (k 1)ϕ(k) K(k)ϕ T (k)p (k 1)ϕ(k) (325) og når vi videre setter inn (323) for leddet helt til høyre får vi P (k)ϕ(k) = K(k) (326) Ligning (318) innsatt i (321) gir ˆθ(k) = P (k)b(k) = P (k)b(k 1) + P (k)ϕ(k)y(k) (327) og videre setter vi inn ligning (326) og får ˆθ(k) = P (k)b(k) = P (k)b(k 1) + K(k)y(k) (328) 14

og videre setter vi inn ligning (324) og får ˆθ(k) = [P (k 1) K(k)ϕ T (k)p (k 1)]B(k 1) + K(k)y(k) = P (k 1)B(k 1) K(k)ϕ T (k)p (k 1)B(k 1) + K(k)y(k) = P (k 1)B(k 1) + K(k)[y(k) ϕ T (k)p (k 1)B(k 1)] = ˆθ(k 1) + K(k)[y(k) ϕ T (k)ˆθ(k 1)] (329) Nå observerer vi at uttrykket inni hakene er estimeringsfeilen ɛ(k) = y(k) ϕ T (k)ˆθ(k 1), (330) og dermed får en at nytt estimat kan skrives som ˆθ(k) = ˆθ(k 1) + K(k)ɛ(k) (331) 32 Oppsummering RLS algoritme 1 Ved tidssteg k har en P (k 1) og ˆθ(k 1) fra forrige tidssteg (eller initielle verdier for disse) En får nå ny måling y(k) og grunnlag for å danne ny datavektor ϕ(k) 2 Beregner K(k) med (322) K(k) = P (k 1) ϕ(k) ϕ T (k) P (k 1) ϕ(k) + 1 (332) 3 Beregner estimeringsfeilen ɛ(k) med (330) ɛ(k) = y(k) ϕ T (k)ˆθ(k 1), (333) 4 Oppdaterer parameterestimatet ˆθ(k) med (331) ˆθ(k) = ˆθ(k 1) + K(k)ɛ(k) (334) 5 Oppdaterer P (k) med (324) P (k) = P (k 1) K(k)ϕ T (k)p (k 1) (335) P (k) = [I K(k)ϕ T (k)]p (k 1) (336) 6 Øker k og går til punkt 1 15

33 RLS algoritme med glemmefaktor Ligningssystemet (35) består av k ligninger som alle har lik vekt Ofte ønsker en å vektlegge de siste (nyeste) ligningene mer enn de eldre ligningene Dette er hensiktsmessig i flere sammenhenger, spesielt hvis parametrene kan endre seg over tid, eller hvis det er usikkerhet til de initielle estimatene (av P (k 1) og ˆθ(k 1)) En vanlig måte å gjøre dette på er å gi kvadrert feil for hver av de k ligningene en vekt, denne vekta er for kvadrert feil i ligning i, λ k i, der λ < 1 og der i = 1, 2,, k På denne måten får kvadrert feil i siste ligning vekt 1, kvadrert feil i nest siste ligning får vekt λ, og kvadrert feil i ligningen før den igjen får vekt λ 2, og så videre til kvadrert feil i første ligning som får vekt λ k 1 (som for store k gjerne blir nær null) Typiske verdier for λ er 095 < λ < 099 Når kvadrert feil skaleres med λ så skalers feilen, og dermed også målingen y, med λ Denne skaleringen kan en få med å definere ei diagonal matrise og nå blir ligningssystemet (35) Λ 2 (k) = diag(λ k 1, λ k 2,, λ 2, λ, 1) (337) og da kan LS-estimatet av parametrene finnes med Λ(k)Y (k) = Λ(k)Φ(k)θ (338) ˆθ(k) = [Φ T (k)λ 2 (k)φ(k)] 1 Φ T (k)λ 2 (k)y (k) (339) Videre følger utledningene de samme steg som før, en kan legge merke til følgende og P 1 (k) = Φ T (k)λ 2 (k)φ(k) (340) λ k 1 ϕ T (1) = [ϕ(1),, ϕ(k 1), ϕ(k)] (341) λϕ T (k 1) ϕ T (k) [ ] λλ = [Φ T (k 1), ϕ(k)] 2 (k 1)Φ(k 1) ϕ T (342) (k) = λφ T (k 1)Λ 2 (k 1)Φ(k 1) + ϕ(k)ϕ T (k) (343) = λp 1 (k 1) + ϕ(k)ϕ T (k) (344) B(k) = Φ T (k)λ 2 (k)y (k) (345) λ k 1 y(1) = [ϕ(1),, ϕ(k 1), ϕ(k)] (346) λy(k 1) y(k) 16

[ λλ B(k) = [Φ T (k 1), ϕ(k)] 2 (k 1)Y (k 1) y(k) ] (347) = λφ T (k 1)Λ 2 (k 1)Y (k 1) + ϕ(k)y(k) (348) = λb(k 1) + ϕ(k)y(k) (349) Når en nå bruker Matrix Inversion Lemma (413) på (344), der en setter A = λp 1 (k 1) og dermed A 1 = λ 1 P (k 1), og som før v = ϕ(k) får vi ( P (k) = λ 1 P (k 1) I ϕ(k) ϕt (k) P (k 1) ) (350) ϕ T (k) P (k 1) ϕ(k) + λ Vi definerer nå P (k 1) ϕ(k) K(k) = ϕ T (k) P (k 1) ϕ(k) + λ og ved å snu litt på denne får vi K(k)[ϕ T (k) P (k 1) ϕ(k) + λ] = P (k 1) ϕ(k) λk(k) + K(k) ϕ T (k) P (k 1) ϕ(k) = P (k 1) ϕ(k) (351) K(k) ϕ T (k) P (k 1) ϕ(k) = P (k 1)ϕ(k) λk(k) (352) Med K(k) som i (351) kan da ligning (350) skrives P (k) = λ 1 [P (k 1) K(k)ϕ T (k)p (k 1)] (353) Vi mulitipliserer begge sider på høyre side med ϕ(k) og får P (k)ϕ(k) = λ 1 [P (k 1)ϕ(k) K(k)ϕ T (k)p (k 1)ϕ(k)] (354) og når vi videre setter inn (352) for leddet helt til høyre får vi P (k)ϕ(k) = K(k) (355) Estimatoren er nå ˆθ(k) = P (k)b(k) = P (k)λb(k 1) + P (k)ϕ(k)y(k) (356) og videre setter vi inn ligning (355) og får ˆθ(k) = P (k)λb(k 1) + K(k)y(k) (357) og videre setter vi inn ligning (353) og får ˆθ(k) = λ 1 [P (k 1) K(k)ϕ T (k)p (k 1)]λB(k 1) + K(k)y(k) = P (k 1)B(k 1) K(k)ϕ T (k)p (k 1)B(k 1) + K(k)y(k) = P (k 1)B(k 1) + K(k)[y(k) ϕ T (k)p (k 1)B(k 1)] = ˆθ(k 1) + K(k)[y(k) ϕ T (k)ˆθ(k 1)] (358) Nå observerer vi at uttrykket inni hakene er estimeringsfeilen som før ɛ(k) = y(k) ϕ T (k)ˆθ(k 1), (359) og dermed får en at nytt estimat kan skrives som ˆθ(k) = ˆθ(k 1) + K(k)ɛ(k) (360) 17

34 Oppsummering RLS med glemmefaktor 1 Ved tidssteg k har en P (k 1) og ˆθ(k 1) fra forrige tidssteg (eller initielle verdier for disse) En får nå ny måling y(k) og grunnlag for å danne ny datavektor ϕ(k) 2 Beregner K(k) med (351) K(k) = P (k 1) ϕ(k) ϕ T (k) P (k 1) ϕ(k) + λ (361) 3 Beregner estimeringsfeilen ɛ(k) med (359) ɛ(k) = y(k) ϕ T (k)ˆθ(k 1), (362) 4 Oppdaterer parameterestimatet ˆθ(k) med (360) ˆθ(k) = ˆθ(k 1) + K(k)ɛ(k) (363) og en ønsker eller trenger det kan en nå finne prediksjonsfeilen som e(k) = y(k) ϕ T (k)ˆθ(k), (364) 5 Oppdaterer P (k) med (353) P (k) = [I K(k)ϕ T (k)]λ 1 P (k 1) (365) 6 Øker k og går til punkt 1 Som en ser er det små endringer som gjøres for å få med glemmefaktorene λ Dette er en enkel måte for å kunne følge langsomt varierende parametre Det er en del numeriske farer som gjør at glemmefaktor må brukes med aktsomhet, en kan risikere at kovariansmatrisa P (k) blir svært stor, for eksempel hvis pådrag/inngangssignal er lite over en periode En mulig løsning på dette er å legge til noe støy på kovariansoppdateringa (365) P (k) = [I K(k)ϕ T (k)]λ 1 P (k 1) + R (366) der R typisk er ei diagonal matrise En kan også bruke en R(k) som en prøver å velge slik at trace(p (k)) blir hold rimelig konstant I det hele er det mange muligheter for å gjøre ulike tilpassninger (forbedringer) til RLS algoritmen, men vi skal ikke her følge dette videre Kalmanfilter som vi kjenner fra før, kan nemlig brukes for parameterestimering 18

35 Sammenligning av RLS og Kalman-filter Her gis en noe forenklet og praktisk rettet, med vekt på implementering, sammenligning av de to metoder En mer fullstendig, og teoretisk og geometrisk orientert, sammeligning er gjort i en artikkel, LMS-Kalman, av DP Mandic og S Kanna og AG Constantinides 2015 La oss først se hvordan en kan bruke Kalman-filter for parameterestimering i modellen y(k) = ϕ T (k)θ + e(k) (367) Den må først overføres til ei form som kan brukes av Kalman-filteret, det vil si overføres til tilstandsrommodell x(k + 1) = Φ(k)x(k) + Γ(k)u(k) + Ω(k)v(k) (368) y(k) = D(k)x(k) + w(k) (369) Overgangen til tilstandsrommodell er noen som en bare må vite hvordan en gjør De er de ukjente parametrene, θ, som en ønsker å estimere med ˆθ Parametrene θ i ligning 367 blir da tilstanden x i ligning 368 En har ingen pådrag som påvirker parametrene direkte, men en må tillate litt endring av parametrene fra et tidssteg til neste, altså x(k + 1) = x(k) + v(k) Φ matrisa er altså identitetsmatrisa Når en får tilgjengelig ei ekstra ligning, s tilsvarer dette ei ny måling, en får da y(k) = D(k)x(k) + w(k) med parameterestimeringsvariabler y(k) = φ T (k)ˆθ(k) + w(k) Vi ser da at vi får D(k) = φ T (k) En skal estimere disse for hvert tidssteg, basert på estimat for forrige tidssteg og ny ligning (ny datavektor) Tilstandsrommodell av ligning 367 er da θ(k + 1) = θ(k) + v(k) (370) y(k) = φ T (k)θ(k) + e(k) (371) Støyen e(k) er hvit støy, den samme som w(k) i ligning 369 Legg merke til at en her har et tidsvarierende Kalman-filter, det nytter altså ikke med noe stasjonært Kalman-filter for parameterestimering Viktig for implementering her er størrelsen en velger for matrisene Q og R, tuningsparametrene 1 Forholdet mellom Q og R bestemmer glemmefaktoren, hvor raskt parameterestimatene endres Liten Q er liten varians for parameterstøyen v(k) og brukes når en antar stabile parametere som endres lite fra steg til steg Liten R er når det er lite målestøy og brukes når en vil legge mye vekt på siste måling Det gir raskere endring av parametrene 19

En låser ofte en av disse, helst R, og bruker den andre for tuning av Kalman-filteret 2 Kalman-filter er mer fleksibelt enn RLS Det kan enklere utvides og enklere styres 3 Linearisering av ulineære modeller kan gjøres med Kalman-filter Se gjerne grundig på koden i Matlab-eksempelet i eks10p8m For dette eksempelet kan det være nyttig å sammenligne RLS med Kalman-filter For RLS har en glemmefaktor 09 < λ 1, og for Kalman-filter har en Q som tuningsfaktorer En satte R = 001 og fant også at passende verdier for Q er ei diagonalmatrise med begge elementer lik 00001 De følgende ligninger viser hvor like RLS og Kalman-filter algoritmene egentlig er For hvert tidsteg gjøres en gjennomgang gjennom ligningene nedenfor I ligningene nedenfor har en ϕ = ϕ(k) RLS Kalman-filter λ Q, R (372) [ ] y(k 1) ϕ = D = ϕ T = [ y(k 1), u(k 1)] (373) u(k 1) K = P ϕ ϕ T P ϕ + λ K = P D T DP D T + R (374) ɛ = y(k) ϕ T ˆθ(k 1) ɛ = y(k) Dˆθ(k 1) (375) ˆθ(k) = ˆθ(k 1) + Kɛ ˆθ(k) = ˆθ(k 1) + Kɛ (376) P = (I Kϕ T )P P = (I KD)P (377) P = P/λ P = P + Q (378) I ligning 372 over er det bare listet opp tuningsparametrene for hver av metodene, egentlig start for løkka er ligning 373 Vi ser her at hvis en setter R = λ og Q = 1 λ P rett før Q brukes i ligning 378 så blir Kalman-filter λ akkurat som RLS Kalman-filter er mer fleksibelt, mer generelt, en han ha ulik glemmefaktor for hver av parametrene I praksis kan en si at RLS er et spesialtilfelle av Kalman-filter Kalman-filter med R = 1 og Q = 0 gir RLS uten glemmefaktor, og finner da minste kvadraters løsning av målingene For RLS har en at liten λ gir rask tilpassning av parametrene For Kalman-filter har en at liten R og stor Q gir rask tilpassning av parametrene Det er en viktig forskjell en må ha klart for seg Matrisa P betyr forskjellige ting i RLS og i Kalman-filter I Kalman-filteret er P i ligningene over egentlig 20

både P og ˆP, altså et estimat av kovariansmatrisa for estimeringsavvikene, Cov(θ ˆθ(k)) I RLS er P definert via den inverse i ligning (38) eller med glemmefaktor (340) P 1 (k) = k λ k i ϕ(i)ϕ T (i) = λp 1 (k 1) + ϕ(k)ϕ T (k) (379) i=1 I RLS er ikke P stokastisk men er deterministisk regnet ut basert på de observerte verdiene for hvert tidssteg, ϕ(k) Likevel er det en sammenheng, ut fra ligning 226 ser vi at P (k) i lignig 379 blir et estimat av variansen for parametrene, og dermed også for avviket, når variansen for målestøyen σ 2 = 1, (i Kalman-filteret R = 1) 21

4 Matrix Inversion Lemma Her kommer en utledning av den generelle form av Matrix Inversion Lemma (MIL) Vi har gitt matrisene A n n, B n k, C k k, og D k n Både A og C er invertible matriser Vi har da BCDA 1 B + B = B + BCDA 1 B (41) BCDA 1 B + BCC 1 = AA 1 B + BCDA 1 B (42) BC (DA 1 B + C 1 ) = (A + BCD) A 1 B (43) (A + BCD) 1 BC = A 1 B (DA 1 B + C 1 ) 1 (44) Videre har vi (A + BCD) 1 = (A + BCD) 1 (I + BCDA 1 BCDA 1 ) (45) = (A + BCD) 1 (AA 1 + BCDA 1 BCDA 1 ) (46) = (A + BCD) 1 [(A + BCD)A 1 BCDA 1 ] (47) = (A + BCD) 1 (A + BCD)A 1 (A + BCD) 1 BCDA 1 = A 1 [(A + BCD) 1 BC] DA 1 (48) Når en setter (44) inn i (48) så får en Matrix Inversion Lemma (A + BCD) 1 = A 1 [A 1 B(DA 1 B + C 1 ) 1 ] DA 1 (49) (A + BCD) 1 = A 1 A 1 B(DA 1 B + C 1 ) 1 DA 1 (410) Med D = B T får en et spesialtilfelle av MIL Og enda mer spesielt hvis B = v er en kolonnevektor og C = 1, dette siste tilfellet brukes for utvikling av RLS algoritmen (A + BCB T ) 1 = A 1 A 1 B(B T A 1 B + C 1 ) 1 B T A 1 (411) (A + vv T ) 1 = A 1 A 1 v(v T A 1 v + 1) 1 v T A 1 (412) = A 1 A 1 vv T A 1 (413) v T A 1 v + 1 22