Dagens föreläsning TSFS6 Diagnos och övervakning Föreläsning 6 - Tröskling och analys av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 22-3-28 Tröskelsättning och beslut i osäker miljö Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Hur bra är min teststorhet? / 45 2 / 45 Från förra föreläsningen Från förra föreläsningen H k : F p {NF, F } H k : F p {NF, F } C = {F 2, F 3} En teststorhet T (z) för hypotestestet har egenskapen { liten då H är sann T (z) = stor då H ej är sann Presenterades principer för hur det kan gå till att skapa teststorheter Prediktionsfel 2 Parameterskattningar 3 Likelihood 4 Residualer Finns fler och ingen ortogonal klassificering. Detta betyder att T (z) är ett modellvalideringsmått för modellen som beskrivs i beteendemoderna i nollhypotesen, dvs. F eller NF. 3 / 45 4 / 45
Från förra föreläsningen Prediktionsfel Parameterskattningar Likelihood T (z) = min θ Θ T (z) = ˆθ θ, T (z) = max θ Θ f (z θ), Residualer (y(t) ŷ(t z, θ)) 2 t= ˆθ = arg min θ (y(t) ŷ(t z, θ)) 2 t= f (z θ) är fördelningen för observationerna Översikt Tröskelsättning och beslut i osäker miljö Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Hur bra är min teststorhet? r = d (p)γ(p)n H (p)l(p)z och andra metoder som kommer i senare föreläsningar 5 / 45 6 / 45 Tröskling av teststorheter Beslut i brusig och osäker miljö För att kunna ta beslut om noll-hypotesen ska förkastas eller ej krävs att en regel som säger när nollhypotesen ska förkastas. Typiskt, larma om teststorheten överskrider en tröskel J, dvs. T (z) > J generera ett larm För teststorheter baserade på likelihood-funktionen L(z) blir det < istället för >, dvs. T (z) = L(z) < J generera ett larm Fundamental fråga Hur väljer man tröskeln J och vad bör man tänka på? Antag ett test som ska övervaka ett fel. Testet kan larma eller inte och systemet kan vara OK eller OK, dvs fyra kombinationer: Idealt ska rödmarkerade kombinationer aldrig inträffa, men i brusiga miljöer kan man som regel inte helt undvika falskalarm och missad detektion. 7 / 45 8 / 45
Beslut i brusig och osäker miljö Ett alarm som sker när systemet är felfritt är ett falskalarm (FA). Idealt är ska p(fa) =. p(fa) = p(t > J OK) Händelsen att inte larma trots att det är fel kallas missad detektion (MD). Idealt ska p(md) =. p(md) = p(t < J OK) Tröskeln J styr kompromissen mellan falskalarm och missad detektion. Hur ska den väljas? 9 / 45 Beslut i brusig och osäker miljö - realistiska mål Falskalarm är nästan helt oacceptabla eftersom de undergräver förtroendet för diagnossystemet, skapar onödiga utgifter för reparation av hela komponenter (det är extra svårt att hitta fel på hela komponenter), försämrar prestanda genom att hela komponenter kopplas bort under drift, försämrar tillgängligheten genom att ta systemet ur drift. Fel med signifikant storlek, dvs de utgör ett hot mot säkerhet, maskinskydd, eller överskrider lagkrav måste upptäckas. För små fel som endast ger gradvis försämring av prestanda kan det vara bättre att prioritera få falskalarm gentemot att få bra detektion. Ofta specificeras ett krav på falskalarm: p(fa) < ɛ. / 45 Beslut i brusig och osäker miljö Stort fel: Beslut i brusig och osäker miljö Tydlig separation (för alla möjliga felstorlekar): Tydlig separation krävs för att uppfylla kraven. Om det inte är separerat så måste teststorheten förbättras, modellen utökas eller systemet byggas om. Litet fel: p(t OK) J p(t litet fel) T J S = {NF } T > J S = {F } NF F T Överlappande fördelningar (för någon möjlig felstorlek): p(t OK) J p(t litet fel) p(missad detektion) För att maximera sannolikheten för detektion, väljs den minsta tröskeln så att p(t > J OK) < ɛ. I detta fall är det alltså fördelningen för det felfria fallet som bestämmer tröskeln J. / 45 T p(missad detektion) T J S = {NF, F } T > J S = {F } NF F T X Det senare fallet är typfallet i den här kursen. 2 / 45 T
Tröskelsättning baserat på felfria data Svansens fördelning 6.5.35 4 2.45.4.35.3.25.3.25 2.2.5.2 4 6 2 3 4 5 6 7 8 9..5 5 4 3 2 2 3 4 5.5 Antag nytt oberoende värde på teststorheten var tiondels sekund och ett krav på max falsklarm per år ger P(FA) = P( T > J OK) 3 7 Med en normalfördelningsapproximation så blir då tröskeln J 5.. p(fa) är ett vanligt sätt att specificera prestanda Känslig för svansens fördelning och stationäritet Krävs mycket data för att få bra uppfattning om svansens fördelning 3 / 45..5 2 4 6 8 2 4 6 8 2 x Tre helt olika fördelningar För låga falskalarmssannolikheter så blir tröskelsättningen närmast identisk. 4 / 45 Tröskelsättning Tröskelsättning baserat på modellerat brus Ofta väldigt höga krav på låg falskalarmssannolikhet 9 väldigt mycket data behövs för att kunna sätta tröskeln pålitligt i dessa fall! Kräver endast kunskap om yttersta svansen på fördelningen. Behövs väldigt mycket data för att få god uppfattning om svansen. Vid väldigt låga falsklarmssannolikheter kan man tex: parametrisera upp svansens fördelning (exempelvis en exponentiell fördelning) och sätt tröskeln via den modellen. En tänkbar lösning på problemet är att göra flera oberoende test. P(T < J) = α P(T < J... T N < J) = α N 5 / 45 y(t) = bu(t) + v(t) v(t) N(, σ 2 v ) Nominellt värde på b är b. U, Y, och V betecknar staplade kolumnvektorer av u, y, och v vid olika tidpunkter. Då kan modellen skrivas som: Y = Ub + V En teststorhet baserad på en parameterskattning: T 2 (z) = (ˆb b ) 2 där ˆb = U T U UT Y Beakta skattningsfelet i det felfria fallet, dvs. b = b : ˆb b = U T U UT (Ub + V ) b = U T U UT V 6 / 45
exempel, forts. y(t) = bu(t) + v(t) v(t) N(, σ 2 v ) Skattningsfelet i det felfria fallet är: ɛ = ˆb b = U T U UT V Skattningsfelet ɛ är normalfördelat enligt: E(ɛ) = E( U T U UT V ) = U T U UT E(V ) = Cov(ɛ) = E( U T U UT V ) 2 = (U T U) 2 UT E(VV T )U = U T U σ2 v ɛ N(, σ 2 v U T U ) 7 / 45 exempel, forts. Skattningsfelet har en varians som beror på u! ɛ N(, σ 2 v U T U ) för fix tröskel kommer falskalarmssannolikheten att bero på hur processen styrs. (Dåligt!) Multiplicera skattningen med U T U/σ v : U T U σ v (ˆb b ) N(, ) så fås där T 2 (z) χ2 () T 2(z) = UT U σv 2 (ˆb b ) 2 ˆb = U T U UT Y 8 / 45 Känslighet för okontrollerbara effekter och robusthet Arbetsgång - Tröskelsättning Man vill ha samma falskalarmssannolikhet i sitt beslut hela tiden, oberoende av förändringar i insignalen u och tillstånd x, störningar d, modellfel. Kräver att fördelningen för T (z) ej förändras! Men teststorheterna kan vara känsliga för dessa okontrollerbara effekter på grund av: modellfel dålig excitation mätbrus och modellbrus approximativ avkoppling Robusthet: teststorhetens förmåga att uppfylla prestandamål även då modellfel etc. påverkar processen Något som kallas normalisering används för att säkerställa att fördelningen för T (z) ej ändras. 9 / 45 Vanlig arbetsgång vid val av tröskel är att uppfylla en viss falskalarmssannolikhet α. Skapa en teststorhet 2 Normalisera så att du (förhoppningsvis) har en teststorhet T k (z) med någorlunda konstant variation (fördelning) för olika arbetspunkter under H. 3 Givet fördelningen på T k (z) välj en tröskel J k så att P(T k (z) > J k H k ) ɛ (eller på annat sätt beroende på hur kraven är specificerade) Nu ska vi studera normaliseringen. 2 / 45
Översikt Principer för konstruktion av teststorheter Tröskelsättning och beslut i osäker miljö Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Design av teststorheter baserat på: prediktionsfel likelihood-funktionen parameterskattningar residualer konsistensrelationer, observatörer Metodik för att normalisera i dessa 4 fall? Hur bra är min teststorhet? 2 / 45 22 / 45 Normalisering med prediktionsfel Minns Normalisering med likelihood-funktionen T (z) = min θ Θ V (θ, z) > c (reject H ) Vi behöver ett mått på modellosäkerheten H förkastas om J adp = max θ Θ L(θ z) c W (z) = min θ Θ V (θ, z) = min θ Θ Minimeringen är över alla möjliga θ. eller ekvivalent: (y(t) ŷ(t θ)) 2 t= J adp = min θ Θ V (θ, z) c T (z) = min θ Θ V (θ, z) min θ Θ V (θ, z) > c (reject H ) Med normalisering: H förkastas om T (z) = max L(θ z) < max L(θ z) c θ Θ θ Θ T (z) = max θ Θ L(θ z) max θ Θ L(θ z) < c T (z) kallas likelihood ratio-test Andra ord som används är maximum likelihood ratio eller generalized likelihood ratio 23 / 45 24 / 45
Normalisering med parameterskattning Teststorheten kan skapas enligt T = (ˆθ N θ ) 2, ˆθ N = arg min θ N (y(t) ŷ(t θ)) 2 Fördelningen på skattningen varierar med grad ev excitation etc. och för att kunna normalisera så måste vi på något sätt räkna ut den. t= I det tidigare enkla exemplet så kunde vi räkna ut att ˆb N b N (, σ 2 v U T U ) där U T U är graden av excitation. Därmed kunde vi normalisera och sätta tröskel. Generellt är det svårt att exakt räkna ut skattningens fördelning. Två möjligheter: asymptotiska resultat 2 simulering, Monte-Carlo 25 / 45 Asymptotisk fördelning hos skattning Att exakt räkna ut vilken fördelning ˆθ N enligt nedan får är svårt, och i mer komplicerade fall ogörligt. T = (ˆθ N θ ) 2, ˆθN = arg min θ N (y(t) ŷ(t θ)) 2 En möjlighet är att se till att N är tillräckligt stort, då kan man använda asymptotiska resultat N(ˆθ N θ ) AsN (, P) där kovariansen P kan skattas utifrån de data som användes vid skattningen. Jag tar inte med uttrycken här, men formerna hittas i Modellbygge och simulering, eller i mer detalj i System Identification - Theory for the user av Lennart Ljung. t= 26 / 45 Adaptiva trösklar för residualer Adaptiv tröskel - normalisering av residualer Exempel: linjärt system Uppmätta data från en ventil i luftsystemet i Gripen: y = ( G(s) + G(s) ) u 3 2 Solid: residual; Dashed: thresholds där G(s) är modellfel R 3 r =H y (p)y + H u (p)u = H y (p) G(p)u 2 3 3 35 4 45 5 55 Time [s] Man vet att modellen är bättre/mer noggrann då man rör sakta på ventilen och sämre vid hastiga förändringar av vinkelläget. Utnyttja det! δ > G(s) är en känd övre gräns på storleken hos modellfelet G(s). Ett sätt att välja en adaptiv tröskel: J adp (t) = δ H y (p)u + J eller mer allmänt J asp (t) = c W (z) + c 2 där W (z) är ett mått på modellosäkerheten. 27 / 45 28 / 45
Adaptiv tröskel, exempel Adaptiva trösklar = normalisering Man kan även ha dynamiska adaptiva trösklar: y = G (s)u = s + a + a u a < δ a G(s) = G (s) G(s) a (s + a) 2 r = y G(s)u = G(s)u En adaptiv tröskel kan med denna information sättas till tex.: δ J(z) = c (p + a) 2 u + c 2 Ekvivalent med normalisering av teststorheten: som är ekvivalent med T (z) J adp = c W (z) + c 2 (reject H ) T (z) = T (z) c W (z) + c 2 (reject H ) 29 / 45 3 / 45 Översikt Utvärdering av teststorheter Tröskelsättning och beslut i osäker miljö Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Falsklarm = förkasta H när H är sann (TYP I) Missad detektion = förkasta inte H när H är sann (TYP II) Signifikansnivå = sannolikhet att förkasta H när H är sann. Både falsklarm och missad detektion beskrivs av: Styrkefunktion (power function) β(θ) = P(förkasta H θ) = P(T (z) J θ) Hur bra är min teststorhet? 3 / 45 32 / 45
Typiskt utseende på styrkefunktioner Exempel på två styrkefunktioner där θ = : beta.8.6.4.2.5.6.7.8.9..2.3.4.5 theta Styrkefunktionen är därmed ett bra instrument för att avgöra prestanda hos ett hypotestest i ett diagnossystem. Eftersom signifikansen är lika för båda testen, så följer att testet som motsvarar den heldragna linjen är bättre. 33 / 45 Analytisk beräkning av styrkefunktionen Om fördelningen för en teststorhet T givet felstorlek f är känd beräknas styrkefunktionen: β() = β(f ) = β(f ) = P( T J f ) = = P(T J f ) + P(T J f ) = = integrera gulmarkerade områden Notera att man kan alltid välja tröskeln J så att man får en viss signifikansnivå på testet. 34 / 45 Analytisk härledning av styrkefunktionen: Parameterskattning Modell: y(t) = bu(t) + v(t) Teststorhet baserad på parameterskattning: T 2(z) = UT U σv 2 (ˆb b ) 2, ˆb = U T U UT Y, v(t) N(, σ 2 v ), vitt UT U (ˆb b ) N(b b, ) σ } v {{} =:ɛ Notera att fördelningen även för fall då b b behövs, till skillnad från vid tröskelsättning. Givet en tröskel J 2 : vilket är ekvivalent med β(b) = P(T 2(z) = ɛ 2 J 2 b) β(b) = P ( ɛ J 2 b ) + P ( ɛ J 2 b) 35 / 45 Analytisk härledning av styrkefunktionen: Prediktionsfel y(t) = bu(t) + v(t) Teststorhet baserad på prediktionsfel: Felfritt fall: T (z) = y(t) b u(t) σ v (y(t) ŷ(t)) 2 = t= v(t) N(, σ 2 v ), vitt (y(t) b u(t)) 2 t= = b u(t) + v(t) b u(t) σ v vilket implicerar, tillsammans med oberoende, att T (z) σ 2 v χ 2 (N) = v(t) σ v N(, ) Alltså: Fördelning känd och vi kan analytiskt beräkna styrkefunktionen i felfritt fall, β(b ). 36 / 45
Analytisk härledning av styrkefunktionen: Prediktionsfel forts. Härledning av signifikansnivån: Givet en tröskel J : vilket är ekvivalent med β(b ) = P(T (z) J b = b ) P( T (z) σ 2 v J σ 2 v Men β(b) för b b är det mer besvärligt. Återkommer till hur man gör då. b = b ) Jämföra två teststorheter med hjälp av styrkefunktionen T (z) = (y ŷ) 2 = T 2(z) = UT U σv 2 (ˆb b ) 2 ˆb = U T U UT Y (y b u) 2 β (b) (streckad) och.2 β 2 (b) (heldragen).5.6.7.8.9..2.3.4.5 I figuren är b =. Teststorheten baserad på parameterskattningen är bäst av de två. I det här fallet går det att visa att det inte finns någon teststorhet som är bättre än T 2 (z). (Neyman-Pearson Lemma) 38 / 45 beta.8.6.4 theta 37 / 45 När det inte går att härleda analytiskt Brus genom olinjäritet Grundproblemet är att under H hitta fördelningen för en teststorhet T k (z) där T k (z) är en olinjär funktion. I detta sammanhang kanske en minimering av en kvadratisk funktion. Analytisk lösning oftast ej möjlig. Två vägar som finns att tillgå är: Slumpa fram data z och se vad T k (z) får för fördelning 2 Om möjligt, mät upp (mycket) data Titta på histogrammet för T k (z). Problem med sammansatta nollhypoteser. Y = sin(x 2 ) + där X N(, ) Generera 5 oberoende observationer X, beräkna Y och plotta histogram: 6 5 4 3 2.2.4.6.8.2.4.6.8 2 39 / 45 4 / 45
Härleda styrkefunktionen via simuleringar eller uppmätta data Monte-Carlo simulering Antag en fördelning för brus i data z. 2 Fixera parametern θ för vilken vi ska beräkna β(θ). 3 I en dator, generera en stor mängd dataserier z i, i =,... N 4 För varje dataserie z i, beräkna t i = T (z i ). 5 Samla ihop alla N värdena t i i ett histogram = skattning av f (t θ). 6 Genom att använda en fix tröskel J k, skatta β(θ). 7 Gå tillbaka till steg 2 och fixera ett nytt θ. Stora mängder uppmätta data istället för simulering. Simulera fel på uppmätta felfria data Ett sätt att uppskatta styrkefunktionerna är att mäta upp mycket data. Ofta är det omöjligt (inte alltid) att mäta upp data där man har fel på processen. Ett sätt, som inte alltid är applicerbart är att mäta upp felfria data och addera felen i efterhand. Exempel: ett förstärkningsfel i sensor-signalen (g = är fel-fritt) y simul (t) = g y uppmätt (t) Inte exakt rätt om man har återkopplingar i systemet. 4 / 45 42 / 45 ROC-kurvor Det finns andra, mer eller mindre likvärdiga, sätt att utvärdera. Exempelvis ROC (Reciever Operating Characteristics)-kurva där P(D) plottas som funktion av P(FA) för olika tröskelval men för en given felstorlek θ. P(D).9.8.7.6.5.4.3.2 θ=3 θ=2 θ= Sammanfattning Tröskelsättning svansen på den fördelningen för felfria fallet om fördelningen beror på observationerna, använd normalisering eller adaptiva trösklar Utvärdering av test mha styrkefunktionen kopplar till sannolikheten för falskalarm och missad detektion för att skatta styrkefunktionen krävs fördelning även för felfall. Om dessa inte går att analytiskt beräkna behövs stora mängder data eller Monte-Carlo simuleringar. Nästa föreläsning handlar om olinjär residualgenerering...5..5.2.25 P(FA) 43 / 45 44 / 45
TSFS6 Diagnos och övervakning Föreläsning 6 - Tröskling och analys av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 22-3-28 45 / 45