Ämnen för dagen TSFS6 Diagnos och övervakning Föreläsning 5 - Konstruktion av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet erik.frisk@liu.se 29-4-8 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, beteendemodeller, och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning 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. 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 = } Θ γ är feltillståndsrummet för mod F γ (obs inget linjärt rum). Θ = γ Ω Θ γ 3 4
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: 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 Θ H : Θ NF Θ F H : Θ NF Θ F dvs. Θ F2 Θ F3 5 6 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 t=. Exempel på sådan teststorhet: T = min u (t) u 2 (t) u 3 (t)) R t=(y(t) 2 7 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 = t= = 2 (y(t) u (t) u 2 (t) u 3 (t))u (t) t= Vilket ger att det minimerande måste uppfylla ekvationen (y(t) u 2 (t) u 3 (t))u (t) = t= t= 8 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 t= (y(t) u (t) u 2 (t) u 3 (t)) 2 = = (y(t) ˆ u (t) u 2 (t) u 3 (t)) 2 t= N t= (y(t) u 2(t) u 3 (t))u (t) N om u ˆ = t= u2 (t) (t) annars En smula klumpig härledning och implementation av teststorheten. Återkommer till detta senare då vi pratar om linjär regression. Modellvalideringsmått, forts. Vad blir teststorheten i fallet H? Antag ett feltillstånd Θ, dvs observationerna genereras enligt: Då blir teststorheten: T = min R t= = min R t= 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. 9 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 t= = min R t= (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 Modellvalideringsmått, forts. 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 2
Modell under nollhypotesen Vad betyder egentligen M(), Θ? Antag en modell: ẋ = 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 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. 4 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. 5 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. 6
Sammanfattning, en arbetsgång, ett tänk Översikt 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. Beteendemoder, beteendemodeller, och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning 7 8 Allmän princip för design av teststorheter Konstruera en teststorhet som är liten om vi kan anpassa modellen 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. 9 Principer för konstruktion av teststorheter 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. 2
Lite notation Översikt V (x) = (x 2) 2 + (x 2 4) 2 Beteendemoder, beteendemodeller, och modellvalidering min x V (x) = arg min x V (x) = arg min V (x) = 2 x x ( ) 2 4 Design av teststorheter Prediktionsfel Parameterskattningar Avslutning 2 22 Teststorhet baserad på prediktionsfelen Exempel: Förstärkning och bias Exempel på modellvalideringsmått för modell M() för ett fixt : V (, z) = N Om Θ består av ett enda värde: y(t) ŷ(t ) t= 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 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 23 24
Exempel, forts. Använd de generella formlerna: T (z) = min Θ N t= 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) t= (y(t) u(t) b) 2 t= (y(t) u(t) ˆb) 2 där ˆb = N t= Notera att bias-felet har avkopplats i T (z). (y(t) u(t)) t= 25 Minimering av V (, z) generell optimering systemidentifiering V (, z) = N minstakvadratmetoden observatörer, Kalman filter y(t) ŷ(t ) 2 t= T (z) = min V (, z) Θ on-line vill man gärna ha rekursiva algoritmer... 26 Linjär regression; minstakvadrat-metoden 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 t= y(t) ŷ(t ) 2 = min Y Ŷ 2 = min Y Φ 2 27 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. 28
Excitation Excitation 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. 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 29 3 Linjär regression - rekursiv lösare Om man har en linjär regression 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. 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. 3 32
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. 33 Exempel på EKF som residualgenerator Antag modellen x t+ = x t T s βx t + T s u 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+ y t = x t + e t 34 Extended Kalman Filter EKF som residualgenerator x t+ = g(x t, w t ), y t = h(x t ) + e t, cov w t = Q t cov e t = R t.4.2 u y β Mätuppdatering.8.8 ˆ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 ) H t = x h(x) x=ˆx t t.6.4.2.6.4 P t t = P t t K t H t P t t.2 Tidsuppdatering ˆ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= 35.2.4 2 3 4 5 6 7 8 9 t [s] 2 3 4 5 6 7 8 9 t [s] 36
EKF som residualgenerator Översikt.2 betahat EKF 4 3 Residual Beteendemoder, beteendemodeller, och modellvalidering 2.8.6.4.2 2 Design av teststorheter Prediktionsfel Parameterskattningar 3.2 4 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 t [s] t [s] Avslutning 37 38 Teststorheter baserade på parameterskattningar Teststorheter baserade på parameterskattningar 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 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? 39 4
Teststorheter baserade på parameterskattningar Exempel 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. ˆ 2 = arg 2 min, 2 y(t) = u (t) + 2 u 2 (t) + 3 u 3 (t) 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 t= Minimeringen kan lösas med linjär regression. Teststorheten kan också beräknas rekursivt. 4 42 Applikation: serviceplanering via hälsoparametrar Applikation: serviceplanering via hälsoparametrar 2 [%] Health parameter η C efficiency deviation for C T a 2 T b 4 Nov Dec Jan Feb Mar Apr [%] 2 t T a 2 T b 4 May Jun Jul Aug Sep Oct t 43 44
p(z =) L( z=2) Översikt Beteendemoder, beteendemodeller, och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning 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 is called the likelihood function. En teststorhet kan formas som: L( z) = f (z ) 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. 45 46, normalfördelning, observation Modell: Z N(, ) En observation: z = 2, normalfördelning, 2 observationer Modell: Z N(, ) Två oberoende observationer: z = 3, z 2 = 5.4 Probability density function p(z ).4 Likelihood function L( z).4 =.6 x =3,x 2 =5.35.35.35.5.3.3.3.25.25.25.4.2.2 f(x ).2 L().3.5.5.5.2....5.5.5. -4-3 -2-2 3 4 Täthetsfunktionen f (z ) = 2π e (z )2 2 z -2-2 3 4 5 6 L( z = 2) = f (2 ) 5 4 3 2 2 3 4 5 x Täthetsfunktionen f (z i ) = 2π e (z i )2 2 4 2 2 4 6 8 L( z = 3, z 2 = 5) = f (3 )f (5 ) 47 48
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 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. 49 Likelihood och Bayes Om man räknar ut T (z) = max Θ L( z) med H : F p = F i så har man samtidigt räknat ut 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. 5 Neyman-Pearson lemma, likelihood-kvot Översikt Antag hypoteserna H : = H : = 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 ) Beteendemoder, beteendemodeller, och modellvalidering Design av teststorheter Prediktionsfel Parameterskattningar Avslutning Finns generaliserade resultat för nollhypoteser som inte är singeltons. Mer om detta senare i kursen. 5 52
Teststorheter 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? TSFS6 Diagnos och övervakning Föreläsning 5 - Konstruktion av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet erik.frisk@liu.se 29-4-8 53 54