Datorövning 1 Introduktion till Matlab Fördelningar

Relevanta dokument
Datorövning 1 Fördelningar

Datorövning 1: Fördelningar

Datorövning 1: Fördelningar

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

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 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

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

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

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

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

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

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

bli bekant med summor av stokastiska variabler.

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

TSBB14 Laboration: Intro till Matlab 1D

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

Datorövning 3 Bootstrap och Bayesiansk analys

Laboration 1: Beskrivande statistik

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

Datorövning 3 Bootstrap och Bayesiansk analys

Laboration 3: Parameterskattning och Fördelningsanpassning

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

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

Demonstration av laboration 2, SF1901

Beräkningsverktyg HT07

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

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

DATORÖVNING 2: STATISTISK INFERENS.

Lunds tekniska högskola Matematikcentrum Matematisk statistik

1 Syfte. 2 Förberedelseuppgifter DATORLABORATION 1 MATEMATISK STATISTIK, AK FÖR L, FMS 033, HT-03

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

Introduktion till Matlab

Laboration 1: Introduktion till R och Deskriptiv statistik

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

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

Lunds tekniska högskola Matematikcentrum Matematisk statistik

Föreläsning 3, Matematisk statistik Π + E

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

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

Laboration: Grunderna i MATLAB

Datorövning 6 Extremvärden och Peak over Threshold

Introduktion till Matlab

Laboration: Grunderna i Matlab

Introduktion till MATLAB

Grafritning och Matriser

TANA17 Matematiska beräkningar med Matlab

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

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

TAIU07 Matematiska beräkningar med Matlab

Linjär algebra med tillämpningar, lab 1

Mer om funktioner och grafik i Matlab

SF1920/SF1921 Sannolikhetsteori och statistik, VT 2018 Laboration 1 för CELTE2/CMATD3

Laboration 1: Mer om Matlab samt Deskriptiv statistik

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Matriser och Inbyggda funktioner i Matlab

SF1901 Sannolikhetsteori och statistik I

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

Mer om funktioner och grafik i Matlab

Laboration 2: Styrkefunktion samt Regression

Datorövning 2 Fördelningar inom säkerhetsanalys

Laboration 4: Hypotesprövning och styrkefunktion

TAIU07 Matematiska beräkningar med Matlab

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

MMA132: Laboration 2 Matriser i MATLAB

Föreläsning 7. Statistikens grunder.

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

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

Projekt 1: Om fördelningar och risker

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 3: MULTIPEL REGRESSION.

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

Datorövning 6 Extremvärden och Peaks over Threshold

MAM283 Introduktion till Matlab

Matriser och vektorer i Matlab

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

Matriser och Inbyggda funktioner i Matlab

Laboration 4: Lineär regression

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

1 Förberedelseuppgifter

Instruktion för laboration 1

Introduktion till Matlab

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Laboration med Minitab

Matematisk Modellering

Introduktion till Matlab

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

DATORÖVNING 6: CENTRALA GRÄNSVÄRDES-

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Matlabövning 1 Funktioner och grafer i Matlab

Transkript:

Lunds tekniska högskola Matematikcentrum Matematisk statistik STATISTISKA METODER FÖR SÄKERHETSANALYS FMS065, HT-12 Datorövning 1 Introduktion till Matlab Fördelningar I denna datorövning ska du först få en liten introduktion till Matlab, som är ett matematiskt beräkningsverktyg. Det används på alla datorövningarna i kursen. Vi fortsätter sedan att utforska begreppen sannolikhet och fördelningar genom numeriska exempel i Matlab. Du behöver en Matlab-installation som inkluderar Statistics Toolbox. De extra filer du behöver finns att ladda ner från kursens hemsidawww.maths.lth.se/matstat/kurser/fms065/ 1 Förberedelseuppgifter 1. Läs instruktionerna för datorövningen samt Kapitel 3.1 3.3 och 4.1 i boken. 2. Förvissa dig om att du förstår vad sannolikhets- och täthets-funktioner är och hur de förhåller sig till fördelningsfunktionen. 3. Givet ett stickprov {x 1,...,x n } från en slumpvariabel X, hur kan du konstruera den empiriska fördelningsfunktionen? Vad är den empiriska fördelningsfunktionen? 4. Förklara vad som menas med -kvantilen i en fördelning. 2 Matlab de första stegen (Hoppa över detta om du redan är van vid Matlab) Matlab 1 tillåter användaren att kombinera numeriska beräkningar med avancerad grafik. Kortare kommandon kan köras interaktivt, men för mer komplicerade problem är det möjligt att skriva program och definiera egna funktioner. I tillägg till Matlab finns flera s.k. Toolboxes (verktygslådor) för olika tillämpningar, t.ex. signalbehandling, reglerteori och finita elementmetoder. Under datorövningarna kommer vi att använda, bland annat, Statistics Toolbox. Matriser och vektorer i Matlab Matlab kan användas som en avancerad miniräknare: de vanligaste funktionerna är fördefinierade. Vid Matlab-prompten (>>), kan du t.ex. beräkna 1.19 2 1 + sin(ô/2) + e 2 genom att skriva >> sqrt(1.19^2-1)+sin(pi/2)+exp(2) och resultatet dyker upp. Uppgift: Beräkna ovanstående uttryck i Matlab. 1 Mer information om Matlab finns påhttp://www.mathworks.com/

ii När du vill veta mer om de fördefinierade funktionerna i Matlab är help-kommandot användbart. Det är en god idé att använda det under övningarna, även om det inte står uttryckligen i handledningen. Börja med >> help help Sedan kan du, t.ex. skriva >> help log för att få reda på vilken bas Matlab använder för logaritmfunktionen. Matlab är en förkortning av Matrix laboratory, och matriser och vektorer är karakteristiskt för Matlab. Alla data är lagrade i vektorer och matriser. (Med vektor menar vi en rad- eller kolonn-matris.) Matrisen ( ) 2 0 A = 3 1 skrivs in i Matlab på följande sätt: >> A = [2 0; 3 1] En radvektor kan t.ex. skrivas på följande sätt: >> v=[0 0.1 0.2 0.3] och en kolonnvektor: >> vv=[0; 0.1; 0.2; 0.3] Kommandotlength (eller size) ger storleken på vektorn eller matrisen: >> vlength=length(v) >> vvlength=length(vv) >> ASize=size(A) Vi kan plocka ut enskilda element ur vektorer och matriser på följande vis. Säg att vi vill komma åt värdet av det fjärde elementen i vektornvoch dessutom värdena på de tre första elementen. Det gör vi på följande vis: >> v(4), v(1:3) eller, tillsammans: >> v([4 1:3]) Elementen i en vektor kan sorteras i stigande ordning: >> u=[8-3 2.7] >> usorted=sort(u) Att hantera variabler och data Vi har nu definierat ett antal variabler och en lista på de variabler som finns i Matlabs minne fås med kommandotwho. Kommandotwhos ger samma lista men utökad med storleken på variablerna. Uppgift: Kör båda kommandona. Känner du igen variablerna i listan? Vi avslutar sessionen med att ta bort variablerna. Alla variablerna tas bort med kommandotclear. Använd help clear för att ta reda på hur du tar bort bara vissa variabler.

iii Grafik I den här delen ska du göra några enkla figurer i Matlab. Efteråt kommer du att kunna rita en figur över en funktion x f (x). Som exempel, låt oss välja f (x) = sin x för 0 < x < 4Ô. Skapa först variablerna x respektive y: >> x=0:0.05:4*pi % Detta efter procenttecknet är en kommentar, skriv % inte av den. >> y=sin(x) % x=0, 0.05, 0.1, 0.15,..., 4pi Två vektorer av samma längd kan ritas mot varandra så här: >> plot(x,y) Ett grafikfönster dyker nu upp (om det inte redan fanns ett) som figuren ritas i. Figuren heter figure(1). Man kan ha flera grafikfönster. Vill du att nästa figur ska komma i ett nytt fönster, istället för att rita över den första figuren, så kan du skapa ett nytt grafiktfönster med kommandotfigure(2). Man kan ge flera optioner till plot-kommandot, t.ex., färg: >> plot(x,y, r ) % Röda streck Vi kan också välja att rita ut de enskilda punkterna som stjärnor istället för att dra linjer mellan dem: >> plot(x,y, * ) Man kan också kombinera optionerna. Se help plot för att ta reda på vad följande kommando borde göra. Kolla sedan att det blev så också: >> plot(x,y, md- ) Man kan använda kommandotaxis för att titta på en bestämd det av figuren. Pröva med >> axis([0 10-1.5 1.5]) Vad hände? Det är ofta lättare at tolka en figur om man lägger till en grid: ta reda på hur kommandotgrid används och lägg till en grid till din figur. Det aktuella figuren töms med kommandotclf. Det tomma fönstret blir kvar. Vill du ta bort det också ska du använda close istället. 3 Relativa frekvenser och fördelningar I denna del ska vi använda numeriska exempel i Matlab för att studera koncepten sannolikhet och fördelning. Målet är att du ska få en intuitiv känsla för sannolikhetsresonemang, snarare än att konfronteras med teori. Data-undersökning För att illustrera syftet använder vi artificiella data som är simulerade från en statistisk fördelning. Detta i motsats till verkliga data där det inte finns några etiketter som säger vilken fördelning det är. Trots att vi vet hur data genererades är det ändå användbart och man använder ofta simulerade data i skattningar och test i mer komplicerade situationer. För att skaffa dig ett slumpmässigt dataset med 50 värden, skriv

iv >> data=randn(1,50) Uppgift: Vilken fördelning kommer ditt slumpmässigs stickprov från (använd help randn)? Skriv ner täthetsfunktionen. En god regel, när man står inför ettt nytt datamaterial, är att rita upp det på några olika sätt. Vi börjar med att göra ett histogram: >> hist(data) Uppgift: Se det ut som du väntade dig? Jämför med täthetsfunktionen. Använd nu kommandot >> figure(2) % Ritar i ett nytt förnster >> plot(data,.- ) och relatera det till histogrammet. Uppgift: Jämför histogrammet med plot-en. Hur syns egenskaperna hos data i histogrammet, och tvärtom? Ett annat sätt är att rita de sorterade data, med ordningsnumret på y-axeln: >> plot(sort(data),1:length(data),.- ) % Ersätter förra ploten med ny. I det här sortens figur kan vi t.ex. avläsa hur många av observationerna som är mindre än eller lika med ett visst tal. Uppgift: Välj x = 1.1 och försök avgöra i figuren (det går att zooma) hur många av värdena som är mindre än eller lika med 1.1. När antalet observationer i stickprovet stiger kan vi tolka kvoten som sannolikheten att få ett värde mindre än eller lika med x. Kvoten kan beräknas så här: >> ratio = sum(data<=1.1)/length(data) Uppgift: Stämmer det med din uppskattning från figuren? För att förstå hurdata<=1.1 fungerar så jämför vi det med ursprungsdata: >> data >> data<=1.1

v 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 3 2 1 0 1 2 3 Figur 1: Empirisk fördelningsfunktion, ett exempel Vad är det som händer? Uppgift: Pröva med några andra värden på x. Hur borde andelen ändra sig? Jämför med figuren. Den omvända proceduren, hitta det värde x som motsvarar en given sannolikhet, dvs en given kvantil, är ofta viktigare. Vi återkommer till det lite senare. Vi kan naturligtvis låta datorn välja ett stort antal värden att undersöka och sedan försöka få en överblick. Detta är implementerat i den specialskrivna Matlab-funktionenempcdf (finns att ladda ner från hemsidan). Funktionen ger två vektorer: x innehåller de valda värdena, medan andelarna finns i ratio. (Om du vill se koden kan du skriva type empcdf) Resultatet kan visas i en ny figur: >> [x,ratio]=empcdf(data); >> figure(3); >> plot(x,ratio,. ) >> grid on Figuren bör likna Figur 1 i handledningen (och din egenfigure(2), bortsett från y-skalan och antal punkter). Den visar hur värdena är fördelade och denna typ av figur kallas empirisk fördelningsfunktion (empirical distribution function 2. För ett värde på x-axeln, t.ex. 1.1, hittar vi, på y-axeln, andelen värden som är mindre än eller lika värdet på x-axeln. Uppgift: Kolla att det stämmer med det du fick fram tidigare. Större stickprov. Fördelningsfunktionen för en slumpvariabel Låt oss nu studera ett större datamaterial, t.ex. 2000 observationer från samma fördelning som tidigare. Vi simulerar data och ritar dem i en ny figur: 2 Fördelningsfunktioner kallas ofta cumulative distribution functions; Det är därför vår funktion heter empcdf, empirical cumulativedistribution function.

vi >> data=randn(1,2000); >> [x,ratio]=empcdf(data); >> figure(4); >> plot(x,ratio,. ) >> grid on Med många observationer närmar sig resultatet fördelningsfunktionen, dvs, för en slumpvaribel X, funktionen F X (x) = P(X x). I vårt fall valdes X från en normalfördelning; vi hade X N(0, 1). Vi ritar in den teoretiska fördelningsfunktionen,normcdf, i samma figur som den empiriska: >> figure(4) >> hold on % Fortsätt rita fler saker i samma figur. >> plot(x,normcdf(x), r ) >> hold off % Sluta rita i samma figur. För alla fördelningsfunktioner F X, har vi att F X (x) 1 när x och att F X (x) 0 när x. Uppgift: Tolka figuren. Vad är det på x- och y-axlarna? Skatta medianen ur figuren. Kvantiler Begreppet kvantil är viktigt. Kvantilen kan definieras på olika sätt men vi (och många andra) använder följande definition: kvantilen är det tal x som uppfyller P(X x ) = 1 där är ett tal mellan 0 och 1 (vanliga val är: 0.05, 0.01, 0.001). Uppgift: Skatta kvantilen x 0.05 där = 0.05 ur din figur (figure(4)), med hjälp av definitionen (1). Jämför med det exakta värdet, som kan fås mednorminv(1-0.05). (1) Andra fördelningar Några vanliga fördelningsfunktioner har egna namn, eftersom de visat sig användbara för att modellera slumpmässiga fenomen. Några av dem finns implementerade i Statistics Toolbox. Du har redan stött på fördelningsfunktionen när X N(0, 1) som normcdf. Gumbel-fördelning En viktig fördelning som vi kommer att möta igen i kursen är Gumbel-fördelningen (även kallad Extremvärdesfördelning typ I eller Dubbel exponentialfördelning). En Gumbel-fördelad slumpvariabel X har fördelningsfunktionen F X (x) = exp( e (x b)/a ), < x <. Här är b en lägesparameter och a > 0 är en skalparameter. Låt oss rita några Gumbel-fördelningar:

vii >> figure % nytt figur-fönster >> x=15:0.05:70; % ; i slutet hindrar utskrift >> a=7; b=30; F1=exp(-exp(-(x-b)/a)); >> a=7; b=35; F2=exp(-exp(-(x-b)/a)); >> plot(x,f1, b,x,f2, r ) >> grid on Uppgift: Verkar det rimligt att b är en lägesparameter? Vad händer med fördelningen när du ändrar b? Uppgift: Experimentera med att istället hålla b fixt och ändra a. Vad händer? Den maximala vattenföringen i ett visst vattendrag kan anses vara Gumbel-fördelad med a = 7 m 3 /s och b = 30 m 3 /s. Uppgift: Rita upp fördelningsfunktionen och använd den till att bestämma sannolikheten att årlig maximal vattenföring överstiger 50 m 3 /s. Uppgift: Hur stort är 100-årsfloden i detta vattendrag?