Datorövning 6 Extremvärden och Peaks over Threshold

Relevanta dokument
Datorövning 6 Extremvärden och Peak over Threshold

Statistiska metoder för säkerhetsanalys

Datorövning 3 Bootstrap och Bayesiansk analys

Datorövning 3 Bootstrap och Bayesiansk analys

PROGRAMFÖRKLARING III

Datorövning 1: Fördelningar

bli bekant med summor av stokastiska variabler.

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.

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

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

Extremvärden att extrapolera utanför data och utanför teori/modell. Statistik för modellval och prediktion p.1/27

Datorövning 1 Introduktion till Matlab Fördelningar

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

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

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

Demonstration av laboration 2, SF1901

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

Datorövning 1 Fördelningar

Datorövning 1: Fördelningar

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

F9 Konfidensintervall

SF1901 Sannolikhetsteori och statistik I

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

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

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

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

(a) sannolikheten för att läkaren ställer rätt diagnos. (b) sannolikheten för att en person med diagnosen ej sjukdom S ändå har sjukdomen, dvs.

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

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

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

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

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

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.

SF1901 Sannolikhetsteori och statistik I

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

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

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

Kap 2. Sannolikhetsteorins grunder

SF1901 Sannolikhetsteori och statistik I

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

Introduktion till statistik för statsvetare

SF1901 Sannolikhetsteori och statistik I

Matematisk statistik 9hp Föreläsning 7: Normalfördelning

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

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

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

Avd. Matematisk statistik

BILAGA II. Extremvärdesstatistik och osäkerhet

Föreläsning 12: Repetition

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

Matematisk statistik KTH. Formelsamling i matematisk statistik

Diskussionsproblem för Statistik för ingenjörer

Grundläggande matematisk statistik

Matematisk statistik 9 hp, HT-16 Föreläsning 10: Punktskattningar

Laboration 3: Parameterskattning och Fördelningsanpassning

1. För tiden mellan två besök gäller. V(X i ) = 1 λ 2 = 25. X i Exp (λ) E(X i ) = 1 λ = 5s λ = 1 5

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

Lärmål Sannolikhet, statistik och risk 2015

SF1911: Statistik för bioteknik

Föreläsning 8: Konfidensintervall

Laboration 4: Hypotesprövning och styrkefunktion

Matematisk statistik kompletterande projekt, FMSF25 Övning om regression

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Thomas Önskog 28/

TMS136. Föreläsning 4

FÖRELÄSNING 7:

Datorövning 4 Poissonregression

Tillåtna hjälpmedel: Räknedosa. Formel- och tabellsamling i matematisk statistik.

Mer om konfidensintervall + repetition

SF1901: Sannolikhetslära och statistik

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

TMS136. Föreläsning 10

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

Provmoment: Tentamen 6,5 hp Ladokkod: A144TG Tentamen ges för: TGMAI17h, Maskiningenjör - Produktutveckling. Tentamensdatum: 28 maj 2018 Tid: 9-13

Föreläsningsanteckningar till kapitel 8, del 2

LÖSNINGAR TILL P(A) = P(B) = P(C) = 1 3. (a) Satsen om total sannolikhet ger P(A M) 3. (b) Bayes formel ger

FÖRELÄSNING 8:

(x) = F X. och kvantiler

Sannolikheten för att barnet skall få blodgrupp A0 A0 1/2 AA 1 AB 1/2 Övriga 0

Laboration 4: Lineär regression

Syftet med den här laborationen är att du skall bli mer förtrogen med det i praktiken kanske viktigaste området inom kursen nämligen

Datorövning 4 Poissonregression

Tentamen MVE301 Sannolikhet, statistik och risk

Matematisk statistik TMS064/TMS063 Tentamen

Avd. Matematisk statistik

Tentamen MVE301 Sannolikhet, statistik och risk

Matematisk statistik KTH. Formel- och tabellsamling i matematisk statistik

Datorövning 5 Tillförlitlighet hos system

Statistiska metoder för säkerhetsanalys

SF1901: Sannolikhetslära och statistik

9. Konfidensintervall vid normalfördelning

FORMELSAMLING HT-18 MATEMATISK STATISTIK FÖR B, K, N, BME OCH KEMISTER; FMSF70 & MASB02. Sannolikhetsteori. Beskrivning av data

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

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

Kurssammanfattning MVE055

b) Beräkna sannolikheten att en mottagen nolla har sänts som en nolla. (7 p)

Prediktera. Statistik för modellval och prediktion. Trend? - Syrehalt beroende på kovariater. Sambands- och trendanalys

Extrauppgifter i matematisk statistik

Transkript:

Lunds tekniska högskola Matematikcentrum Matematisk statistik STATISTISKA METODER FÖR SÄKERHETSANALYS FMS065, HT-16 Datorövning 6 Extremvärden och Peaks over Threshold I denna datorövning ska vi använda mätningarna av den signifikanta våghöjden hos en boj i Stilla havet. Data är hämtade från bojens egen hemsida: http://www.ndbc.noaa.gov/station_page.php?station= 46005. Länken finns på kurshemsidan. Gå gärna dit och kolla var bojen finns och hur den ser ut. Vi ska först skatta fördelningen för de mest extrema dags-maxima för den signifikanta våghöjden med POT (Peaks Over Threshold). Sedan ska vi anpassa en Generaliserad Extremvärdesfördelning och använda den för att uppskatta fördelningen för 10-års-maximum av våghöjden. Fördelningen ska vi sedan använda för att uppskatta 1000-decennievågen, dvs den våg som i medeltal kommer en gång per 1000 tioårsperioder. 1 Förberedelseuppgifter 1. Läs igenom handledningen till datorövningen samt kapitel 9.2 och 10.2 i boken. 2 Signifikant våghöjd I filen bojdata.mat finns alla meteorologiska data som bojen samlat in under perioden 1976 2012. Rådata finns i variabeln data. En förklaring till variablerna finns på http://www.ndbc.noaa.gov/measdes. shtml, länk finns på kurshemsidan. Vi börjar med att läsa in data och rita upp våghöjderna. Det vi är intresserade av är kolumnen WVHT: Significant wave height (meters) is calculated as the average of the highest one-third of all of the wave heights during the 20-minute sampling period. Den ligger i kolumn 9. Matlabs funktion datenum gör om år-månad-dag-timme-minut-sekund till Matlabs datumnummer. Man kan sedan få datum på x-axeln med datetick. Gör gärna help datetick för att se vilka varianter det finns. >> load bojdata >> WVHT = data(:,9); % WaVe HeighT >> tid = datenum([data(:,1:4) zeros(size(wvht)) zeros(size(wvht))]); % Inga minuter eller sekunder. >> figure(1) >> plot(tid,wvht,'-') >> title('signifikant våghöjd') >> datetick('x','yyyy') % Årtal med 4 siffror på x-axeln >> axis([min(tid) max(tid) 0 Inf]) Uppgift: Det finns uppenbarligen hål i dataserien. Bojen har t.ex. inga mätningar under 2005 eller 2009. Men om vi bortser från det, ser det ut som om den signifikanta våghöjden är ungefär lika stor hela tiden? Finns det någon periodicitet? Vad kan det bero på? I variabeln monthmax finns maximum av signifikant våghöjd för varje månad, med årtal i första kolumnen och de 12 månaderna i de övriga kolumnerna. Vi ritar upp månadsvärdena med en linje per år:

DATORÖVNING 6, FMS065 2 >> figure(2) >> plot(1:12,monthmax(:,2:13),'-') >> xlabel('månad') >> title('månadsmaximum för signifikant våghöjd') Uppgift: Ger figuren en förklaring på det periodiska beteendet? Det finns uppenbarligen en årstidsvariation i data. Det stormar mer på vintern och knappast alls i juli. Detta måste man ta hänsyn till om man ska göra en ordentlig analys. Vi struntar i det här och hänvisar till kursen FMS155 Statistisk modellering av extremvärden istället. Bojen levererar i regel en mätning i timmen och mätningar gjorda i närheten av varandra är säkert inte oberoende. En storm varar, t.ex., mer än en timme så man kan förvänta sig flera höga mätningar i rad. För att minska beroendet beräknar vi maximala signifikanta våghöjden under ett dygn. De ligger i variabeln daymax med år, månad, dag i de tre första kolumnerna. >> datum = datenum(daymax(:,1:3)); >> WVHTday = daymax(:,4); >> figure(3) >> plot(datum,wvhtday,'b') >> title('dagsmaximum för signifikant våghöjd') >> datetick('x','yyyy') >> axis([min(datum) max(datum) 0 Inf]) >> figure(4) >> hist(wvhtday,20) >> xlabel('dagsmaximum för signifikant våghöjd (meter)') Vi kan också skatta 1000-dagsvågen x 0.001 som den empiriska 0.1 %-kvantilen: >> x0emp = prctile(wvhtday,(1-0.001)*100) Uppgift: Skriv upp skattningen av 1000-dagsvågen. Vi ska jämföra den med skattningarna nedan. 2.1 Skattning av den extrema svansen med POT-metoden Vi vill uppskatta hur extrema de mest extrema våghöjderna kan tänkas bli. Då kan vi strunta i de små vågorna och bara titta på hur den övre svansen i fördelningen ser ut. Nästan alla fördelningar har en svans som är ungefär en generaliserad Pareto-fördelning (GPD). Det betyder att den del av dagsmaximum, X, som överstiger en viss nivå, t.ex. u = 5 meter, dvs Y = X u när X > u, har en fördelning enligt: ( P(Y y) 1 1 c y ) 1/c a + där x + = max(0, x). Om c = 0 är Y exponentialfördelad. Vi får också att antalet överstigningar är en Poissonprocess med intensitet λ = P(X > u). Vi börjar med att skatta intensiteten λ: >> u = 5; % Gräns för överskotten. >> I = find(wvhtday>u); % Hitta de överskjutna dagsmaxima. >> n = length(wvhtday); % Antal dagsmaxima. >> nu = length(i); % Antal överskott. >> lambda = nu/n

DATORÖVNING 6, FMS065 3 Uppgift: Hur ofta kan man förvänta sig att dagsmaximum av våghöjden överstiger 5 meter? Vi ritar upp de överskjutande våghöjderna också: >> Y = WVHTday(I)-u; >> figure(5) >> stem(datum(i),y,'.') % stem ritar skjälkar under punkterna. >> datetick('x','yyyy') >> axis([min(datum) max(datum) 0 Inf]) >> title('överskjutande våghöjd (meter)') >> figure(6) >> hist(y,20) Uppgift: Jämför figur 5 med figur 3. Kan du hitta överskjutningarna? Uppgift: Titta på histogrammet. Ser det ut som någon fördelning du känner igen? För att ta reda vilken generaliserad Pareto-fördelning överskotten har låter vi Matlab ML-skatta parametrarna och beräkna 95 % konfidensintervall för dem: >> [parhat parci] = gpfit(y); % Generaliserad Pareto ML-skattning med konf.int. >> c = -parhat(1) % Matlab har parameter -c. >> c_ci = [-parci(2,1) -parci(1,1)] >> a = parhat(2) >> a_ci = [parci(1,2) parci(2,2)] Uppgift: Använd konfidensintervallet för att avgöra om parametern c är signifikant skild från noll. Kan överskotten vara exponentialfördelade? Vi vill inte bestämma oss för om c = 0 eller inte utan använder båda modellerna. Då måste vi skatta a i exponentialfördelningen med medelvärdet. Vi ritar upp empiriska fördelningsfunktionen (jfr datorövning 1) och de två fördelningsfunktionerna: >> ahat = mean(y) >> [y,ratio] = empcdf(y); % empcdf från Lab 1. >> figure(7) >> plot(y,ratio,'b') >> hold on >> plot(y,expcdf(y,ahat),'r--') % Exponential >> plot(y,gpcdf(y,-c,a),'k-.') % Gen. Pareto c<>0 >> hold off >> legend('empirisk fördelning', 'Exponential', 'Gen. Pareto',... % kommandot 'Location','East') % fortsätter på nästa rad. Location=East lägger % förklaringen i mitten till höger. >> xlabel('överskjutande våghöjd (meter)')

DATORÖVNING 6, FMS065 4 Uppgift: Ser det ut att passa bra med exponentialfördelning? Eller bättre med generaliserad Pareto? Om vi har att överskott över nivån u sker med intensiteten λ dag 1 och överskotten följer en generaliserad Pareto-fördelning så ges, t.ex., 1000-dagsvågen x α där α = 1/1000 av { u + a ( 1 (α/λ) c ), c 0 x α = c u + a ln(λ/α), c = 0 >> alpha = 1/1000; >> x0exp = u+ahat*log(lambda/alpha) % Om vi antar att c=0. >> x0gpd = u+(a/c)*(1-(alpha/lambda)^c) % Om c <> 0. Uppgift: Blev det någon större skillnad på skattningarna? Våra skattningar baserar sig ju på att vi anpassat en generaliserad Paretofördelning till svansen i fördelningen för dagsmaximum. Uppgift: Jämför skattningarna med den empiriska kvantilen i föregående avsnitt. Verkar dina skattningar rimliga? Uppgift: Gränsen u = 5 är valt lite på måfå. Undersök hur känslig din kvantil baserat på Generaliserad Pareto är genom att göra om skattningarna när u = 6, 7 resp. 8 istället. Blev det någon större skillnad på x0gpd? Använd gränsen u = 8 meter i de fortsatta räkningarna. Uppgift: Är c-parametern signifikant skild från 0 när u = 8? 2.2 Generaliserad extremvärdesfördelning Nu ska vi utnyttja vår generaliserade Pareto-fördelning för att beräkna fördelningen för maximala våghöjden under en längre tidsperiod. Vi har ju bara observerat våghöjden under 35 år. Om vi vill bygga en oljeplattform eller liknande vill vi dimensionera den för vågor som kanske bara kommer vart tusende eller tiotusende år. Fördelningen för maximum, M N, av många (N ), oberoende, likafördelade observationer följer ungefär en generaliserad extremvärdesfördelning (GEV) 1 : ( exp (1 c x μ ) P(M N x) σ )1/c +, c 0 exp( e (x μ)/σ ), c = 0 Gumbel 1 Jämför med centrala gränsvärdessatsen som säger att summan är ungefär normalfördelad.

DATORÖVNING 6, FMS065 5 Om vi har att överskott över nivån u sker med intensiteten λ dag 1 och överskotten följer en generaliserad Pareto-fördelning med parametrar a och c så blir maximum av N stycken dags-maxima GEV-fördelat med parametrar σ = { a (λn ) c, c 0 a, c = 0 μ = { u + σ a, c 0 c u + a ln λn, c = 0 Det kan ju vara intressant att skatta fördelningen för 35-årsmaximum M 35 år, både när vi antar att c = 0 och när c 0 för att se hur stor skillnad det blir: >> N = 365*35; % 35 år uttryckt i dagar. >> sigmagev = a*(lambda*n)^c; % GEV >> mugev = u+(sigmagev-a)/c % GEV >> sigmagum = ahat; % Gumbel >> mugum = u+ahat*log(lambda*n); % Gumbel >> x = linspace(4,30,10000); >> fgev = gevpdf(x,-c,sigmagev,mugev); % -c i Matlabs GEV! >> fgum = gevpdf(x,0,sigmagum,mugum); >> figure(8) >> plot(x,fgev,'-',x,fgum,'r') >> legend('c <> 0', 'c = 0') >> title('täthetsfunktion för 35-årsmaximum') >> Fgev = gevcdf(x,-c,sigmagev,mugev); % -c i Matlabs GEV! >> Fgum = gevcdf(x,0,sigmagum,mugum); >> figure(9) >> plot(x,fgev,'-',x,fgum,'r') >> legend('c <> 0', 'c = 0') >> title('fördelningsfunktion för 35-årsmaximum') Uppgift: Blev det skillnad på fördelningarna när vi antar c = 0 resp. c 0? Nu vill vi beräkna 1 -kvantilen i 35-årsmaximum-fördelningen, dvs den där P(M 35 år > x 0.001 ) = 0.001. I en GEV ges α-kvantilen av { μ + σ x α = c (1 ( ln(1 α))c ), c 0 μ σ ln( ln(1 α)), c = 0 dvs >> alpha = 1/1000; >> x0gev = mugev+sigmagev/c*(1-(-log(1-alpha))^c) % GEV >> x0gum = mugum-sigmagum*log(-log(1-alpha)) % Gumbel Uppgift: Vilken version gav störst skattning?

DATORÖVNING 6, FMS065 6 2.3 Osäkerheten hos skattningen av 1000-decennievågen Det vore bra om vi kunde få en uppskattning av osäkerheten hos skattningen. Om den är osäker finns det ju risk att den verkliga 1-35-årsvågen är väsentligt större än vår uppskattning. Osäkerheten i skattningen beror (bortsett från att det kan vara helt fel modell) på osäkerheten i skattningen av överskottsintensiteten λ, samt parametrarna c och a i den generaliserade Paretofördelningen. Vi behöver alltså ta fram osäkerheten (och beroendet) mellan dessa tre skattningar och se hur de fortplantar sig till skattningen av vår kvantil. Det enklaste är att göra det med en bootstrap (se datorövning 3). >> ndata = length(wvhtday); % Antal dagsmax. >> M = 5000; % 5000 bootstrapreplikat. >> lambdab = []; ab = []; cb = []; % Tomma vektorer att samla skattningar i. >> for k=1:m Ib = randi(ndata,ndata,1); % Dragning med återläggning. Xb = WVHTday(Ib); % De dragna WVHTday-värdena. Iu = find(xb>u); % Vilka är > u? lambdab(k,1) = length(iu)/ndata; % Skatta lambda. phat = gpfit(xb(iu)-u); % Skatta GPD-param. cb(k,1) = -phat(1); % phat(1)=-c. ab(k,1) = phat(2); end Uppgift: Fick du några felmeddelanden? Om c < 0.5 så har den generaliserade Paretofördelningen oändligt stor varians! Om c < 1 är väntevärdet inte ändligt heller. Det bekymrar oss inte nu eftersom vi inte använder Matlabs konfidensintervall för a och c. Räkna sedan ut de tillhörande 5000 σ- och μ-skattningarna och tillhörande bootstrapintervall: >> sigmab = ab.*(n*lambdab).^cb; % Gör om till GEV-parametrar. >> mub = u+(sigmab-ab)./cb; %..och skatta kvantilen: >> x0boot = mub+sigmab./cb.*(1-(-log(1-alpha)).^cb); >> esterror = x0gev-x0boot; % Bootstrapfelen. >> q = prctile(esterror,[2.5 97.5]) % Bootstrap konfidensintervall. >> x0_ci = x0gev+[q(1) q(2)] Uppgift: Vad blev konfidensintervallet? Verkar skattningen vara tillförlitlig? 2.4 En liten undersökning av osäkerheten i fördelningen För att se varför konfidensintervallet för kvantilen blir så brett kan vi undersöka hur mycket våra λ-, a- och c-bootstrapskattningar varierar, och hur korrelerade de är. >> figure(10) >> subplot(221) >> plot(ab,cb,'.') >> xlabel('a*') >> ylabel('c*')

DATORÖVNING 6, FMS065 7 >> subplot(222) >> plot(ab,lambdab,'.') >> xlabel('a*') >> ylabel('\lambda*') >> subplot(223) >> plot(cb,lambdab,'.') >> xlabel('c*') >> ylabel('\lambda*') Uppgift: Vilka av skattningarna verkar korrelerade? För att se hur osäkerheten i skattningarna påverkar den skattade fördelningen ritar vi upp täthets- och fördelningsfunktionerna som man får om man använder de 25 första bootstrapskattningarna (det blir svårt att se något om man ritar alla 5000). >> figure(11) >> fgev = gevpdf(x,-c,sigmagev,mugev); % täthetsfunktionen enl ML-skattn. >> plot(x,fgev,'r-') >> title('25 bootstrapade täthetsfunktioner för 35-årsmaximum') >> hold on >> for k=1:25; >> fgevb = gevpdf(x,-cb(k),sigmab(k),mub(k)); >> plot(x,fgevb) >> end >> plot(x,fgev,'r-','linewidth',2) % rita igen så den syns, och bredare >> hold off >> figure(12) >> plot(x,fgev,'r-') % Fgev beräknades tidigare >> title('25 bootstrapade fördelningsfunktioner för 35-årsmaximum') >> hold on >> for k=1:25; >> Fgevb = gevcdf(x,-cb(k),sigmab(k),mub(k)); >> plot(x,fgevb) >> end >> plot(x,fgev,'r-','linewidth',2) >> hold off Uppgift: Verkar fördelningen vara enkel att bestämma?