Ämnen för dagen TSFS6 Diagnos och övervakning Föreläsning 5 - Konstruktion av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 27-4-5 En teststorhet är ett modellvalideringsmått för modell under nollhypotesen Vad är modell under nollhypotesen 4 allmänna principer för att konstruera teststorheter prediktionsfel 2 residualer, konsistensrelationer och observatörer 3 parameterskattning 4 likelihood-funktionen Ej ortogonala och inga principer för när och hur. Idag kommer vi mest studera fallet då fel modelleras som avvikelser i konstanta parametrar (ej generella felsignaler). Verktygslåda/tänkesätt Nästa gång: Tröskelsättning och försöka svara på frågan, hur bra är ett specifikt test? 2 Översikt Beteendemoder och felmodeller Formalisering: Modellen M(): Beteendemoder och beteendemodeller Teststorheten och modellvalidering y(t) = u (t) + 2 u 2 (t) + 3 u 3 (t) Beteendet beskrivs genom att för varje mod F p {NF, F, F 2, F 3 } definiera vilka värden som kan anta. Design av teststorheter Prediktionsfel Parameterskattningar F p = NF Θ NF F p = F Θ F F p = F 2 Θ F2 F p = F 3 Θ F3 Θ NF = { = [ ]} Θ F = {, 2 = 3 = } Θ F2 = { 2, = 3 = } Θ F3 = { 3, = 2 = } Avslutning Θ γ är feltillståndsrummet för mod F γ (obs inget linjärt rum). Θ = γ Ω Θ γ 3 4
Översikt Beteendemoder och beteendemodeller Teststorheten och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning Teststorheten är ett modellvalideringsmått Betrakta Hypoteserna kan tecknas: Uttryckt med feltillstånd blir det: NF F F 2 F 3 T X X H : F p {NF, F } H : F p {F 2, F 3 } H : Modellen M(), där Θ NF Θ F, är sann H : Modellen M(), där Θ NF Θ F, inte är sann. Detta kan också skrivas som: H : Θ NF Θ F H : Θ NF Θ F dvs. Θ F2 Θ F3 5 6 Teststorheten är ett modellvalideringsmått Test T svarar alltså mot hypotestestet: H : Modellen M(), där =:Θ {}}{ Θ NF Θ F, är sann H : Modellen M(), där Θ NF Θ F, inte är sann. Teststorheten ska alltså indikera om nollhypotesen H är sann eller inte, dvs. den skall vara ett modellvalideringsmått för modellen: M(), där Θ 7 Modellvalideringsmått, forts. Titta lite noggrannare på testet. Feltillståndsvektorn under H : Modellen under H : H : Θ = Θ NF Θ F H : Θ Θ = { R, 2 = 3 = } y(t) = u (t) + u 2 (t) + u 3 (t) dvs. vi ska hitta en teststorhet som är noll (liten) då modellen under H är konsistent med observerade data, stora annars. Teststorheten ska besvara om det finns något R så att modellen är konsistent med observationerna {y(t), u(t)} N. Exempel på sådan teststorhet: T = min u (t) u 2 (t) u 3 (t)) R (y(t) 2 8
Hur beräknar vi T? En direkt, men en smula klumpig, ansats för att beräkna T är: (y(t) u (t) u 2 (t) u 3 (t)) 2 = = 2 (y(t) u (t) u 2 (t) u 3 (t))u (t) Vilket ger att det minimerande måste uppfylla ekvationen (y(t) u 2 (t) u 3 (t))u (t) = N u 2 (t) Hur beräknar vi T, forts. Är u (t) finns naturligt inget unikt minimerande utan alla ger samma värde på T. Vi kan därför beräkna teststorheten enligt med T = min R (y(t) u (t) u 2 (t) u 3 (t)) 2 = = (y(t) ˆ u (t) u 2 (t) u 3 (t)) 2 N (y(t) u 2(t) u 3 (t))u (t) N om u ˆ = u2 (t) (t) annars En smula klumpig härledning och implementation av teststorheten. Återkommer till detta senare då vi pratar om linjär regression. 9 Modellvalideringsmått, forts. Vad blir teststorheten i fallet H? Antag ett feltillstånd Θ, dvs observationerna genereras enligt: Då blir teststorheten: T = min R = min R y(t) = u (t) + u 2 (t) + u 3 (t) (y(t) u (t) u 2 (t) u 3 (t)) 2 = ( ) 2 u (t) 2 = / / u (t) ˆ = = Modellen överensstämmer och måttet blir då H sann. Normalt modelleras också brus i mätdatat, vilket leder till att T får en fördelning under H. Modellvalideringsmått, forts. Vad blir teststorheten i fallet att H är sann? Betrakta ett fel F 2 med feltillstånd Θ F2, dvs observationerna genereras enligt: Då blir teststorheten: Låt Då blir T = min y(t) = u (t) + 2u 2 (t) + u 3 (t) R = min R (y(t) u (t) u 2 (t) u 3 (t)) 2 (( )u (t) ( 2)u 2 (t)) 2 U = [ u () u (2) u (N) ] T U 2 = [ u 2 () u 2 (2) u 2 (N) ] T T = min R ( )U ( 2)U 2 2 2
Modellvalideringsmått, forts. Modell under nollhypotesen Vad betyder egentligen M(), Θ? Antag en modell: Geometrisk tolkning: T = min R ( )U ( 2)U 2 2 ( 2)U 2 ( )U T = 2 Fel F 2 detekteras om U 2 ej är parallell med U. ( 2)U 2 ( ˆ )U ẋ = g (x, x 2, f, u) ẋ 2 = g 2 (x, x 2 ) f = y = h (x ) + f 2 y 2 = h 2 (x 2 ) + f 3 med de förväntade felmoderna F, F 2, och F 3. Antag vi vill skapa residualer enligt F F 2 F 3 T X X T 2 X X T 3 X X 3 4 Modell under nollhypotesen, forts. Test T svarar mot hypoteserna H : F p {NF, F }, H : F p {F 2, F 3 } Under H gäller att f är fri, f 2 = f 3 =. Modellen under noll-hypotesen, dvs modellen teststorheten T skall validera blir ẋ = g (x, x 2, f, u) ẋ 2 = g 2 (x, x 2 ) f = y = h (x ) y 2 = h 2 (x 2 ) Här har vi kvar den fria signalen f eftersom vi har en modell för hur den beter sig. Vi får inte slänga bort kunskapen att f faktiskt är en konstant, okänd men konstant. Denna situation har vi inte för signalerna f 2 och f 3. 5 Modell under nollhypotesen, forts. Test T 3 då? Det testet svarar mot H : F p {NF, F 3 }, H : F p {F, F 2 } Under H gäller att f 3 är fri, f = f 2 =. Modellen under noll-hypotesen, dvs modellen teststorheten T 3 skall validera är ẋ = g (x, x 2,, u) ẋ 2 = g 2 (x, x 2 ) y = h (x ) Modellen för test T 2 blir analog eftersom både f 2 och f 3 kommer in additivt på varsin mätsignal. 6
Modell under nollhypotesen, linjärt fall Antag den linjära modellen med tre fel H(p)x + L(p)z + F (p)f + F 2 (p)f 2 + F 3 (p)f 3 = och vi vill skapa residualr med känslighet enligt F F 2 F 3 r X X r 2 X X r 3 X X dvs. vi vill skapa en residualgenerator, enligt tidigare föreläsningar, för att detektera observationer z utanför mängden O(F ) = {z x, f ; H(p)x + L(p)z + F (p)f = } Skriv om modellen med x := (x, f ) och f := (f 2, f 3 ) enligt ( H(p) F (p) ) ( ) x + L(p)z + ( F f 2 (p) F 3 (p) ) ( ) f 2 f 3 och använd metodiken. 7 Sammanfattning, en arbetsgång, ett tänk Arbetsgång Teckna tänkt beslutsstruktur 2 För varje test i systemet, ta fram modellen under nollhypotesen (det underlättar om man faktiskt skriver ned den) 3 Konstruera ett modellvalideringsmått för modellen, dvs. generera en signal som är (eller liten) om modellen faktiskt kan vara sann. 8 Översikt Allmän princip för design av teststorheter Konstruera en teststorhet som är liten om vi kan anpassa modellen Beteendemoder och beteendemodeller Teststorheten och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning 9 M(), Θ till observationerna (uppmätta data). Notera att modellen under nollhypotesen kan vara signifikant enklare än den generella modellen med alla felmoder inkluderade. Antag: V (, [u, y]) vara ett generellt modellvalideringsmått för modellen M() med avseende på data [u, y]. Då är T = min Θ V (, [u, y]) liten under nollhypotesen och (förhoppningsvis) stor annars, dvs ett mått på konsistens mellan modell och uppmätta data. 2
Principer för konstruktion av teststorheter Lite notation Design av teststorheter baserat på: residualer konsistensrelationer, observatörer (ej nu, vi har gjort det för linjära modeller och vi återkommer till det i senare föreläsning). prediktionsfel 2. parameterskattningar 3. likelihood-funktionen Finns fler och detta är ingen ortogonal(disjunkt) klassificering! Dessa principer kan kombineras för olika felmodeller. V (x) = (x 2) 2 + (x 2 4) 2 min x V (x) = arg min x V (x) = arg min V (x) = 2 x x ( ) 2 4 2 22 Översikt Teststorhet baserad på prediktionsfelen Exempel på modellvalideringsmått för modell M() för ett fixt : Beteendemoder och beteendemodeller Teststorheten och modellvalidering V (, z) = N Om Θ består av ett enda värde: y(t) ŷ(t ) Design av teststorheter Prediktionsfel Parameterskattningar Avslutning T (z) = V (, z) ett modellvalideringsmått för modellen M( ) Om Θ är en mängd av flera värden: T (z) = min V (, z) Θ ett modellvalideringsmått för modellen M(), Θ Notera: avkoppling 23 24
Exempel: Förstärkning och bias y(t) = gu(t) + b + v(t) v(t) N(, σ 2 ) = [b, g] Betrakta felmoderna: NF g =, b = no fault F b g =, b bias fault F g g, b = gain fault Konstruera en teststorhet för fallet Θ = {[b, g] g = } NF F b F g T X 25 Exempel, forts. Använd de generella formlerna: T (z) = min Θ N Minimeringen är enkel T (z) = N y(t) ŷ(t, z) 2 = min b N T (z) = min b N ŷ(t b, u) = u(t) + b ( ) 2 y(t) ŷ(t b, u) (y(t) u(t) b) 2 (y(t) u(t) ˆb) 2 där ˆb = N Notera att bias-felet har avkopplats i T (z). (y(t) u(t)) 26 Minimering av V (, z) generell optimering systemidentifiering V (, z) = N minstakvadratmetoden observatörer, Kalman filter y(t) ŷ(t ) 2 T (z) = min V (, z) Θ on-line vill man gärna ha rekursiva algoritmer... Linjär regression; minstakvadrat-metoden Trevligt specialfall: Linjär regression ger analytisk lösning på optimeringen y(t) = ϕ(t) Stapla N data ovanpå varandra, modellen blir då Y = Φ där ϕ() y() Φ =. och Y =. ϕ(n) y(n) Då kan teststorheten tecknas T (z) = min y(t) ŷ(t ) 2 = min Y Ŷ 2 = min Y Φ 2 27 28
Linjär regression; minstakvadrat-metoden Excitation T (z) = min Y Φ Med N data är modellen Y Φ överbestämd och skattningen av som minimerar prediktionsfelet Y Φ ges av ett normalekvationen: Φ T (Y Φˆ) = ortogonalitet mellan modellprediktion och modellfel Y φˆ Y φˆ, modellfelet Givet excitation så ges ett unikt ˆ av det analytiska uttrycket: ˆ = (Φ T Φ) Φ T Y φ min Y Φ = Y Φˆ = = (I Φ(Φ T Φ) Φ T )Y = P r Y Numeriskt är detta inget bra sätt att faktiskt räkna ut skattningen. 29 För att ekvationen Φ T (Y Φˆ) = ska ge ha en unik lösning krävs att Φ måste ha full kolonnrang, dvs systemet måste exciteras. Det spelar dock ingen roll för residualen r = Y Ŷ = Y Φˆ vi använder ju inte värdet på skattningen. (Det finns alltid ett kortaste avstånd från en punkt till de plan som kolonnvektorerna i Φ spänner upp). Stokastiska beskrivningar i modellen kan användas för att beräkna kvaliteten på skattningen av, typiskt ett variansmått. Mer om det senare. 3 Excitation Linjär regression - rekursiv lösare Om man har en linjär regression Diskussionen runt excitation gäller generellt, men den är enkel att redovisa i fallet linjär regression. Om vi inte har tillräcklig excitation så har ekvationen inte en unik lösning, men den har lösningar. Φ T (Y Φˆ) = unik lösning eller inte, spelar det någon roll? algoritm måste ta hänsyn kvalitet hos skattningen y t = ϕ t så finns det flera olika sätt att skatta parametern. Ett sätt har vi redan sett, att stapla N datapunkter på varandra och lösa ett minsta-kvadratproblem. Ett sätt att få en rekursiv algoritm är att beskriva parametern som en slumpvandring t+ = t + v t y t = ϕ t t + ɛ t och applicera ett standard Kalman-filter. En enklare variant är Recursive Least Squares (RLS) som är ett specialfall av Kalmanfilter-lösningen ovan. 3 32
Mer generellt statiskt fall Är det kört om systemet inte är given som en linjär regression? Alls inte, bara lite svårare. Applicera någon metod för att skatta parametrar i olinjära modeller y t = g(, z t ) Ett enkelt sätt om man rekursivt vill följa parametern är att t+ = t + v t y t = g( t, z t ) + ɛ t och applicera favoriten bland olinjära tillståndsskattare. Exempelvis (Extended-) Kalman Filter, UKF,... Svårt att bevisa konvergens för godtyckliga olinjära funktioner g(, z) men standardmetoder kan ofta fungera mycket bra. 33 Mer generella dynamiska fall då? Mer generellt då, när det inte är en linjär regression? Antag att modellen under nollhypotesen ges av Här kan man göra på samma sätt ẋ = g(x, u, ) y = h(x) ˆx(t) = g(ˆx(t), u(t), ˆ(t)) + K (y(t) h(ˆx(t))) ˆ(t) = + K 2 (y(t) h(ˆx(t))) och konstruera teststorheten, exempelvis, som T (t) = t t T (y(τ) h(ˆx(τ))) 2 dτ Ganska allmänt! Vi återkommer mer senare till observatörer, de är en mycket användbar metod att tillgripa som fungerar i många situationer. 34 Exempel på EKF som residualgenerator Extended Kalman Filter Antag modellen x t+ = x t T s βx t + T s u x t+ = g(x t, w t ), y t = h(x t ) + e t, cov w t = Q t cov e t = R t y t = x t + f t där vi vill detektera fel f t även då β varierar långsamt. Modellen under noll-hypotesen, med tillagt mät och processbrus, är ( ) ( ) βt+ β = t + w x t T s β t x t + T s u t x t+ Mätuppdatering ˆx t t = ˆx t t + K t (y t h(ˆx t t )) K t = P t t Ht T (H t P t t Ht T + R t ) P t t = P t t K t H t P t t H t = x h(x) x=ˆx t t y t = x t + e t Tidsuppdatering 35 ˆx t+ t = g(ˆx t t, ) P t+ t = F t P t t F T t + G t Q t G T t F t = x g(x, w) x=ˆx t t,w= G t = w g(x, w) x=ˆx t t,w= 36
EKF som residualgenerator EKF som residualgenerator.4.2 u y β.2 betahat EKF 4 3 Residual.8 2.8.8.6.6.6.4.4.4.2.2.2 2.2 3.4 2 3 4 5 6 7 8 9 t [s] 2 3 4 5 6 7 8 9 t [s].2 4 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 t [s] t [s] 37 38 Översikt Teststorheter baserade på parameterskattningar Beteendemoder och beteendemodeller Teststorheten och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning Enkel idé: Om alla fel modelleras med avvikelser i konstanta parametrar i, skatta alla parametrar och jämför med deras nominella värden. En vanlig ansats är då något i stil med ˆ = arg min V (, observationer) där V (, observationer) är en modellvalideringsfunktion för hela modellen, inklusive alla felparametrar. Varför är detta inte alltid en attraktiv lösning? Metoden kräver unik lösning på minimeringen, dvs excitation. Storlek på felvektorn 39 4
Teststorheter baserade på parameterskattningar Teststorheter baserade på parameterskattningar Enkel idé: skatta ett element i i feltillståndsvektorn och jämför med det nominella (dvs. felfria) värdet i. Om mängden Θ består av ett enda element: T (x) = ˆ i i där V ( i, x) är något modellvaliderings mått. ˆi = arg min i V ( i, x) Hur blir det med isolering? Om det i verkligheten är ett fel i parameter som inträffat, vad händer med skattningen av parameter 2? Isolering blir lidande. När ˆ 2 avviker från sitt nominella värde, beror det på 2 eller någon annan förändring? F F 2 F 3 T X X T 2 X X T 3 X X För till exempel test T skulle man då kunna göra där T = ˆ 2 nom 2 ˆ 2 = arg min V (, 2, observationer) 2, 2 Som synes måste man skatta minst två parametrar, dels variabeln vi vill avkoppla, dels variabeln vi vill jämföra mot sitt nominella värde. 4 42 Exempel Översikt y(t) = u (t) + 2 u 2 (t) + 3 u 3 (t) Beteendemoder och beteendemodeller ˆ 2 = arg 2 min, 2 H : F p {NF, F } H : F p {F 2, F 3 } T = ˆ 2 2 (y(t) u (t) 2 u 2 (t) u 3 (t)) 2 Minimeringen kan lösas med linjär regression. Teststorheten kan också beräknas rekursivt. Teststorheten och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning 43 44
p(z =) L( z=2) Teststorhet baserad på likelihood-funktionen Definition (Likelihood Function) Let f (z ) denote the probability density function of the sample Z = [Z, Z 2,... Z n ]. Then, given that Z = z is observed, the function of defined by, normalfördelning, observation Modell: Z N(, ) En observation: z = 2.4.35 Probability density function p(z ).4.35 Likelihood function L( z) L( z) = f (z ).3.25.3.25 is called the likelihood function. En teststorhet kan formas som: T (z) = max Θ L( z) Notera: likelihood-funktionen är en funktion av medans täthetsfunktionen är en funktion av z. Tolkning: Hur sannolikt är det att observera det utfall vi observerat..2.5..5-4 -3-2 - 2 3 4 Täthetsfunktionen f (z ) = 2π e (z )2 2 z.2.5..5-2 - 2 3 4 5 6 L( z = 2) = f (2 ) 45 46, normalfördelning, 2 observationer Modell: Z N(, ) Två oberoende observationer: z = 3, z 2 = 5 Teststorheter baserade på likelihood-funktionen, forts. säger ( ) hur sannolikt det är att observera det utfall vi observerat. Därför bildas teststorheten genom att maximera f(x ).4.35.3.25.2.5..5 = 5 4 3 2 2 3 4 5 x Täthetsfunktionen f (z i ) = 2π e (z i )2 2 L().6.5.4.3.2. x =3,x 2 =5 4 2 2 4 6 8 L( z = 3, z 2 = 5) = f (3 )f (5 ) T (z) = max Θ L( z) istället för att minimera. Detta kallas maximum-likelihood (ML). Nollhypotesen kommer därför att förkastas om T (z) är mindre än en tröskel. Man kan använda likelihood-funktionen för att skatta parametrar. ML-skattningen fås som: ML = arg max L() Mycket vanligt sätt att bilda teststorheter då man har statistiska modeller. Vi kommer återkomma till ML i avsnittet om Change detection. 47 48
Likelihood och Bayes Neyman-Pearson lemma, likelihood-kvot Om man räknar ut T (z) = max Θ L( z) med H : F p = F i så har man samtidigt räknat ut Antag hypoteserna H : = H : = max L( z) = max f (z ) = P(z F i) Θ Θ Om man har en a-priori sannolikhet för de olika felmoderna så kan man via Bayes sats göra omskrivningen P(F i z) = P(z F i)p(f i ) P(z) Genom att beräkna sannolikheten för alla felmoder F i så får vi en ranking av felen baserad på dess sannolikheter. Mer om detta senare i kursen. där pdf för observationerna är den kända fördelningsfunktionen f (z i ) i de två fallen. En lite slarvig formulering av Neyman-Pearson lemma är då: Den bästa tänkbara teststorheten för dessa hypoteser är T (z) = f (z ) f (z ) Finns generaliserade resultat för nollhypoteser som inte är singeltons. Mer om detta senare i kursen. 49 5 Översikt Teststorheter Beteendemoder och beteendemodeller Teststorheten och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar En teststorhet är ett modellvalideringsmått 4 allmänna principer för att konstruera teststorheter prediktionsfel 2 parameterskattning 3 likelihood-funktionen 4 residualer, konsistensrelationer och observatörer Ej ortogonala och inga principer för när och hur. Nästa gång: Tröskelsättning och försöka svara på frågan, hur bra är ett specifikt test? Avslutning 5 52
TSFS6 Diagnos och övervakning Föreläsning 5 - Konstruktion av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 27-4-5 53