Dagens föreläsning SFS6 Diagnos och övervakning Föreläsning 6 - röskling och analys av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 25-4-2 röskelsättning och beslut i osäker miljö röskelsättning i ett idealiserat fall Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Hur bra är min teststorhet? 2 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 (z) för hypotestestet har egenskapen { liten då H är sann (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 (z) är ett modellvalideringsmått för modellen som beskrivs i beteendemoderna i nollhypotesen, dvs. F eller NF. 3 4
Från förra föreläsningen Prediktionsfel Parameterskattningar Likelihood (z) = min θ Θ (z) = ˆθ θ, (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 röskelsättning och beslut i osäker miljö röskelsättning i ett idealiserat fall 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 6 rö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. ypiskt, larma om teststorheten överskrider en tröskel, dvs. (z) > generera ett larm För teststorheter baserade på likelihood-funktionen L(z) blir det < istället för >, dvs. (z) = L(z) < generera ett larm Fundamental fråga Hur väljer man tröskeln och vad bör man tänka på? Antag ett test som ska övervaka ett fel. estet kan larma eller inte och systemet kan vara OK eller OK, dvs fyra kombinationer: OK not OK no larm Missad detektion larm Falskalarm 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 8
P(Detect) Beslut i brusig och osäker miljö p( OK) p(missad detektion) p( not OK) p(falskt alarm) Ett alarm som sker när systemet är felfritt är ett falskalarm (FA). Idealt är ska p(fa) =. p(fa) = p( > OK) Händelsen att inte larma trots att det är fel kallas missad detektion (MD). Idealt ska p(md) =. p(md) = p( < OK) röskeln styr kompromissen mellan falskalarm och missad detektion. Hur ska den väljas? 9 ypisk avvägning mellan P(FA) och P(D) ROC-kurva.9.8.7 Low threshold.6.5 Balanced threshold.4.3 High threshold.2...2.3.4.5.6.7.8.9 P(False Alarm) Vi kan lägga oss på valfri plats utefter den här kurvan via val av tröskel. Beslut i brusig och osäker miljö - realistiska mål p( OK) p(missad detektion) p( not OK) p(falskt alarm) 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) < ɛ. Beslut i brusig och osäker miljö Stort fel: p( OK) p( stort fel) ydlig 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( OK) p(missad detektion) p( litet fel) För att maximera sannolikheten för detektion, väljs den minsta tröskeln så att p( > OK) < ɛ. I detta fall är det alltså fördelningen för det felfria fallet som bestämmer tröskeln. 2
Beslut i brusig och osäker miljö ydlig separation (för alla möjliga felstorlekar): p( OK) p( not OK) röskelsättning baserat på felfria data 6.5.45 4.4.35 2.3 S = {NF } > S = {F } NF F Överlappande fördelningar (för någon möjlig felstorlek): p( OK) p(missad detektion) S = {NF, F } > S = {F } p( litet fel) NF F X Det senare fallet är typfallet i den här kursen. 3 2 4 6 2 3 4 5 6 7 8 9.25.2.5..5 5 4 3 2 2 3 4 5 Antag nytt oberoende värde på teststorheten var tiondels sekund och ett krav på max falsklarm per år ger P(FA) = P( > OK) 3 7 Med en normalfördelningsapproximation så blir då tröskeln 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 4 Svansens fördelning röskelsättning.35.3.25.2.5..5 2 4 6 8 2 4 6 8 2 x 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( < ) = α P( <... N < ) = α N re helt olika fördelningar För låga falskalarmssannolikheter så blir tröskelsättningen närmast identisk. 5 6
Översikt röskelsättning baserat på modellerat brus röskelsättning och beslut i osäker miljö röskelsättning i ett idealiserat fall Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Hur bra är min teststorhet? 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: 2 (z) = (ˆb b ) 2 där ˆb = U U U Y Beakta skattningsfelet i det felfria fallet, dvs. b = b : ˆb b = U U U (Ub + V ) b = U U U V 7 8 exempel, forts. y(t) = bu(t) + v(t) v(t) N(, σ 2 v ) Skattningsfelet i det felfria fallet är: ɛ = ˆb b = U U U V Skattningsfelet ɛ är normalfördelat enligt: E(ɛ) = E( U U U V ) = U U U E(V ) = Cov(ɛ) = E( U U U V ) 2 = (U U) 2 U E(VV )U = U U σ2 v ɛ N(, σ 2 v U U ) 9 exempel, forts. Skattningsfelet har en varians som beror på u! ɛ N(, σ 2 v U U ) för fix tröskel kommer falskalarmssannolikheten att bero på hur processen styrs. (Dåligt!) Multiplicera skattningen med U U/σ v : U U σ v (ˆb b ) N(, ) så fås där 2 (z) χ2 () 2(z) = U U σv 2 (ˆb b ) 2 ˆb = U U U Y 2
Känslighet för okontrollerbara effekter och robusthet 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 (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 (z) ej ändras. 2 Arbetsgång - röskelsättning 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 k (z) med någorlunda konstant variation (fördelning) för olika arbetspunkter under H. 3 Givet fördelningen på k (z) välj en tröskel k så att P( k (z) > k H k ) ɛ (eller på annat sätt beroende på hur kraven är specificerade) Nu ska vi studera normaliseringen. 22 Översikt Principer för konstruktion av teststorheter röskelsättning och beslut i osäker miljö röskelsättning i ett idealiserat fall 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? 23 24
Normalisering med prediktionsfel Minns Normalisering med likelihood-funktionen (z) = min θ Θ V (θ, z) > c (reject H ) Vi behöver ett mått på modellosäkerheten H förkastas om adp = max θ Θ L(θ z) c W (z) = min θ Θ V (θ, z) = min θ Θ Minimeringen är över alla möjliga θ. eller ekvivalent: (y(t) ŷ(t θ)) 2 t= adp = min θ Θ V (θ, z) c (z) = min θ Θ V (θ, z) min θ Θ V (θ, z) > c (reject H ) Med normalisering: H förkastas om (z) = max L(θ z) < max L(θ z) c θ Θ θ Θ (z) = max θ Θ L(θ z) max θ Θ L(θ z) < c (z) kallas likelihood ratio-test Andra ord som används är maximum likelihood ratio eller generalized likelihood ratio 25 26 Neyman-Pearson lemma, likelihood kvot 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 (z) = f (z θ ) f (z θ ) Finns generaliserade resultat för nollhypoteser som inte är singeltons. Mer om detta senare i kursen. Normalisering med parameterskattning eststorheten kan skapas enligt = (ˆθ 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 U ) där U 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. vå möjligheter: asymptotiska resultat 2 simulering, Monte-Carlo 27 28
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. = (ˆθ 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. ag tar inte med uttrycken här, men formerna hittas i Modellbygge och simulering, eller i mer detalj i System Identification - heory for the user av Lennart Ljung. t= Adaptiva trösklar för residualer Uppmätta data från en ventil i luftsystemet i Gripen: R 3 3 2 2 3 Solid: residual; Dashed: thresholds 3 35 4 45 5 55 ime [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! 29 3 Adaptiv tröskel - normalisering av residualer Exempel: linjärt system där G(s) är modellfel y = ( G(s) + G(s) ) u r =H y (p)y + H u (p)u = H y (p) G(p)u δ > 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: eller mer allmänt adp (t) = δ H y (p)u + asp (t) = c W (z) + c 2 där W (z) är ett mått på modellosäkerheten. Adaptiv tröskel, exempel 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.: δ (z) = c (p + a) 2 u + c 2 3 32
Adaptiva trösklar = normalisering Översikt Ekvivalent med normalisering av teststorheten: som är ekvivalent med (z) adp = c W (z) + c 2 (reject H ) (z) = (z) c W (z) + c 2 (reject H ) röskelsättning och beslut i osäker miljö röskelsättning i ett idealiserat fall Adaptiva trösklar Prediktionsfel Likelihood-funktionen Parameterskattning Residualer Hur bra är min teststorhet? 33 34 Utvärdering av teststorheter ypiskt utseende på styrkefunktioner Exempel på två styrkefunktioner där θ = : Falsklarm = förkasta H när H är sann (YP I) Missad detektion = förkasta inte H när H är sann (YP II) Signifikansnivå = sannolikhet att förkasta H när H är sann. Både falsklarm och missad detektion beskrivs av: Styrkefunktion (power function) beta.8.6.4.2 β(θ) = P( (z) θ).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. 35 36
Analytisk beräkning av styrkefunktionen Om fördelningen för en teststorhet givet felstorlek f är känd beräknas styrkefunktionen: β() = β(f ) = β(f ) = P( f ) = = P( f ) + P( f ) = = integrera gulmarkerade områden - - p( f=) p( f=f) f Notera att man kan alltid välja tröskeln så att man får en viss signifikansnivå på testet. 37 Analytisk härledning av styrkefunktionen: Parameterskattning Modell: y(t) = bu(t) + v(t) eststorhet baserad på parameterskattning: 2(z) = U U σv 2 (ˆb b ) 2, ˆb = U U U Y, v(t) N(, σ 2 v ), vitt U 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 2 : vilket är ekvivalent med β(b) = P( 2(z) = ɛ 2 2 b) β(b) = P ( ɛ 2 b ) + P ( ɛ 2 b) 38 Analytisk härledning av styrkefunktionen: Prediktionsfel y(t) = bu(t) + v(t) eststorhet baserad på prediktionsfel: Felfritt fall: (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 (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 ). 39 Analytisk härledning av styrkefunktionen: Prediktionsfel forts. Härledning av signifikansnivån: Givet en tröskel : vilket är ekvivalent med β(b ) = P( (z) b = b ) P( (z) σ 2 v σ 2 v Men β(b) för b b är det mer besvärligt. Återkommer till hur man gör då. b = b ) 4
ämföra två teststorheter med hjälp av styrkefunktionen När det inte går att härleda analytiskt (z) = (y ŷ) 2 = 2(z) = U U σv 2 (ˆb b ) 2 ˆb = U U U 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 =. eststorheten 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 2 (z). (Neyman-Pearson Lemma) 4 beta.8.6.4 theta Grundproblemet är att under H hitta fördelningen för en teststorhet k (z) där k (z) är en olinjär funktion. I detta sammanhang kanske en minimering av en kvadratisk funktion. Analytisk lösning oftast ej möjlig. vå vägar som finns att tillgå är: Slumpa fram data z och se vad k (z) får för fördelning 2 Om möjligt, mät upp (mycket) data itta på histogrammet för k (z). Problem med sammansatta nollhypoteser. 42 Brus genom olinjäritet Styrkefunktion via simuleringar eller uppmätta data Y = sin(x 2 ) + där X N(, ) Generera 5 oberoende observationer X, beräkna Y och plotta histogram: 6 5 4 3 2 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 = (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 k, skatta β(θ). 7 Gå tillbaka till steg 2 och fixera ett nytt θ. Stora mängder uppmätta data istället för simulering..2.4.6.8.2.4.6.8 2 43 44
P(Detect) 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) ROC-kurvor (Reciever Operating Characteristics) Sannolikheten för detektion P(D) plottas som funktion av sannolikheten för falskalarm P(FA) för olika tröskelval men för en given felstorlek..9.8.7.6.5 est est 2 Inte exakt rätt om man har återkopplingar i systemet..4.3.2...2.3.4.5.6.7.8.9 P(False Alarm) 45 est 2 tydligt bättre än test 46 Sammanfattning rö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. SFS6 Diagnos och övervakning Föreläsning 6 - röskling och analys av teststorheter Erik Frisk Institutionen för systemteknik Linköpings universitet frisk@isy.liu.se 25-4-2 47 48