DATORÖVNING 2: SIMULERING



Relevanta dokument
Mer om slumpvariabler

Diskreta slumpvariabler

Föreläsning 3. Sannolikhetsfördelningar

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

Problemlösning. Måns Thulin. Uppsala universitet Statistik för ingenjörer 30/ /16

Föreläsning 7. Statistikens grunder.

Statistiska metoder för säkerhetsanalys

Lektionsanteckningar 11-12: Normalfördelningen

Kapitel 4 Sannolikhetsfördelningar Sid Föreläsningsunderlagen är baserade på underlag skrivna av Karl Wahlin

Föreläsning 5. Funktioner av slumpvariabler. Ett centralt resultat.

TMS136. Föreläsning 4

4.1 Grundläggande sannolikhetslära

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

Summor av slumpvariabler

Datorövning 1: Fördelningar

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

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

Sannolikhetsteori. Måns Thulin. Uppsala universitet Statistik för ingenjörer 23/ /14

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

FÖRELÄSNING 4:

Lotto, ett skicklighetsspel!

4 Diskret stokastisk variabel

SF1922/SF1923: SANNOLIKHETSTEORI OCH DISKRETA STOKASTISKA VARIABLER STATISTIK. Tatjana Pavlenko. 23 mars, 2018

FÖRELÄSNING 3:

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

Matematisk statistik 9hp Föreläsning 2: Slumpvariabel

Diskussionsproblem för Statistik för ingenjörer

F9 Konfidensintervall

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

SF1901 Sannolikhetsteori och statistik I

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Demonstration av laboration 2, SF1901

SF1901: Sannolikhetslära och statistik

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

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

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

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

Statistik 1 för biologer, logopeder och psykologer

Våra vanligaste fördelningar

Introduktion till statistik för statsvetare

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 3 Diskreta stokastiska variabler. Jörgen Säve-Söderbergh

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

SOS HT Slumpvariabler Diskreta slumpvariabler Binomialfördelning. Sannolikhetsfunktion. Slumpförsök.

Datorövning 1 Fördelningar

Finansiell Statistik (GN, 7,5 hp,, VT 2009) Föreläsning 2. Diskreta Sannolikhetsfördelningar. (LLL Kap 6) Stokastisk Variabel

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

Föreläsning 2, FMSF45 Slumpvariabel

1 Sannolikhet enligt frekvenstolkningen Kast med tärning

Föreläsning G60 Statistiska metoder

DATORÖVNING 2: STATISTISK INFERENS.

SF1901 Sannolikhetsteori och statistik I

F2 Introduktion. Sannolikheter Standardavvikelse Normalapproximation Sammanfattning Minitab. F2 Introduktion

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)

bli bekant med summor av stokastiska variabler.

Kapitel 5 Multivariata sannolikhetsfördelningar

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

1. Du slår en tärning två gånger. Låt A vara händelsen att det första kastet blir en sexa och låt B vara händelsen att summan av kasten blir sju.

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

SF1901: Sannolikhetslära och statistik

Föreläsning 3. Kapitel 4, sid Sannolikhetsfördelningar

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

Föreläsning 7: Punktskattningar

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

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

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

Finns det över huvud taget anledning att förvänta sig något speciellt? Finns det en generell fördelning som beskriver en mätning?

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

Finansiell statistik, vt-05. Slumpvariabler, stokastiska variabler. Stokastiska variabler. F4 Diskreta variabler

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

1 Mätdata och statistik

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

FÖRELÄSNING 8:

1.1 Diskret (Sannolikhets-)fördelning

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

Kap 3: Diskreta fördelningar

Summor av slumpvariabler

F6 STOKASTISKA VARIABLER (NCT ) Används som modell i situation av följande slag: Slh för A är densamma varje gång, P(A) = P.

Introduktion till statistik för statsvetare

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

Kap 6: Normalfördelningen. Normalfördelningen Normalfördelningen som approximation till binomialfördelningen

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

Weibullanalys. Maximum-likelihoodskattning

17.1 Kontinuerliga fördelningar

Statistiska metoder för säkerhetsanalys

Föreläsning 2 (kap 3): Diskreta stokastiska variabler

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Repetition och förberedelse. Sannolikhet och sta.s.k (1MS005)

Några extra övningsuppgifter i Statistisk teori

1. Lära sig beräkna kon densintervall och täckningsgrad 2. Lära sig rita en exponentialfördelning 3. Lära sig illustrera centrala gränsvärdessatsen

Föreläsning 1: Introduktion

Övning 1 Sannolikhetsteorins grunder

F3 Introduktion Stickprov

Föreläsning 7 FK2002

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

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

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Monte Carlo-metoder. Bild från Monte Carlo

Resultat till ett försök är ofta ett tal. Talet kallas en stokastisk variabel (kortare s. v.).

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

Transkript:

UPPSALA UNIVERSITET Matematiska institutionen Måns Thulin - thulin@math.uu.se Matematisk statistik Statistik för ingenjörer VT 2013 DATORÖVNING 2: SIMULERING Innehåll 1 Inledning 1 2 Inledande exempel 1 2.1 Singla slant.................................. 1 2.2 Bläckfisken Paul............................... 2 2.3 Poissonfördelningen.............................. 3 2.4 Kretskortsproblemet............................. 3 3 Simulering av komplexa problem 4 3.1 En matematisk modell för variation i hållfasthet............. 4 3.2 Vindhastigheter................................ 5 3.3 Gångtid till driftstopp............................ 7 3.4 Några ord om fördelningar.......................... 9 1 Inledning Vi ska här titta på några exempel på hur man kan använda datorsimulering för att lösa problem där slumpen är inblandad. När vi har en slumpmodell en slumpvariabel med en given fördelning så kan vi simulera observationer av vår slumpvariabel. I princip simulerar vi då hur resultatet av en datainsamling skulle kunna se ut. Att simulera data är vanligt inom både industri och vetenskap. Det finns många situationer där de matematiska modellerna är för komplicerade för att man ska kunna räkna ut sannolikheter på något annat sätt eller där man av olika anledningar inte kan samla in data för statistisk analys. Med hjälp av simuleringar kan man då få en uppfattning om slumpbeteendet och till exempel modellera risker av olika slag (exempelvis för avbrott, översvämningar eller kortslutningar). 2 Inledande exempel 2.1 Singla slant Låt X vara antalet krona vid n stycken slantsinglingar. Då är X en binomialfördelad slumpvariabel med parametrar n och p = 1/2, vilket vi förkortat skriver X Bin(n, 1 2 ). 1

Vi kan använda R för att simulera slantsinglingar med hjälp av kommandot rbinom(m,n,p). n är antalet slantsinglingar, p är sannolikheten för krona och m är antalet simuleringar som ska göras. Exempelvis kan vi göra 10 simuleringar av 5 slantsinglingar genom att skriva rbinom(10, 5, 0.5) Tio siffror mellan 0 och 5 skrivs ut på skärmen: dessa är resultaten (antal krona vid fem slantsinglingar) för respektive simulering. Om man vill kan man spara resultatet i variabeln resultat: resultat=rbinom(10, 5, 0.5) INLÄMNINGSUPPGIFT 2 - PROBLEM 1 Kontrollera att simuleringen fungerar som den ska genom att räkna ut medelvärdet för antalet krona vid 100 000 simuleringar av 1 slantsingling. Vad borde medelvärdet vara om simuleringen fungerar som den ska? 2.2 Bläckfisken Paul Den synske (?) bläckfisken Paul tippar vilka lag som ska vinna olika matcher i ett stort fotbollsmästerskap. På föreläsningen så räknade vi med hjälp av binomialfördelningen ut sannolikheten att han skulle tippa 8 rätt av 8 möjliga var 1/256. Vår matematiska modell var följande. Låt X vara antalet matcher där Paul tippar rätt. Vi bortser från oavgjorda matcher, så sannolikheten att tippa rätt om man inte är synsk är 1/2. Tippningarna för olika matcher är oberoende av varandra. När Paul tippar 8 matcher så är då X Bin(8, 1 2 ). Vi ska nu kontrollera att P (X = 8) verkligen är 1/256 med hjälp av datorsimulering. Vi definierade begreppet sannolikhet som andelen i det långa loppet, vilket innebär att vi kan räkna ut den genom att köra ett stort antal datorsimuleringar av Pauls tippande och kontrollera hur stor andel av dessa som gav 8 av 8 rätt. Vi börjar med att simulera att Paul tippar 8 matcher 100 000 gånger: paul=rbinom(100000, 8, 0.5) Kommandot length kan användas för att räkna hur många observationer man har i sitt datamaterial. Därmed ska length(paul) vara lika med antalet simuleringar, 100 000. Kommandot paul[paul==8] tar bort alla värden som inte är lika med 8 ur variabeln paul. Därmed ger length(paul[paul==8]) oss antalet simuleringar som resulterade i att X = 8, dvs att 8 av 8 matcher tippades rätt. Andelen gånger då X = 8 kan vi slutligen räkna ut som length(paul[paul==8])/100000 2

Blir svaret ungefär 1/256? Prova gärna att köra simuleringen flera gånger och kolla hur resultatet varierar. INLÄMNINGSUPPGIFT 2 - PROBLEM 2 Antag nu att Paul verkligen var synsk och att sannolikheten att han tippade rätt i själva verket var 9/10. Använd datorsimulering för att räkna ut vad P (X = 8) är i det fallet. INLÄMNINGSUPPGIFT 2 - PROBLEM 3 Kommandot dbinom(k,n,p) beräknar P (X = k) då X Bin(n, p). Använd kommandot för att bekräfta att du fick rätt svar i föregående övning. 2.3 Poissonfördelningen Vi kan också använda R för att simulera Poissonfördelade slumpvariabler. Kommandot för att simulera n stycken P o(m)-fördelade slumpvariabler är rpois(n,m). Antalet sprickor X i en viss typ av betongblock anses vara Poissonfördelat med i genomsnitt 0.1 sprickor per m 3. För ett 5 m 3 stort betongblock fås då i genomsnitt 0.5 sprickor, så att X P o(0.5). Vi kan då simulera 10 betongblock med kommandot rpois(10, 0.5) Talen är antalet sprickor i respektive block. Prova att köra koden några gånger för att se hur resultatet varierar. INLÄMNINGSUPPGIFT 2 - PROBLEM 4 Beräkna P (X = 2) med en datorsimulering. INLÄMNINGSUPPGIFT 2 - PROBLEM 5 När vi införde Poissonfördelningen P o(m) på föreläsningen så tolkade vi parametern m som det genomsnittliga antalet händelser. I blockexempel är det alltså antalet sprickor i ett genomsnittligt 5 m 3 stort block. Bekräfta detta genom att beräkna medelvärdet för 100 000 simulerade block. 2.4 Kretskortsproblemet Ett företag ska köpa in kretskort för motorstyrning till en maskin de tillverkar. Företaget erbjuder en garanti som innebär att om kretskortet går sönder inom ett år så byter de ut det utan extra kostnad för kunden. Detta kostar företaget 50 kr plus kostnaden för ett nytt kort. Kretskort A kostar 25 kr att köpa in och går sönder det första året med sannolikhet 0.1 %. Kretskort B kostar 20 kr och går sönder det första året med sannolikhet 5 %. Den sammanlagda kostnaden för företaget är inköpskostnaden plus kostnaden för ett nytt kort och reparation om kortet går sönder. Vad blir den genomsnittliga kostnaden för kretskortet? Låt X A vara kretskortskostnaden för en maskin A och X B vara kretskortskostnaden för maskin B. Då är P (X A = 25) = 0.999 och P (X A = 25 + 25 + 50) = P (X A = 100) = 0.001. Vidare är P (X B = 20) = 0.95 och P (X B = 20 + 20 + 50) = P (X B = 90) = 0.05. Vi kan bygga en matematisk modell för kostnaden med hjälp av Bin(1, p)-fördelningen. Låt Y A Bin(1, 0.001), så att Y A är 0 om kretskortet inte går sönder och 1 om det går sönder. Då är X A = 25 + 75 Y A eftersom kostnaden är 25 om kretskortet inte går 3

sönder och 25+75=100 om det går sönder. Om Y B Bin(1, 0.05) så är på samma sätt X B = 20 + 70 Y B. Vi kan köra en simulering av kostnaderna X A för 10 maskiner med kretskort A med koden ya=rbinom(10, 1, 0.001) xa=25+75*ya xa innehåller kostnaderna för de tio maskinerna. INLÄMNINGSUPPGIFT 2 - PROBLEM 6 Räkna ut den genomsnittliga kostnaden för de båda maskinerna genom att simulera 1000 000 maskiner av varje typ. Vilken är billigast i genomsnitt? Stämmer svaret med vad du förväntade dig? 3 Simulering av komplexa problem 3.1 En matematisk modell för variation i hållfasthet På föreläsningarna såg vi ett exempel med några materialforskare som i ett experiment gjort 50 mätningar av hållfastheten hos ett nyutvecklat ZrO 2 -TiB 2 -kompositmaterial. Vi läser nu in deras data (enhet MPa) och ritar ett histogram: hallfast=c(1079.2712, 1259.8408, 1054.0934, 973.9300, 1354.5684, 1153.3179, 1165.9455, 1409.5526, 1049.9112, 1371.5842, 1266.0332, 1227.1399, 937.7968, 1224.2218, 962.1297, 1260.8899, 1156.1487, 1136.4130, 1153.5300, 1190.8989, 1061.0457, 1224.3590, 1193.1320, 1063.0970, 1033.0977, 800.4697, 1283.4395, 1131.2935, 1442.2183, 1047.4338, 879.9948, 1140.1950, 1279.3179, 1081.0325, 933.3642, 1195.8353, 1214.6490, 986.9322, 1231.1889, 1102.8531, 985.7315, 982.3293, 788.3871, 1057.9675, 1111.1701, 1013.3264, 644.2754, 1219.3787, 934.8187, 1127.5992) hist(hallfast,freq=0) Eftersom vi skrev freq=0 så har rektanglarna i histogrammet sammanlagd area 1. Det fina med den typen av histogram är att vi kan tänka att sannolikheten att en observationer hamnar i ett visst intervall är lika med arean för rektangeln (eller rektanglarna) som hör till det intervallet. Vårt mål på föreläsningen är att bygga en matematisk modell för den slumpmässiga variationen i hållfasthet. Inom hållfasthetsläran använder man ofta Weibullfördelningen 1 för att beskriva framförallt keramiska materials variation i hållfasthet. Täthetsfunktionen f(x) för Weibullfördelningen är: f(x) = b a ( x a ) b 1e (x/a) b 1 Fördelningen är uppkallad efter den svenske ingenjören Waloddi Weibull (1887-1979). Weibull doktorerade i Uppsala och blev såsmåningom professor i läran om maskinelement vid KTH. Han forskade om metallers hållfasthet och livslängd och introducerade i samband med det användandet av Weibullfördelningen (som visserligen var känd sedan tidigare, men inte användes i någon större utsträckning). 4

där x 0 och a och b är två parametrar som är större än noll. Funktionen får olika utseende när man ändrar parametrarnas värden. Lite löst kan man säga att a bestämmer skalan (stora a gör att f(x) är som störst för stora värden på x) medan b bestämmer kurvans form (större b gör att kurvan är mer ihopdragen). Vi kan illustrera det i R genom att rita funktionens graf för olika värden på a och b. # Kod för att rita f(x) för Weibullfördelningen då 0<x<10: a=1; b=2 curve(dweibull(x,b,a),0,10) INLÄMNINGSUPPGIFT 2 - PROBLEM 7 Ändra värdena på a och b för att se hur kurvan förändras. Verkar det rimligt att tolka a som skalparameter och b som en formparameter? Finns det då några värden på a och b som ger en kurva som passar våra hållfasthetsdata? I statistikdelen av kursen kommer vi att undersöka hur man kan använda insamlade data för att uppskatta värden på parametrarna i en fördelning. I det här fallet har forskarna redan gjort det jobbet, och föreslagit värdena a = 1175 och b = 7.5. Vi provar att rita kurvan över histogrammet, för att se om den passar: hist(hallfast,freq=0) curve(dweibull(x,7.5,1175),add=true,col="blue",lwd=2) Kurvan följer histogrammet relativt bra, vilket tyder på att Weibullfördelningen med a = 1175 och b = 7.5 kan vara bra att använda för att modellera variationen i det nya materialets hållfasthet. Därmed kan vi alltså räkna ut sannolikheter för materialets hållfasthet! Olika fördelningars parametrar kan ofta tolkas fysikaliskt. För Weibullfördelningen så beror tolkningen av parametrarna på vad det är man modellerar. I vårt fall, där vi modellerade hållfasthet, så kallas parametern b för materialets Weibullmodul och tolkas som ett mått på hur svagheter är fördelade i materialet. Vi ska nu titta på två andra exempel där det finns en ännu tydligare tolkning av b. 3.2 Vindhastigheter När man bygger vindkraftverk vill man välja en turbin som är optimerad för de vindhastigheter som råder på platsen där kraftverket byggs. Det är då viktigt att ha en modell för vindhastigheternas slumpbeteende. Vi ska härnäst studera vinddata från SMHI 2 för att titta på just en sådan modell. Datamaterialet kommer från Falsterbo, där man dagligen sedan januari 1961 bokfört vindhastigheten var tredje timme. I filen vind.dat finns vindhastigheterna under perioden 1 januari 2008 till 31 december 2009 sparade. Vi vill nu läsa in datamaterialet i R. För att hämta hem filen från nätet, läsa in datamaterial och spara det i variabeln vind skriver vi nu vind=read.table("http://www.math.uu.se/~thulin/undervisning/vind.dat")$v1 INLÄMNINGSUPPGIFT 2 - PROBLEM 8 Undersök datamaterialet, dels grafiskt och dels med numeriska mått. Vad är medelvärdet för vindhastigheten? Vad är den största uppmätta hastigheten? Den lägsta? Är höga hastigheter vanligare än låga? 2 Källa: http://www.smhi.se/klimatdata/meteorologi/dataserier-2.1102 5

Vi undersöker vindhastigheterna grafiskt genom att rita ett histogram: hist(vind$v1,freq=0) I de flesta delar av världen så kan Weibullfördelningen, med värden på parametern b mellan 1 och 3, användas för att modellera vindhastighetens slumpbeteende. I norra Europa har parametern b ofta ett värde som är ungefär 2, vilket betyder att vindhastigheten kan variera ganska mycket, men att man sällan har extrema vindhastigheter 3. På platser där man för det mesta har låga vindhastigheter men ibland har riktigt kraftig vind (så att variationen i vindhastighet är stor) ligger b närmare 1 och på platser där man har liten variation i vindhastigheten ligger värdet närmare 3. Vi börjar med att undersöka vilket värde på b som bäst beskriver vindhastigheterna i Falsterbo (vi antar att man redan kommit fram till att man ska använda parametervärdet a = 7.75): hist(vind,freq=0,xlab="vindhastighet (m/s)", main="vindhastighet i Falsterbo",ylim=c(0,0.15)) curve(dweibull(x,1,7.75),add=true,col="blue",lwd=2) curve(dweibull(x,2,7.75),add=true,col="red",lwd=2) curve(dweibull(x,3,7.75),add=true,col="dark green",lwd=2) legend(15,0.15,c("b=1","b=2","b=3"), col=c("blue","red","dark green"),lwd=2,title="värde på b:") Vilken kurva passar bäst ihop med histogrammet? Fundera på hur den tolkning av parametern b som gavs i texten ovan stämmer överens med de tre kurvornas utseende. Antag nu att man vill räkna ut sannolikheten att vindhastigheten X överstiger 10 m/s vid en viss tidpunkt. Genom att utnyttja att P (A ) = 1 P (A) så får vi att P (X > 10) = 1 P (X 10) = 1 10 0 f(x)dx Funktionen pweibull(k,a,b) beräknar sannolikheten att P (X k) då X är Weibullfördelad med parametrarna a och b. Om vi tar parametervärden a = 7.75 och b = 2 så kan vi alltså räkna ut den sökta sannolikheten som: 1-pweibull(10,2,7.75) Vissa problemställningar är för svåra för att man ska kunna skriva det man söker som en integral. I sådana situationer kan man ofta använda datorsimulering för att få fram svaret (eller åtminstone ett approximativt svar). Vi studerar sådana problem i avsnitt 3.3 nedan. I R kan funktionen rweibull användas för att generera simulerade observationer från Weibullfördelningen. rweibull(n,b,a) ger n simulerade observationer från Weibullfördelningen med parametrar a och b. Prova att köra nedanstående kod några gånger: rweibull(10,2,7.75) 3 Fallet b = 2 är för övrigt ett viktigt specialfall av Weibullfördelningen, som går under namnet Rayleighfördelningen. Den används också bland annat för att modellera radiosignaler. 6

Resultaten som skrivs ut på skärmen är alltså tio simulerade vindhastigheter. Vi drar oss till minnes att vi definierade sannolikheten för händelsen A som den relativa frekvens för A då det försök som kan ge upphov till att A inträffar utförs oändligt många gånger. Vi kan få en uppskattning av vad sannolikheten är genom att räkna ut den relativa frekvensen av händelsen A då vi simulerat försöket ett stort antal gånger. Här kan vi exempelvis simulera n = 10000 vindhastigheter: n=10000 vh=rweibull(n,2,7.75) Antalet vindhastigheter f på mer än 10 m/s får vi genom att skriva: f=length(vh[vh>10]) så den relativa frekvensen f/n blir f/n Ligger svaret från simuleringen nära det du fick nyss med 1-pweibull(10,2,7.75)? Prova vad som händer om du ökar eller minskar värdet på n. Vi har nu sett hur vi kan använda datorsimulering för att beräkna sannolikheter, förutsatt att vi har en slumpmodell för den storhet som vi vill räkna ut sannolikheten för. I nästa exempel ska vi använda simulering för att räkna ut en mer komplicerad sannolikhet. 3.3 Gångtid till driftstopp I många tekniska tillämpningar är man intresserad av att modellera slumpbeteendet för tider av olika slag. Det kan exempelvis röra sig om gångtider innan driftstopp, livslängder för elektroniska komponenter, produktionstider och leveranstider. Ofta kan just Weibullfördelningen användas för sådan modellering. Vi ska titta på ett exempel där ett företag provar en ny design på de två fläktar som ingår i ett ventilationssystem med mekanisk frånluft. De är intresserade av fläktarnas gångtid innan driftstopp mer specifikt vill de ta reda på sannolikheten för att minst en av fläktarna får ett driftstopp inom två år. Från tidigare experiment så har de kommit fram till att Weibullfördelningen med parametrar a = 10 och b = 2 ger en bra beskrivning av slumpbeteenden för fläktarnas gångtid (mätt i år) innan driftstopp. Tyvärr så kan inte sannolikheten de söker på ett tillräckligt enkelt sätt skrivas som en integral. De väljer därför att utföra en datorsimulering för att få en uppskattning av den sökta sannolikheten. Som vi nyss nämnde så kan funktionen rweibull användas för att generera simulerade observationer från Weibullfördelningen. Exempelvis ger rweibull(5,2,10) fem simulerade gångtider. Kommandot for kan användas för att upprepa en viss beräkning flera gånger. Prova exempelvis att köra följande kod några gånger, med olika värden på k: 7

raknare=na k=3 for(i in 1:k) { raknare[i]=i } raknare for(i in 1:k) kan utläsas som kör koden mellan måsvingarna k gånger och låt variabeln i räkna hur många gånger du kört koden. I det här fallet är koden mellan måsvingarna alltså raknare[i]=i vilket innebär att i:te gången som koden körs så ska siffran i läggas in på plats i i vektorn raknare. Nedanstående kod simulerar gångtiden för 10000 par av fläktar och sparar den kortaste gångtiden för varje fläktpar i vektorn mingangtid: n=10000 mingangtid=rep(na,n) for(i in 1:n) { mingangtid[i]=min(rweibull(2,2,10)) } Vi kan undersöka hur de kortaste gångtiderna fördelat sig genom att rita ett histogram: hist(mingangtid) Jämför histogrammet med det som vi får om vi simulerar 10000 tider för en enda fläkt: par(mfrow=c(1,2)) hist(mingangtid,main="kortaste gångtiden bland två fläktar") hist(rweibull(10000,2,10),main="gångtiden för en enda fläkt") INLÄMNINGSUPPGIFT 2 - PROBLEM 9 I det högra histogrammet fås lite större värden än i det vänstra. Varför? Som i exemplet med vindhastighet kan vi få en uppskattning av vad sannolikheten för att minst en av fläktarna får ett driftstopp inom två år är genom att räkna ut den relativa frekvensen av fläktpar där den kortaste gångtiden var mindre än 2 år: length(mingangtid[mingangtid<2])/n Är den uppskattade sannolikheten tillräckligt liten för att företaget ska kunna släppa fläktarna på marknaden? Vad är din bedömning? Vid modellering av gångtider och livslängder finns en intressant fysikalisk tolkning av parametern b i Weibullfördelningen. Vi kan tänka på de tider som ska modelleras som tid innan något går fel eller tid innan en enhet går sönder. Tolkningen av parametern blir då följande: b < 1: ju längre tid som går, desto lägre blir risken för fel. Det innebär alltså att risken för fel är större i början, vilket är vanligt i system där man har en viss inkörningsperiod innan allt fungerar riktigt som det skall. Det kan också tolkas som att enheter med defekter i allmänhet går sönder relativt snabbt. 8

b = 1: intensiteten av fel är konstant och förändras inte med tiden. Det innebär att enhetens ålder alltså inte påverkar risken att den går sönder. En tolkning kan vara att det är slumpmässiga utomstående faktorer som orsakar felen. Det här fallet är så viktigt att det har fått ett eget namn; då b = 1 så kallas Weibullfördelningen för exponentialfördelningen. b > 1: ju längre tid som går, desto större blir risken för fel. Här blir tolkningen att enheterna åldras och slits, så att de med större sannolikhet går sönder ju äldre de blir. 3.4 Några ord om fördelningar Vi har här tittat på några exempel där Weibullfördelningen kunde användas för att få en modell för olika slumpbeteenden. Under kursens gång kommer vi att stöta på flera andra fördelningar med många tillämpningsområden, vilket ger oss möjligheten att konstruera modeller för ytterligare ett antal intressanta problem. Binomialfördelningen och Poissonfördelning kan användas för att modellera diskreta data (istället för täthetsfunktionen f(x) använder man då sannolikhetsfunktionen p(x)), medan normalfördelningen, likformig fördelning och exponentialfördelningen kan användas för kontinuerliga data. För framtida bruk ger vi här en tabell med de viktigaste funktionerna som hör till respektive fördelning: Fördelning för X p(x) eller f(x) P (X t) Simulera N observationer Binomial, Bin(n, p) dbinom(x,n,p) pbinom(t,n,p) rbinom(n,n,p) Poisson, Po(m) dpois(x,m) ppois(t,m) rpois(n,m) Normalfördelning, N(m, s 2 ) dnorm(x,m,s) pnorm(t,m,s) rnorm(n,m,s) Likformig, Re(a, b) dunif(x,a,b) punif(t,a,b) runif(n,a,b) Exponential, Exp(a) dexp(x,1/a) pexp(t,1/a) rexp(n,1/a) 9