Datorövning 3 Bootstrap och Bayesiansk analys

Relevanta dokument
Datorövning 3 Bootstrap och Bayesiansk analys

Datorövning 1: Fördelningar

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

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

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

Datorövning 1 Fördelningar

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

Datorövning 6 Extremvärden och Peak over Threshold

Statistiska metoder för säkerhetsanalys

Datorövning 6 Extremvärden och Peaks over Threshold

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

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

Datorövning 1 Introduktion till Matlab Fördelningar

Datorövning 1: Fördelningar

Föreläsning 7. Statistikens grunder.

Demonstration av laboration 2, SF1901

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

Laboration 3: Parameterskattning och Fördelningsanpassning

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

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

Thomas Önskog 28/

bli bekant med summor av stokastiska variabler.

Inledning till statistikteorin. Skattningar och konfidensintervall för μ och σ

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

FÖRELÄSNING 7:

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 14 18

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

Simulering av Poissonprocesser Olle Nerman, Grupprojekt i MSG110,GU HT 2015 (max 5 personer/grupp)

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

Weibullanalys. Maximum-likelihoodskattning

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

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Tentamen i matematisk statistik (9MA241/9MA341, STN2) kl 08-12

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

Föreläsning 8: Konfidensintervall

F9 Konfidensintervall

SF1901: Sannolikhetslära och statistik. Statistik: Intervallskattning (konfidensintervall) Jan Grandell & Timo Koski

SF1901: Sannolikhetslära och statistik. Statistik: Intervallskattning (konfidensintervall)

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

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

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

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

FÖRELÄSNING 8:

Repetitionsföreläsning

1 Syfte. 2 Moment hos och faltning av fördelningar MATEMATISK STATISTIK, AK FÖR L, FMS 033, HT Angående grafisk presentation

I den här datorövningen ser vi hur R kan utnyttjas för att kontrollera modellantaganden och beräkna konfidensintervall.

Några extra övningsuppgifter i Statistisk teori

Mer om slumpvariabler

Grundläggande matematisk statistik

TMS136. Föreläsning 4

SF1901 Sannolikhetsteori och statistik I

Introduktion till statistik för statsvetare

SF1901 Sannolikhetsteori och statistik I

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Laboration 1: Beskrivande statistik

Föreläsning 6 (kap 6.1, 6.3, ): Punktskattningar

Föreläsning 11: Mer om jämförelser och inferens

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

Laboration 4: Hypotesprövning och styrkefunktion

Statistiska metoder för säkerhetsanalys

Föreläsning 7: Punktskattningar

Grundläggande matematisk statistik

Lektionsanteckningar 11-12: Normalfördelningen

Avd. Matematisk statistik

Tentamen MVE301 Sannolikhet, statistik och risk

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

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

Lärmål Sannolikhet, statistik och risk 2015

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

Introduktion. Konfidensintervall. Parade observationer Sammanfattning Minitab. Oberoende stickprov. Konfidensintervall. Minitab

Diskussionsproblem för Statistik för ingenjörer

Uppgift 1 a) En kontinuerlig stokastisk variabel X har fördelningsfunktion

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:...

0 om x < 0, F X (x) = c x. 1 om x 2.

TMS136. Föreläsning 10

EXEMPEL PÅ FRÅGESTÄLLNINGAR INOM STATISTIKTE- ORIN (INFERENSTEORIN):

Föreläsning 1. Repetition av sannolikhetsteori. Patrik Zetterberg. 6 december 2012

Tentamen i Matematisk statistik Kurskod S0001M

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

Laboration med Minitab

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

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

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

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

Lunds tekniska högskola Matematikcentrum Matematisk statistik

Statistik 1 för biologer, logopeder och psykologer

Laboration 2: Styrkefunktion samt Regression

TAMS65 - Föreläsning 2 Parameterskattningar - olika metoder

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

1 Förberedelser. 2 Teoretisk härledning av värmeförlust LABORATION 4: VÄRMEKRAFTVERK MATEMATISK STATISTIK AK, MAS 101:A, VT-01

Lunds tekniska högskola Matematikcentrum Matematisk statistik

Kapitel 4. Kontinuerliga slumpvariabler och deras sannolikhetsfördelningar. Sannolikhetslära och inferens II

TAMS65 - Föreläsning 2 Parameterskattningar - olika metoder

Kap 3: Diskreta fördelningar

4.1 Grundläggande sannolikhetslära

TAMS65 - Föreläsning 1 Introduktion till Statistisk Teori och Repetition av Sannolikhetslära

Föreläsning 12: Regression

Föreläsning 7: Punktskattningar

Transkript:

Lunds tekniska högskola Matematikcentrum Matematisk statistik STATISTISKA METODER FÖR SÄKERHETSANALYS FMS065, HT-17 Datorövning 3 Bootstrap och Bayesiansk analys I denna datorövning ska vi fokusera på två olika angreppssätt för att studera osäkerheten hos skattningar: bootstrap och bayesiansk analys. I den första delen ska vi undersöka tiden mellan jordbävningar, och, i den andra, livslängden hos kullager. Data finns i filerna quakeper.mat respektive ballbearings.mat på hemsidan. 1 Förberedelseuppgifter 1. Läs igenom laborationshandledningen samt kapitel 4.4 4.6 och 6 i boken. 2. Skriv ner Bayes formel för uppdatering av en a priori-täthetsfunktion till en a posteriori-täthetsfunktion. 2 Jordbävningsdata Tidsintervallen mellan successiva allvarliga jordbävningar (> 7.5 på Richterskalan eller mer än 1000 dödsfall) över hela jorden har noterats. Sammanlagt 63 allvarliga jordbävningar, dvs 62 tidsintervall, finns registrerade. Detta datamaterial täcker perioden 16 december 1902 till 4 mars 1977. Vårt mål är att få en uppfattning om sannolikheten att få en period av mer än 1500 dagar ( 4 år) mellan jordbävningar. Vi ska skatta denna sannolikhet och rita ett histogram för att beskriva osäkerheten hos denna skattning. Vi ska också göra ett konfidensintervall för sannolikheten. Läs in jordbävningsdata i Matlab och rita in data i ett (normerat) histogram: >> load quakeper >> histpdf(quakeper) % histpdf från kurshemsidan. >> xlabel('dagar') % Sätter titel på x-axeln Från tidigare studier (och histogrammet) tror vi att en exponentialfördelning borde passa bra för att modellera tiderna mellan jordbävningar. Exponentialfördelningen har en parameter θ, (θ = förväntad tid mellan jordbävningar): F X (x; θ) = 1 e x/θ. (1) och vi söker sannolikheten p = P(X > 1500) = 1 F X (1500; θ) = e 1500/θ. (2) Först ska vi skriva ner skattningen av p och (försöka) beräkna variansen. Antag att vi har n slumpvariabler X k, k = 1,... n, som är oberoende och vars fördelning ges av ekvation (1). ML-skattningen av θ ges då av Θ = 1 n n X k. k=1

DATORÖVNING 3, FMS065 2 Ekvation (2) ger sedan att P = e 1500/Θ. Notera att eftersom variablerna X k är slumpmässiga så är även Θ and P slumpmässiga. Osäkerheten hos skattningen P mäts med hjälp av dess varians. Ett sätt att beräkna variansen för P är att utnyttja att V (P ) = E ( (P ) 2) E 2 (P ). Uppgift: Skriv upp de integraler som ger E(P ) och E ( (P ) 2). Verkar de enkla att beräkna? (3) Variansen är uppenbarligen inte så lätt att beräkna. Därför ska vi istället använda bootstrap för att lösa problemet. 2.1 Punktskattning av p För att få en skattning p av p beräknar vi först ML-skattningen av θ och utnyttjar ekvation (3): >> thetastar = mean(quakeper) >> pstar = exp(-1500/thetastar) Uppgift: Skriv upp skattningen av p. Ett annat sätt att skatta sannolikheten är att använda den empiriska fördelningsfunktionen. Rita upp den empiriska fördelningsfunktionen och avläs sannolikheten att överstiga värdet 1500: >> [x,ratios] = empcdf(quakeper); >> plot(x,ratios) Man kan också få den empiriska skattningen på följande vis: >> pemp = sum(quakeper>1500)/length(quakeper) % Jämför lab 1. Uppgift: Ligger skattningarna pstar och pemp nära varandra? Om de inte legat nära varandra, vad kunde det berott på? Nu är frågan hur bra skattningen är, framförallt hur osäker den är. Vi vill inte beräkna den teoretiska variansen eftersom det är ganska besvärligt. Istället utnyttjar vi bootstrap-tekniken för att undersöka osäkerheten hos p. 2.2 Uppskattning av osäkerheten hos p med hjälp av bootstrap Under de senaste årtiondena har bootstrap-tekniker varit föremål för stort intresse. Bootstrap-tekniken kombinerar klassisk inferensteori med datorintensiva metoder. Vi ska bara beröra några grundläggande idéer 1 och demonstrera hur man använder bootstrap för att hitta fördelningen för skattningsfelet E = p p. Vi kan ju inte beräkna fördelningen fullständigt eftersom vi bara har en skattning p och p är okänt. Men med hjälp av bootstrap kan vi åtminstone skatta fördelningen för felet E. 1 Den som vill lära sig mer om bootstrap kan läsa FMS091 Monte Carlo-baserade statistiska metoder

DATORÖVNING 3, FMS065 3 2.2.1 Bootstrap-intro För att förstå den grundläggande idén bakom bootstrap, använder vi först ett litet datamaterial: >> y = [23, 45, 67, 89, 132, 171] % Ett litet datamaterial >> n = length(y) % med n observationer. Följande rader ger ett bootstrap-stickprov från vektorn y: >> help randi % Vad gör funktionen randi? >> y % Upprepa y så vi enkelt kan jämföra med yboot. >> Iboot = randi(n,1,n) % En (1 x n)-vektor med slumptal från 1,...,n. >> yboot = y(iboot) % Ett bootstrap-stickprov från y % med y-värdena från platserna i Iboot. Se till att du förstår hur yboot uppstod från y med hjälp av Iboot. Upprepa raderna >> Iboot = randi(n,1,n) >> yboot = y(iboot) för att få nya stickprov. Vektorn yboot innehåller 6 värden där varje element i yboot tar något av värdena [23, 45, 67, 89, 132, 171] med lika sannolikhet. 2.2.2 Bootstrap för p Nu ska vi använda de 62 observationerna i quakeper. Vi har antagit att de är oberoende av varandra. Från värdena i quakeper fick vi skattningen p av p. Nu ska vi undersöka hur p varierar när vi slumpmässigt, med återläggning, väljer 62 värden från stickprovet quakeper: >> n = length(quakeper); >> Iboot = randi(n,n,1); % (n x 1)-vektor istället. >> yboot = quakeper(iboot); % Ett bootstrap-stickprov. >> thetaboot = mean(yboot) % En bootstrapskattning av theta. >> pboot = exp(-1500/thetaboot) % En bootstrapskattning av p. Värdet pboot är en ny skattning av p, skattad med bootstrap-stickprovet yboot. Uppgift: Hur stämmer pboot med de tidigare skattningarna pstar och pemp? Vårt syfte med att bootstrapa från quakeper var ju att få fram fördelningen för E = p p. Man kan visa att E = p p har approximativt samma fördelning som skillnaden pstar-pboot. Så om vi upprepar kommandona ovan för att göra flera skattningar pboot, kan vi sedan göra ett histogram för skillnaden pstar-pboot, som beskriver variationen hos felet p p och därmed osäkerheten hos skattningen p : >> NB = 5000; % Antal bootstrap-replikat. >> for k=1:nb yboot(:,k) = quakeper(randi(n,n,1)); % (:,k) betyder

DATORÖVNING 3, FMS065 4 end; % "alla rader men bara kolumn k". % Vi får alltså en n x NB-matris med % de olika bootstrap-stickproven % i varsin kolumn. >> thetaboot = mean(yboot); % Ett medelvärde för varje kolumn. >> pboot = exp(-1500./thetaboot); % Divisionen./ betyder elementvis % division, inte matrisdivision som är % default i Matlab. Rita upp bootstrap-skattningarna för att se hur de varierar: >> figure(1) >> histpdf(pboot,20) % Histogram med 20 klasser. >> title('bootstrap-skattningar') Beräkna bootstrap-felen och se hur de varierar: >> esterror = pstar-pboot; >> figure(2) >> histpdf(esterror,20) >> title('bootstrap-skattningsfel') Uppgift: Jämför de två histogrammen. Hur relaterar de till varandra? Uppgift: Enligt teorin är ML-skattningar approximativt normalfördelade om n är stort. Man kan fråga sig om 62 är tillräckligt stort. Ser det normalfördelat ut? 2.3 Bootstrap-konfidensintervall Eftersom skattningsfelen inte är särskilt normalfördelade är det inte någon bra idé att använda ett normalfördelningsbaserat konfidensintervall även om vi kunnat beräkna variansen. Istället gör vi ett konfidensintervall baserat direkt på fördelningen för felen med hjälp av kvantilerna för de bootstrapade felen. Vi vill göra ett 95 % konfidensintervall och behöver därför ta fram 2.5 %- och 97.5 %-kvantilerna för bootstrap-felen: >> help prctile % Empiriska kvantiler. >> q = prctile(esterror,[2.5 97.5]) Vi har nu att 95 % av felen ligger i intervallet [q(1), q(2)]. Eftersom felen ges av E = p p, så blir intervallet för p: >> ci_p = [pstar+q(1),pstar+q(2)] Uppgift: Beräkna bootstrap-konfidensintervallet för p.

DATORÖVNING 3, FMS065 5 2.4 Stickprovsstorlekens inverkan Vi har här analyserat alla de 62 tidsintervallen. Det var inte tillräckligt många för att skattningarna skulle bli normalfördelade men bootstrap-konfidensintervallet blev ganska bra. Vi ska nu göra om det hela med enbart den första halvan av observationsperioden (till och med 31 januari 1940), dvs de första 22 tidsintervallen. >> quakeper = quakeper(1:22); % Tag bara med period nr. 1-22. Uppgift: Beräkna ny ML-skattning pstar och simulera fram tillhörande bootstrap-konfidensintervall ci_p baserat på detta mindre material. Blir det några intressanta skillnader i resultaten? Uppgift: Hur märks det på bootstrap-konfidensintervallet att vi har färre observationer? 3 Bayesiansk analys av jordbävningsdata Istället för bootstrap-tekniken ska vi nu analysera samma data med Bayesiansk teknik. Vi ska undersöka intensiteten Λ = 1/Θ istället för återkomsttiden Θ. Den sannolikhet vi är intresserade av är P = P(X > 1500) = e 1500/Θ = e Λ 1500. I likhet med i bootstrap-exemplet, vill vi hitta fördelningen för P. I en Bayesiansk ansats är intensiteten Λ en slumpvariabel, därför betecknas den med stor bokstav. I klassisk ansats är λ en fix, men okänd, konstant medan skattningen är slumpmässig. I den Bayesianska ansatsen är P en funktion av slumpvariabeln Λ och alltså också en slumpvariabel. Vi tar fram fördelningen för P genom att utgå från fördelningen för Λ. Vi antar, som tidigare, att tiderna mellan jordbävningar är exponentialfördelade. Det medför att antalet jordbävningar, N, under tidsintervallet [0, t] är Poissonfördelat, givet att vi känner värdet på intensiteten, Λ. Det ger att sannolikheten för k jordbävningar är: λt (λt)k P(N = k Λ = λ) = e, för k = 0, 1,... k! Den Bayesianska tekniken kräver att vi har en a priori-fördelning för Λ. Sedan använder vi informationen om att det inträffade 63 jordbävningar under perioden för att få a posteriori-fördelningen. Uppdateringen görs med formeln f post Λ prior (λ) = c P(N = 63 Λ = λ) fλ (λ), (4) där c är en konstant, dvs. den beror inte på λ. 3.1 Val av a priori-fördelning Första steget i en Bayesiansk analys är att välja a priori-fördelning. A priori-fördelningen ska återspegla vår kunskap om Λ innan vi gjort mätningarna. Om vi inte vet så mycket om Λ ska vi välja en platt fördelning. Här ska vi välja en oegentlig ( improper ) a priori-fördelning: f prior Λ (λ) = 1/λ, för λ > 0. Detta ger en icke-informativ a priori-fördelning. Vi ritar upp en bit av den:

DATORÖVNING 3, FMS065 6 >> lambda = linspace(0.001,0.005); % Jämnt fördelade tal mellan 0.001 och 0.005. >> f_prior = 1./lambda; %./ för elementvis division. >> figure(1) >> plot(lambda,f_prior) >> xlabel('\lambda') Uppgift: Varför är denna a priori-fördelning oegentlig? 3.2 Beräkning av a posteriori-fördelningen För att beräkna a posteriori-fördelningen tar vi först hänsyn till att vi vet att det blev 23 jordbävningar på de 13 560 dagarna (16 december 1902 till 31 januari 1940) under den första halvan av observationsperioden. Vi beräknar a posteriori-fördelningen med hjälp av ekvation (4). Eftersom N = antal jordbävningar är poissonfördelad, får vi att λ 13560 (λ 13560)23 P(N = 23 Λ = λ) = e 23! och a posteriori-fördelningen blir f post Λ (λ) = c c 1 e λ 13560 λ }{{ 23 } λ 1 }{{} uppdateringssannolikhet a prior-fördelning = c 1 e λ 13560 λ 23 = c 2 λ 23 1 e λ 13560 vilket är en gammafördelning med parametrar a = 23 och b = 13560 (Matlab använder parametrarna a och 1/b). Vi ritar a posteriori-fördelningen i samma diagram som a priori-fördelningen: >> a=23; b=13560; >> plot(lambda,gampdf(lambda,a,1/b),'r') Uppgift: Jämför a priori- och a posteriori-fördelningarna. Nu är vi ju egentligen intresserade av a posteriori-fördelningen för P = e Λ 1500. Eftersom ln P = 1500 Λ ska vi beräkna fördelningen för logaritmen av en gamma-fördelningen. Det går bra eftersom det är en monoton funktion. Vi får att fördelningsfunktionen för P ges av F p (p) = P(P p) = P(e Λ 1500 p) = P(Λ 1 1500 ln p) = 1 F Λ( 1 1500 med täthetsfunktionen f P (p) = F P(p) = d dp (1 F λ( 1 1500 ln p) = 1 1500p f Λ( 1 1500 Eftersom Matlab har funktioner för gammafördelningen behöver vi inte räkna ut exakt hur funktionerna ser ut. Vi ritar upp a posteriori-fördelningen för p: ln p). ln p)

DATORÖVNING 3, FMS065 7 >> p = exp(-lambda*1500); >> figure(2) >> subplot(211) % Delfigurer i samma fönster med 2 rader och 1 % kolumn. Rita i första delfönstret. >> plot(p,1-gamcdf(-log(p)/1500,a,1/b),'r') >> title('a posteriori-fördelningsfunktion för p') >> xlabel('p') >> subplot(212) % Rita i andra delfönstret. >> plot(p,1./(1500*p).*gampdf(-log(p)/1500,a,1/b),'r') >> title('a posteriori-täthetsfunktion för p') >> xlabel('p') Vi kan nu läsa av gränserna för ett 95 % trolighetsintervall för p i den övre figuren. Vi kan också räkna ut det med hjälp av kvantilerna i gamma-fördelningen: >> q_lambda = gaminv([0.025 0.975],a,1/b) >> q_p = exp(-[q_lambda(2) q_lambda(1)]*1500) Uppgift: Avläs trolighetsintervallet i figuren och kontrollera att det stämmer med kvantilberäkningen. Uppgift: Jämför trolighetsintervallet med konfidensintervallet från förra avsnittet. Verkar de lika? Vi ritar in histogrammet över bootstrapskattningarna från förra avsnittet i samma figur som a posterioritäthetsfunktionen: >> histpdf(pboot) Uppgift: Verkar det som om de två skattnings-teknikerna ger liknande fördelning på osäkerheten? 3.3 Effekten av ytterligare observationer Vi ska nu ta hänsyn till det som hände under den andra halvan av observationsperioden och uppdatera vår a posteriorifördelning igen. Det inträffade 40 jordbävningar under de resterande 13 560 dagarna (från 1 februari 1940 till 4 mars 1977). Den nya a posteriorifördelningen blir då också en gammafördelning med a = 23 + 40 och b = 13560 + 13560. Vi ritar upp den tillsammans med de båda tidigare fördelningarna: >> figure(1) % Rita in mer i figure 1. >> a_post = a+40 % Uppdatera det gamla a-värdet, >> b_post = b+13560 %... och b-värdet. >> plot(lambda,gampdf(lambda,a_post,1/b_post),'k')

DATORÖVNING 3, FMS065 8 Uppgift: Vad hände med fördelningen? Ser det ut som om det hänt något med jordbävningsintensiteten under perioden? Rita också in de nya fördelningarna i figur 2 och beräkna det uppdaterade trolighetsintervallet: >> figure(2) >> subplot(211) >> plot(p,1-gamcdf(-log(p)/1500,a_post,1/b_post),'k') >> subplot(212) >> plot(p,1./(1500*p).*gampdf(-log(p)/1500,a_post,1/b_post),'k') >> q_lambda_post = gaminv([0.025 0.975],a_post,1/b_post) >> q_p_post = exp(-[q_lambda_post(2) q_lambda_post(1)]*1500) Uppgift: Vad blev trolighetsintervallet nu? Jämför med det bootstrapade konfidensintervallet baserat på hela tidsperioden. Verkar de lika? Uppgift: Jämför med trolighetsintervallet baserat på första halvan av tidsperioden. Verkar sannolikheten att tiden mellan jordbävningar överstiger 1500 dagar ha ökat eller minskat? 4 Kullager (för den som har tid över) Vi avslutar med en ny bootstrap. Vi ska studera mätningar av livslängden på kullager. Vi anpassar en fördelning och vill undersöka osäkerheten hos skattningen av kvantilen x 0.9. Läs in data i Matlab: >> close all % Stäng alla gamla plot-fönster. >> load ballbearings Livslängdsmätningarna ligger i variablen ball. Mätenheten är millioner cykler. Av erfarenhet vet man ett en Weibullfördelning ofta är en lämplig modell för denna typ av data. Rita data i ett Weibull-papper för att kolla att det kan stämma: >> wblplot(ball) Uppgift: Verkar det passa med en Weibullfördelning? Weibullfördelningen har två parameterar, a och c: F X (x) = 1 e (x/a)c, x 0 (5) Nu påstår en expert att bara 10 % av kullagren har en livslängd på mindre än 40 million cykler. Vi vill undersöka detta påstående med hjälp av bootstrap.

DATORÖVNING 3, FMS065 9 5 Kullager en bootstrap-studie Vi ska nu undersöka den intressanta kvantilen, x 0.9. Mer precist ska vi skatta kvantilen och undersöka variationen hos skattningen med hjälp av bootstrap. Först skattar vi parametrarna a och c i Weibull-fördelningen och ritar upp den empiriska fördelningsfunktionen tillsammans med den skattade fördelningsfunktionen: >> par = wblfit(ball); >> a=par(1), c=par(2) >> [x,ratios] = empcdf(ball); >> plot(x,ratios) >> plot(x,wblcdf(x,a,c),'r') Vi kan beräkna den empiriska skattningen av x 0.9 genom att läsa av den empiriska fördelningsfunktionen eller genom >> x90emp = prctile(ball,10) Vi kan också använda ML-skattningen och läsa av den skattade fördelningsfunktionen eller använda >> x90star = a*(-log(0.9))^(1/c) Uppgift: Skatta x 0.9 på båda sätten och jämför skattningarna. För att få en uppfattning om variationen hos skattningen bootstrapar vi materialet för att få fler skattningar av x 0.9 : >> n = length(ball) >> NB = 5000; >> for k=1:nb xboot = ball(randi(n,n,1)); pboot = wblfit(xboot); x90boot(k) = pboot(1)*(-log(0.9))^(1/pboot(2)); end Rita ett histogram över bootstrap-skattningarna och beräkna ett bootstrap-konfidensintervall: >> figure >> histpdf(x90boot,20) >> esterror = x90star-x90boot; >> q = prctile(esterror,[2.5 97.5]); >> x90ci = [x90star+q(1) x90star+q(2)] Uppgift: Verkar experten ha rätt i att bara 10 % av kullagren har en livslängd på mindre än 40 million cykler?