Datorövning 5 Tillförlitlighet hos system

Relevanta dokument
Datorövning 1: Fördelningar

bli bekant med summor av stokastiska variabler.

Datorövning 1 Fördelningar

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

DATORÖVNING 2 MATEMATISK STATISTIK FÖR D, I, PI OCH FYSIKER; FMSF45 & MASB03. bli bekant med summor av stokastiska variabler.

Datorövning 2 Betingad fördelning och Centrala gränsvärdessatsen

Föreläsning 7. Statistikens grunder.

Datorövning 1 Introduktion till Matlab Fördelningar

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Datorövning 1: Fördelningar

Datorövning 6 Extremvärden och Peak over Threshold

Datorövning 3 Bootstrap och Bayesiansk analys

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Statistiska metoder för säkerhetsanalys

Datorövning 3 Bootstrap och Bayesiansk analys

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Demonstration av laboration 2, SF1901

PROGRAMFÖRKLARING I. Statistik för modellval och prediktion. Ett exempel: vågriktning och våghöjd

Datorövning 6 Extremvärden och Peaks over Threshold

histogram över 1000 observerade väntetider minuter 0.06 f(x) täthetsfkn x väntetid 1

Mer om slumpvariabler

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

1 Stora talens lag. Laboration 2 Matematisk statistik allmän kurs, MASA01:A, HT Teori. 1.2 Uppgifter

Statistiska metoder för säkerhetsanalys

PROGRAMFÖRKLARING III

Weibullanalys. Maximum-likelihoodskattning

histogram över 1000 observerade väntetider minuter 0.06 f(x) täthetsfkn x väntetid

träna på att använda olika grafiska metoder för att undersöka vilka fördelningar ett datamaterial kan komma från

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs VT2014, lp3. Laboration 2. Fördelningar och simulering

Föreläsning 8: Konfidensintervall

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

Statistiska metoder för säkerhetsanalys

Föreläsning 3. Sannolikhetsfördelningar

Instruktioner till arbetet med miniprojekt I

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

FMSF55: Matematisk statistik för C och M OH-bilder på föreläsning 5, a 2 e x2 /a 2, x > 0 där a antas vara 0.6.

Avd. Matematisk statistik

Första sidan är ett försättsblad (laddas ned från kurshemsidan) Alla frågor som nns i uppgiftstexten är besvarade

BIOSTATISTISK GRUNDKURS, MASB11 ÖVNING 6 ( ) OCH INFÖR ÖVNING 7 ( )

Hur måttsätta osäkerheter?

SF1901 Sannolikhetsteori och statistik: HT 2014 Lab 1 för CSAMHS, CINEKI, och CL

Föreläsning 4. Kapitel 5, sid Stickprovsteori

Kontrollera att följande punkter är uppfyllda innan rapporten lämnas in: Första sidan är ett försättsblad (laddas ned från kurshemsidan)

Linjära ekvationssystem

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

SF1901: SANNOLIKHETSTEORI OCH STATISTIKTEORI KONSTEN ATT DRA INTERVALLSKATTNING. STATISTIK SLUTSATSER. Tatjana Pavlenko.

Målet för D2 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS

Introduktion till statistik för statsvetare

TAMS79: Föreläsning 6. Normalfördelning

LUNDS UNIVERSITET 1(6) STATISTISKA INSTITUTIONEN Per-Erik Isberg

4.1 Grundläggande sannolikhetslära

BIOSTATISTISK GRUNDKURS, MASB11, VT-16, VT2 ÖVNING 3, OCH INFÖR ÖVNING 4

Nedan redovisas resultatet med hjälp av ett antal olika diagram (pkt 1-6):

LÖSNINGAR TILL. Matematisk statistik, Tentamen: kl FMS 086, Matematisk statistik för K och B, 7.5 hp

Målet för D3 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS

Två parametrar: µ (väntevärdet) och σ (standardavvikelsen) µ bestämmer normalfördelningens läge

Resultatet läggs in i ladok senast 13 juni 2014.

FÖRELÄSNING 3:

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

Föreläsning 7: Punktskattningar

Föreläsning 4, Matematisk statistik för M

DATORÖVNING 2: SIMULERING

Tentamen i Beräkningsvetenskap II, 5.0 hp, Del A

Statistik 1 för biologer, logopeder och psykologer

Några extra övningsuppgifter i Statistisk teori

Experimentella metoder 2014, Räkneövning 1

Kap 3: Diskreta fördelningar

Grundläggande matematisk statistik

Föreläsning 7: Punktskattningar

Matematisk statistik allmän kurs, MASA01:B, HT-14 Laborationer

Lunds tekniska högskola Matematikcentrum Matematisk statistik

F8 Skattningar. Måns Thulin. Uppsala universitet Statistik för ingenjörer 14/ /17

Monte Carlo-metoder. Bild från Monte Carlo

EXEMPEL PÅ FRÅGESTÄLLNINGAR INOM STATISTIK- TEORIN (INFERENSTEORIN):

SF1901: Sannolikhetslära och statistik

Lektionsanteckningar 11-12: Normalfördelningen

Föreläsning 4: Konfidensintervall (forts.)

Matematisk statistik 9 hp Föreläsning 4: Flerdim

TMS136. Föreläsning 4

Diskussionsproblem för Statistik för ingenjörer

FORMELSAMLING MATEMATISK STATISTIK FÖR W; FMSF75 UPPDATERAD Sannolikhetsteori. Beskrivning av data. Läges-, spridnings- och beroendemått

F22, Icke-parametriska metoder.

1 Bakgrund DATORÖVNING 3 MATEMATISK STATISTIK FÖR E FMSF Något om Radon och Radonmätningar. 1.2 Statistisk modell

Del I. Uppgift 1 För händelserna A och B gäller att P (A) = 1/4, P (B A) = 1/3 och P (B A ) = 1/2. Beräkna P (A B). Svar:...

Matematisk statistik för B, K, N, BME och Kemister

MS-A0509 Grundkurs i sannolikhetskalkyl och statistik Sammanfattning, del I

MS-A0509 Grundkurs i sannolikhetskalkyl och statistik Sammanfattning, del I

Laboration 4: Hypotesprövning och styrkefunktion

Tentamen i Matematisk statistik Kurskod S0001M

Grundläggande matematisk statistik

Stokastiska processer och simulering I 24 augusti

SF1910 Tillämpad statistik, HT 2016 Laboration 1 för CSAMHS, CLGYM-TEMI

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet Per-Erik Isberg. Laboration 1. Simulering

Lunds tekniska högskola Matematikcentrum Matematisk statistik

FÖRELÄSNING 7:

FÖRELÄSNING 8:

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs HT2007. Laboration. Simulering

Transkript:

Lund tekniska högskola Matematikcentrum Matematisk statistik STATISTISKA METODER FÖR SÄKERHETSANALYS FMS065 1 Förberedelseuppgifter Datorövning 5 Tillförlitlighet hos system 1. Läs igenom handledningen och kapitel 8 8.1 i boken. 2 Systemtillförlitlighet Tillförlitligheten hos ett system, t.ex. en konstruktion, ett fordon, en produktionslinje, ett logistiksystem för ett stort lager, ett datornärverk, ett kärnkraftverk, en fördämning, en kommunikationssatellit eller en finansportfölj, är ofta definierad som sannolikheten att systemet fungerar som det är tänkt. Vi använder också det motsatta konceptet, dvs. felsannolikheten P f (f står för failure ), som är sannolikheten att systemet inte fungerar som det var tänkt. Funktionsnivån hos systemet kommer uppenbarligen att bero på egenskaperna hos systemet. Antag att alla intressanta egenskaper hos systemet kan beskrivas med hjälp av en uppsättning parametrar x 1, x 2,..., x n. Vi vill att systemet ska tåla en uppsättning belastningar, som vi väljer, dvs. konstruktionen måste tåla en viss nivå på vindstyrka eller vikt, ett fordon måste kunna färdas en godtagbar sträcka innan dess motor går sönder, en produktionslinje måste producera gods oavbrutet under minst en vecka för att vara lönsam, lagrets logistiksystem måste kunna leverera minst 99 % av de beställda varorna i tid och till rätt beställare. Storleken på dessa belastningar, y 1, y 2,..., y m, måste begränsas, på grund av konstruktionsbrister, kostnadsbegränsningar, tidsbegränsningar, etc. Det finns alltså kombinationer av laster, y 1, y 2,..., y m och systemegenskaper, x 1, x 2,..., x n, för vilka systemets kapacitet överskrids och där systemet går sönder. Vi kan uttrycka detta som Systemet fungerar som tänkt h(y 1,..., y m, x 1,..., x n ) > 0 Systemet fungerar inte som tänkt h(y 1,..., y m, x 1,..., x n ) < 0 Funktionen h kallas felfunktion ( failure funktion, performance function, state function ). Om parametrarna och lasterna är slumpmässiga betraktar vi dem som slumpvariabler, Y 1, Y 2,..., Y m och X 1, X 2,..., X n. Nu kan vi skriva felsannolikheten P f som P f = P(h(Y 1,...,Y m, X 1,..., X n ) < 0) Slumpvariabeln Z = h(y 1,...,Y m, X 1,...,X n ) kallas ibland för säkerhetsmarginalen. I denna datorövning ska vi beräkna P f. Både funktionen h och fördelningarna för Y 1,...,Y m och X 1,..., X n kommer att vara kända. Däremot kommer felsannolikheten inte alltid att vara så enkel att beräkna utan vi kommer att behöva simulera fram den. 3 En last och en styrka Vi har en konstruktion av något slag. Den last S ( stress ) konstruktionen utsätts för har fördelningsfunktionen F S (x) = exp( e (x b S)/a S )

ii där b S = 55 och a S = 2.5. Styrkan R ( resistance ) hos kunstruktionen har fördelningsfunktionen { F R (x) = 1 e x br cr a R, x > b R 0, x b R där b R = 70, a R = 5 och and c R = 2. Uppgift: Identifiera fördelningarna (normal, Weibull, Gumbel, likformig,... )? Antag att lasten och stykan är oberoende. Då blir felfunktionen h helt enkelt h(r, S) = R S och felsannolikheten blir P f = P(h(R, S) < 0) = P(R S < 0) = P(S > R) Vi börjar med att rita upp de två täthetsfunktionerna f S (x) och f R (x): >> as=2.5; bs=55; ar=5; br=70; cr=2; >> x=linspace(45,90); >> fsx=gumbpdf(x,as,bs); % gumbpdf från kurshemsidan. >> frx=wblpdf(x-br,ar,cr); % Matlabs Weibullfördelning saknar b-parameter! >> figure(1) >> plot(x,frx, b-,x,fsx, r- ) >> legend( f_r(x) styrka, f_s(x) last ) >> xlabel( x ) Uppgift: Ser det ut som om felsannolikheten är stor eller liten? Felsannolikheten kan beräknas som (satsen om total sannolikhet): P f = P(S > R) = = b R ( 1 exp( e (r b S)/a S ) P(S > r R = r) f R (r) dr = ) cr a R ( r br a R (1 F S (r)) f R (r) dr = ) cr 1 e r br cr a R dr Denna fruktansvärda integral kan inte beräknas analytiskt. Men det finns i Matlab en enkel rutin för numerisk integration, trapz, som använder trapetsmetoden. För att använda den måste vi först definiera integranden på en grid: >> r=br:0.01:150; % Vi ska integrera till oändligheten men 150 räcker. >> FSr=gumbcdf(r,aS,bS); % gumbcdf från hemsidan. >> frr=wblpdf(r-br,ar,cr); >> integrand=(1-fsr).*frr; >> Pf = trapz(r,integrand); Uppgift: Beräkna felsannolikheten. Hur ofta kan man förvänta sig att systemet går sönder?

iii 3.1 Simulering av P f Här lyckades vi skriva upp och beräkna den integral som gav felsannolikheten. Om systemet är mer komplicerat kan det vara omöjligt. Då kan man, om man känner fördelningarna, beräkna felsannolikheten med hjälp av simulering istället. Om felsannolikheten är liten kan det vara svårt eftersom vi då måste simulera ett mycket stort antal gånger för att få med flera fel. Vi kan förvänta oss att systemet går sönder, i medeltal, en gång på 1/P f. Vi måste alltså simulera flera tusentals gånger för att vår simulering ska ge tillförlitligt resultat. Eftersom vi i praktiken simulerar bara när vi inte kan beräkna P f kan vi inte på förhand veta hur stor simulering som behövs. Vi gör en lite för liten simulering för att se hur det går: >> N=500; % Simulera S och R 500 gånger. >> S=gumbrnd(aS,bS,1,N); % gumbrnd från hemsidan. >> R=bR+wblrnd(aR,cR,1,N); >> figure(2) >> plot(1:n,r, bo,1:n,s, r* ) % Rita de simulerade S och R. >> legend( R: styrka, S: last ) >> xlabel( Simuleringsnummer ) Uppgift: Jämför figuren med täthetsfunktionerna i förra figuren. Ser det ut som om konstruktionen går sönder i någon av simuleringarna? Även om det hamnade en eller två laster uppe bland styrkorna är det ju inte säkert att lasten översteg sin styrka. Vi kan se det om vi ritar lasterna och styrkorna mot varandra: >> figure(3) >> I=find(S>R); % find ger indexen för de simuleringar där S>R. >> plot(r,s, b. ) >> plot(r(i),s(i), ro ) % Rödmarkera de S-R-par där S>R. >> plot([65 90],[65 90], k-,[65 90],[bR br], k-,[br br],[45 90], k- ) % Diverse avgränsnande linjer, se nedan. >> xlabel( R ) >> ylabel( S ) Den vertikala linjen anger den undre gränsen för styrkan, dvs. b R. Det finns aldrig punkter till vänster om den. Över den horisontella linjen (också b R ) ligger de laster som överstiger den undre gränsen för styrkan. Det är de röda punkter som låg bland de blå i figur 2. Diagonalen anger när lasten är lika med styrkan. De punkter som ligger ovanför den är de där lasten översteg styrkan (nummerna ii). Uppgift: Låg någon av lasterna över motsvarande styrka? Nu skattar vi felsannolikheten: >> h=r-s; >> Pf_hat=sum(h<0)/N Uppgift: Blev skattningen bra?

iv Uppgift: Gör om hela simuleringen (och figurerna). Hur gick det med skattningen? Osäkerheten hos simuleringen Skattningen blir uppenbarligen mycket osäker och ofta lika med noll. Vi kan ta reda på hur osäker den blir genom att göra 500 simuleringar och upprepa det ett stort antal gånger, ungefär som när vi gjorde bootstrap, men med skillnaden att vi nu kan simulera från de sanna fördelningarna. Sedan kan vi göra ett histogram över skattningarna för att bedöma osäkerheten: >> M = 1000; % M=1000 upprepningar med N=500 i varje. >> for k=1:m Sboot=gumbrnd(aS,bS,1,N); Rboot=bR+wblrnd(aR,cR,1,N); hboot=sboot-rboot; Pfboot(k)=sum(hboot>0)/N; end >> figure(4) >> hist(pfboot) >> plot([pf Pf],[0 800], r- ) % Det sanna Pf-värdet enligt integralen. >> axis([0 8*10^(-3) 0 Inf]) % Sätt skalan så vi kan jämföra med nästa metod. Uppgift: Varför ser skattningens fördelning ut som den gör? Eftersom antalet fel bland 500 simueringar är Bin(500, P f )-fördelat kan vi beräkna skattningens väntevärde, P f, standardavvikelse, P f (1 P f )/500, och variationskoefficient: >> E_Pfboot = Pf >> D_Pfboot = sqrt(pf*(1-pf)/n) >> R_Pfboot = D_Pfboot/E_Pfboot Uppgift: Notera variationskoefficienten. 3.2 Importance sampling Det räcker uppenbarligen inte att bara simulera 500 gånger för att få en bra uppskattning av felsannolikheten. Vi kan naturligtvis öka antalet simuleringar från 500 till något (mycket) större men om den sannolikhet vi ska uppskatta är mycket liten kan det vara nästan omöjligt att simulera så mycket som behövs. Problemet är ju att vi får en massa nollor (när lasten understiger styrkan) och bara några enstaka ettor (när lasten överstiger styrkan). Vi skulle vilja hitta på ett sätt att få fler fel. En sådan metod är importance sampling som går ut på att simulera från en annan fördelning som ger fler fel och sedan vikta resultatet på lämpligt sätt. Vårt problem är ju (se figur 1) att övre svansen i fördelningen för lasten S knappt kommer upp ens till undre gränsen för styrkan R. Om lastfördelningen legat högre upp skulle vi fått fler fel och kunnat göra en bättre skattning. Det hade, t.ex., varit praktiskt om lasten legat 15 enheter högre upp:

v >> % Rita först om figur 1 om du slängt den! >> figure(1) >> S_flytt=15; >> plot(x,gumbpdf(x,as,bs+s_flytt), r-- ) % Lägesparametern ökad 15 enheter. Om vi simulerar lasterna från denna nya fördelning kommer vi att få fler fall där S > R. Problemet är bara att det blir alldeles för många fel. Eftersom en täthetsfunktion f (x) är proportionell mot sannolikheten att hamna i närheten av x kan vi räkna ut hur stor andel av de värden som simulerades till värdet x som skulle blivit så stora om vi simulerat från den rätta fördelningen i stället för den flyttade, nämligen f S (x) f Sflyttad (x) (1) Det utnyttjar vi genom att vikta de framsimulerade felen med denna andel. Då blir det inte bara en massa nollor utan ett antal tal mellan 0 och 1 som anger hur stor andel av de simulerade felen som fortfarande skulle varit fel om vi simulerat från rätt fördelning. Obervera att fördelningarna f S (x) och f Sflyttad (x) måste vara definierade på samma område annars kan en av dem bli noll och kvoten oanvändbar. Därför importance samplar vi lasterna och inte styrkorna. Gumbelfördelningen är ju definierad på hela reella axeln medan Weibullfördelningen bara är definierad från b R och uppåt. Vi kan alltså inte flytta styrkefördelningen, bara ändra skala, a R, och form, c R. Vi gör en en simuleringsomgång för att se vad som händer: >> R = br+wblrnd(ar,cr,1,n); % Styrkan simuleras som vanligt. >> S = gumbrnd(as,bs+s_flytt,1,n); % Lasten från den flyttade fördelningen. >> I = find(s>r); % Hitta felen. >> kvoter = zeros(size(r)); % Sätt allt till noll först. >> kvoter(i) = gumbpdf(s(i),as,bs)./gumbpdf(s(i),as,bs+s_flytt); % Felen viktas enligt (1). >> Pf_is=sum(kvoter)/N % Pf-skattnigen. Uppgift: Verkar skattningen bättre nu? Vi gör en ny variant av figur 3 med de nya simuleringarna: >> figure(3) >> I=find(S>R); >> plot(r,s, b. ) >> plot(r(i),s(i), ro ) >> plot([65 90],[65 90], k-,[65 90],[bR br], k-,[br br],[45 90], k- ) >> xlabel( R ) >> ylabel( S ) Uppgift: Blev det fler fel nu jämfört med den tidigare simuleringen? Vi har uppenbarligen en hel mängd fel nu. Trots det blir skattningen av felsannolikheten bra eftersom felen viktas ner. Vi ritar upp vikterna (kvoter) också:

vi figure(5) plot(1;n,kvoter, * ) xlabel( Simuleringsnummer ) axis([0 N 0 0.01]) Uppgift: Ungefär hur stor andel av de simulerade felen med den flyttade fördelningen hade gett ett fel med den riktiga fördelningen istället? Osäkerhet hos importance sampling-skattningen Vi avslutar med att uppskatta fördelningen för importance sampling-skattningen av P f genom att upprepa den 1000 gånger och rita ett histogram (jämför figur 4): >> M=1000; >> for k=1:m Rb=bR+wblrnd(aR,cR,1,N); Sb=gumbrnd(aS,bS+S_flytt,1,N); Ib=find(Sb>Rb); kvoterb=zeros(size(rb)); kvoterb(ib) = gumbpdf(sb(ib),as,bs)./gumbpdf(sb(ib),as,bs+s_flytt); Pf_isb(k)=sum(kvoterb)/N; end >> figure(6) >> hist(pf_isb) >> plot([pf Pf],[0 300], r- ) Uppgift: Hur ser fördelningen ut nu? För att jämföra osäkerheten i importance sampling-skattningen med den enkla simuleringsskattningen sätter vi skalan på x-axeln till samma som i figur 4: >> axis([0 8*10^(-3) 0 Inf]) Uppgift: Hur har det gått med osäkerheten hos skattningen? Eftersom vi inte vet vilken fördelning dessa skattningar har uppskattar vi väntevärde, standardavvikelse och variationskoefficient ur de 1000 simuleringsomgångarna: >> E_Pf_is = mean(pf_isb) >> D_Pf_is = std(pf_isb) >> R_Pf_is = D_Pf_is/E_Pf_is Uppgift: Jämför variationskoefficienten med den tidigare. Vad hände med den?

vii Eftersom vi vet att variationskoefficienten för den vanliga simuleringen blev R(Pf ) = D(P f ) E(Pf ) = Pf (1 P f )/N 1 Pf = N = 1 P f P f NP f P f R(Pf )2 kan vi också beräkna hur stort antal simuleringar som hade behövts för att den enkla simuleringen skulle haft lika liten variationskoefficient som en importance sampling med 500 observationer: >> N_krav = (1-Pf)/(Pf*R_Pf_is^2) Uppgift: Hur många simuleringar måste vi göra? Uppgift: Om du har tid över! Gör om den enkla simuleringen i 2.1 men med det nya antalet observationer. Gör också om de 1000 upprepningarna (det kan ta lite tid!) och histogrammet i figur 4 och jämför med importance sampling-resultatet i figur 6.