Laboration 1: Introduktion till R och Deskriptiv statistik



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

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

Laboration 2: Statistisk hypotesprövning

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

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

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

DATORLABORATION: JÄMFÖRELSE AV FLERA STICKPROV.

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

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

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

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

Datorövning 1 Statistik med Excel (Office 2007, svenska)

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

Datorövning 1 Fördelningar

Laboration 3: Enkel linjär regression och korrelationsanalys

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

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

Laboration: Grunderna i Matlab

Institutionen för teknikvetenskap och matematik, S0001M LABORATION 2

Demonstration av laboration 2, SF1901

Datorövning 1 Statistik med Excel (Office 2010, svenska)

MVE051/MSG Föreläsning 7

Instruktion för laboration 1

Laboration 1: Beskrivande statistik

Inlämningsuppgift 1: Portföljvalsteori

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

Datorövning 1 Statistik med Excel (Office 2007, svenska)

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

Laboration med Minitab

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

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)

Laboration 3: Enkla punktskattningar, styrkefunktion och bootstrap

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

*****************************************************************************

Laboration 3: Parameterskattning och Fördelningsanpassning

Datorövning 1: Fördelningar

Datorövning 1: Fördelningar

Obligatorisk uppgift, del 1

TMS136. Föreläsning 7

Arbeta med normalfördelningar

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

DATORÖVNING 2: STATISTISK INFERENS.

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel

Instruktion för laboration 1

bli bekant med summor av stokastiska variabler.

Datorövning 1 Introduktion till Matlab Fördelningar

LABORATION 1. Syfte: Syftet med laborationen är att

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

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

DATORÖVNING 5: SANNOLIKHETSFÖRDELNINGAR FÖR

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

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

Lektionsanteckningar 11-12: Normalfördelningen

Liten handledning i Excel och StarOffice Calc i anslutning till Datorövning 1

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

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

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

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

Typvärde. Mest frekventa värdet Används framförallt vid nominalskala Ex: typvärdet. Kemi 250. Ekon 570. Psyk 120. Mate 195.

Linjär algebra med tillämpningar, lab 1

Weibullanalys. Maximum-likelihoodskattning

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

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

SF1672, Linjär Algebra med Matlab för F1 Lab0

Datorlaboration 1 Deskriptiv statistik med hjälp av MS Excel vers. 2010

Att göra före det schemalagda labpasset.

Histogram, pivottabeller och tabell med beskrivande statistik i Excel

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

Målet för D1 är att studenterna ska kunna följande: Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

2.1 Minitab-introduktion


Del 2 tillsammans med förberedelsefrågor - tid för inlämning och återlämning meddelas senare.

Valresultat Riksdagen 2018

13.1 Matematisk statistik

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

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

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

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

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

Marknadsinformationsmetodik Inlämningsuppgift

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

En introduktion till och första övning for Excel

TSBB14 Laboration: Intro till Matlab 1D

KLEINLEKTION. Område statistik. Lektionens upplägg. Lämplig inom kurserna Matematik 2b och 2c. Engage (Väck intresse) Explore (Upptäck laborera)

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

Laboration 1: Icke-parametriska enstickprovstest

1 Sannolikhet enligt frekvenstolkningen Kast med tärning

Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt

Introduktion till statistik för statsvetare

Datorövning 5 Exponentiella modeller och elasticitetssamband

Gör uppgift 6.10 i arbetsmaterialet (ingår på övningen 16 maj). För 10 torskar har vi värden på variablerna Längd (cm) och Ålder (år).

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

STOCKHOLMS UNIVERSITET HT 2006 Statistiska institutionen Jan Hagberg, Bo Rydén, Christian Tallberg, Jan Wretman

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

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

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

Föreläsning G60 Statistiska metoder

Sannolikhet och statistik med Matlab. Måns Eriksson

TMS136. Föreläsning 4

Transkript:

STOCKHOLMS UNIVERSITET 13 februari 2009 Matematiska institutionen Avd. för matematisk statistik Gudrun Brattström Laboration 1: Introduktion till R och Deskriptiv statistik Denna första datorlaboration i kursen Statistisk analys består väsentligen av tre olika delar; först en introduktion till datorprogrammet R som kommer att användas på samtliga laborationer, sedan en övning i att avgöra huruvida ett stickprov kan anses normalfördelat samt, avslutningsvis, en deskriptiv (beskrivande) analys av ett litet datamaterial. Som förberedelse till laborationen bör den teoretiska Uppgift 0 lösas. Uppgift 2 och 3 skall redovisas skriftligt senast det datum som anges på schemat. 0 Två teorifrågor 1. Om en exponentialfördelad variabel har väntevärde a, vad är då dess standardavvikelse? 2. Den stokastiska variablen X är likformigt fördelad med väntevärde a. Vad skall fördelningens undre och övre gränser vara, uttryckt i a, för att standardavvikelsen skall bli lika stor som väntevärdet? (Ledning: Om X U[α, β] så gäller att Var(X) = (β α) 2 /12.) 1 Introduktion till R Programspråket R är ett relativt nytt språk som har växt i popularitet, framförallt hos statistiker, de senaste åren. Till sin struktur och uppbyggnad påminner det starkt om Matlab som ni har jobbat med i kursen Sannolikhetsteori I, men som har den fördelen att det finns gott om färdiga statistiska funktioner som inte finns tillgängliga i Matlab. En annan fördel är att det är gratis för alla att ladda hem det, bland annat från hemsidan www.r-project.org. Där kan ni dessutom hitta hjälp och tips exempelvis via länkarna under rubriken Documentation. 1

1.1 Att komma i gång Börja med att logga in som vanligt och öppna sedan ett terminalfönster genom att högerklicka på musen och gå ner i menyn som dyker upp på skärmen och vänsterklicka på Run Command. Skriv sedan konsole (observera stavning) i det nya fönstret som dyker upp och tryck på Return. Det man bör göra allra först innan man startar R är att skapa ett nytt underbibliotek under sitt huvudbibliotek och sedan flytta sig dit genom operationerna $ mkdir statan1 $ cd statan1 Detta är praktiskt på så vis att alla datafiler och figurer som hör till första laborationen samlas på ett och samma ställe där man inte blandar ihop dem med filer från andra labbar och andra kurser. Nu kan man starta R helt enkelt genom att skriva R i terminalfönstret. Programspråket R fungerar interaktivt precis som Matlab genom att man skriver in kommandon, anropar funktioner och skapar datavariabler vid promptern > som dyker upp. Man kan, precis som i Matlab, när som helst få information om hur ett visst kommando eller funktion fungerar genom kommandot help enligt mönstret > help(mean) eller >?mean som ger information om hur man beräknar medelvärde i R. Man kan också öppna ett hjälpfönster i HTML-format genom kommandot > help.start() där man kan klicka sig fram till olika hjälpsidor. Exempelvis kan man få samma hjälp som ovan om man klickar på Packages, base och mean. När man sedan är klar med laborationen eller vill göra ett uppehåll skriver man bara > q() Då kommer programmet att fråga om man vill spara sin workspace image, det vill säga alla variabler som man har definierat under körningen. Svarar man ja (genom att skriva y) så kommer allting att sparas och laddas in i R när man startar det nästa gång från samma underbibliotek. 2

1.2 Enkla numeriska operationer Datamängder hanteras i R, precis som i Matlab, i form av vektorer som kan skapas enligt > x <- c(2.3,5.9,3.87,42,15.51) där symbolen <- betyder att uttrycket till höger skall lagras i variabeln till vänster. Notera att man måste anropa funktionen c (står för combine) samt att resultatet inte skrivs ut. För att se hur variabeln x ser ut i R, skriv helt enkelt > x De elementära aritmetiska operationerna fungerar precis som i Matlab med symbolerna +, -, * och / för de fyra räknesätten. En skillnad jämfört med Matlab är att alla operationer görs elementvis. Dessutom finns även alla elementära matematiska funktionerna exp, sqrt, log, sin, cos och så vidare tillgängliga som i Matlab. Slutligen kan nämnas att föregående kommando kan återkallas genom att trycka pil uppåt. Detta är praktiskt om man skriver något litet fel i ett långt kommando. I stället för att behöva skriva in alltihop för hand igen kan man återkalla kommandot, rätta felet och exekvera det igen. 1.3 Deskriptiv statistik För att få en uppfattning om hur man kan beskriva ett datamaterial numeriskt och grafiskt skall ni genomföra följande enkla uppgift. I staden Grötköping mättes kroppslängden på 11 av stadens invånare och resultaten (i cm) blev: 174.6 173.2 189.6 167.7 179.2 179.6 170.5 168.5 185.3 164.1 178.4 Börja med att mata in data i variablen x. De vanliga läges- och spridningsmåtten kan enkelt fås med hjälp av funktionerna mean (för medelvärdet), var (för stickprovsvariansen), sd (för standardavvikelsen) och summary (för minimum, maximum, median och kvartiler). Ett träd-bladdiagram fås med stem, histogram (stapeldiagram) med hist, boxplot med boxplot och normalfördelningsplot med qqnorm. I samtliga fall räcker det att ange vektorn x som enda argument så ritar R upp samtliga diagram automatiskt. När det gäller histogram så vill man ibland ha en annan klassindelning än den som R ger automatiskt. Pröva exempelvis > hist(x,seq(162,192,5)) och > hist(x,seq(162,190,4)) 3

och se vad som händer. Kommandot seq(162,190,4) skapar en talsekvens med 162 som första värde, 190 som sista värde med mellanrum 4. Denna talsekvens anger sedan gränserna för klasserna i histogrammet. När det gäller normalfördelningsplotten så är den ju konstruerad på ett sådant sätt att data kommer att ligga längs en rät linje om data verkligen är normalfördelade. En sådan jämförelse underlättas om man ritar ut en rät linje, vilket enkelt åstadkommes med kommandot qqline(x). Om man vill skriva ut sin figur exempelvis ett histogram på skrivare måste man först ange kommandona > postscript("figur.ps") > hist(x) > dev.off() Då skapas postscript-filen figur.ps i ert hembibliotek. För att skriva ut denna, öppna först ett nytt terminalfönster och skriv lpr figur.ps. 1 Uppgift 1 behöver inte redovisas. 2 Kommer data från en normalfördelning? Vid praktiska tillämpningar av matematisk statistik ställs man ofta inför frågan om en uppsättning data kan anses komma från en normalfördelning (eventuellt med viss approximation). Man har således ett stickprov med n oberoende observationer från en okänd sannolikhetsfördelning. Frågan är om den okända fördelningen kan vara en normalfördelning. Vi skall här jämföra olika metoder (främst grafiska) som kan användas för att besvara ovanstående fråga. Vi skall också försöka svara på frågan hur stort n behöver vara för att vi med rimlig approximation skall kunna avgöra om data är normalfördelade eller inte. För detta ändamål skall vi simulera data från för oss kända fördelningar, både normalfördelade och icke-normalfördelade data. Alla fördelningar som ni skall jämföra skall ha väntevärde och standardavvikelse lika med a som ni sätter till de två sista siffrorna i ett av era personnummer. 2.1 Normalfördelade data Normalfördelade data kan enkelt simuleras i R med funktionen rnorm(n,m,s) där n anger antal värden som skall simuleras, m anger väntevärde och s anger standardavvikelse för den fördelning som skall simuleras. Börja med att simulera ett stickprov av storlek 10 enligt > x1 <- rnorm(10,a,a) 1 R kan även skapa bilder i andra format, exempelvis jpeg; detta görs genom att ersätta extensionen.ps med.jpg i ovanstående kommandosekvens. 4

där ni har tilldelat a värdet enligt ovan. Rita sedan upp ett histogram med lämpliga klassgränser. Eftersom vi vet den sanna fördelningen kan vi göra en jämförelse mellan histogrammet och täthetsfunktionen för fördelningen, men då måste vi lägga till argumentet prob=true enligt > hist(x1,prob=true) för att skalan på y-axeln skall bli korrekt. Man kan nu plotta tätheten för normalfördelningen i histogrammet genom kommandona > x <- seq(l,u,1) > lines(x,dnorm(x,a,a)) Första kommandot skapar en sekvens med första värdet l och sista värdet u (välj egna värden på l och u som passar histogrammet). Andra kommandot ritar en kurva med x- koordinater x och y-koordinater dnorm(x,a,a), som beräknar värdet på täthetsfunktionen i punkterna x för en normalfördelning med väntevärde och standardavvikelse a. Rita även en boxplot och en normalfördelningsplot för data. Simulera sedan ytterligare sju stickprov x2, x3,..., x8 av storlek 10 med samma väntevärde och standardavvikelse. Börja med att jämföra stickproven med en gemensam boxplot enligt > boxplot(x1,x2,x3,x4,x5,x6,x7,x8) Lägg märke till att de åtta stickproven verkar skilja sig åt ganska markant trots att de alla är simulerade från samma fördelning. För att få en motsvarande jämförelse mellan histogram måste vi först tala om för R att dela upp det grafiska fönstret i mindre delfönster med kommandot > op=par(mfrow=c(3,3)) Vi skall inte gå in i detalj på hur detta kommando fungerar utan konstatera att det delar in det grafiska fönstret i nio delfönster organiserade i 3 rader och 3 kolumner. (Vill ni ta bort denna indelning och plotta figurer i hela det grafiska fönstret igen så skriv bara op=par(mfrow=c(1,1)).) Rita sedan upp histogram efter histogram enligt > hist(x1) > hist(x2) > hist(x3) och så vidare. För att underlätta jämförelsen kan ni eventuellt skriva om histogrammen med samma klassindelningar. På samma sätt kan man få samtliga normalfördelningsplottar i samma grafikfönster genom kommandot op=par(mfrow=c(3,3)) och 5

> qqnorm(x1) > qqline(x1) > qqnorm(x2) > qqline(x2) och så vidare. 2.2 Likformigt fördelade data För simulering av likformigt fördelade stickprov används i R funktionen runif(n,l,u) där n anger stickprovsstorleken, l anger undre och u anger övre gräns i det intervall som fördelningen är definierad för. Lösningen på Uppgift 0 ger er intervallgränserna för det värde på a som ni använder. Använd denna funktion för att simulera fem oberoende stickprov av storleken 10 och jämför dem grafiskt dels med varandra och dels med de normalfördelade stickproven ovan. Rita exempelvis upp fem normalfördelade stickprov och fem likformigt fördelade stickprov i samma boxplot. 2.3 Exponentialfördelade data Genomför samma jämförelse även för exponentialfördelade stickprov med hjälp av funktionen rexp(n,r), där n är stickprovsstorlek och r är intensiteten i exponentialfördelningen. 2.4 Växande stickprovsstorlekar Upprepa Uppgift 2.2 och 2.3 med stickprovsstorlekarna n = 20, n = 100 och ytterligare något n-värde som ni väljer själva. 2.5 Några sammanfattande frågor 1. Hur stort n behövs för att den likformiga fördelningen skall avslöja sig som ickenormal? 2. Hur stort n behövs för att exponentialfördelningen skall avslöja sig som icke-normal? 3. Vilken grafisk metod är mest effektiv för att avgöra om ett stickprov är normalfördelat? Uppgift 2 redovisas genom skriftliga svar på frågorna 1 3 ovan. Motivera era svar ordentligt. 6

3 Explorativ dataanalys Ni skall nu undersöka ett verkligt datamaterial med de grafiska metoderna ovan samt med så kallade scatterplots som illustrerar beroenden mellan variabler på ett bra sätt. En scatterplot ritas med kommandot > plot(x,y) På kursens hemsida finns filen olvinsprit.txt som innehåller data över genomsnittlig konsumtion av öl, vin och starksprit i några OECD-länder. Börja med att spara filen olvinsprit.txt i underbiblioteket statan1 genom att högerklicka på filen på hemsidan och välja Save Link As.... Eventuellt ger datorn filen ett annat namn i den dialogruta som visas; döp i så fall om den till olvinsprit.txt. Data kan sedan matas in i R genom kommandot > data<-read.table("olvinsprit.txt",header=true) Skapa därefter de fyra variablerna > Land<-data$Land > beer<-data$beer > vin<-data$vin > sprit<-data$sprit En scatterplot ritas med kommandot > plot(beer,vin) vilket ger, i det här fallet, ölkonsumtionen och vinkonsumtionen för samtliga länder. Vill man tydligare se vilka länder punkterna motsvarar kan man i stället skriva > plot(beer,vin,type="n") > text(beer,vin,land) så dyker namnen på länderna upp i stället för punkterna. Illustrera fördelningen för de tre variablerna var för sig. Kan data anses komma från normalfördelningen? Hur ligger Sverige till i förhållande till andra länder? Är Sverige extremt åt något håll? Vilka länder är extrema? Finns det gemensamma drag hos de extrema länderna? Medför hög konsumtion av en typ av alkohol hög eller låg konsumtion av andra? Uppgift 3 skall redovisas skriftligt. Sammanfatta era slutsatser om alkoholkonsumtionen i Europa. Bifoga några illustrativa figurer. 7

4 Skriftlig laborationsrapport Uppgift 2 och 3 ovan skall redovisas skriftligt. Ange tydligt kursens namn, laborationens nummer och ert/era namn! Handskrivna rapporter kommer inte att godkännas. På Linuxdatorerna i datorsalarna finns flera ordbehandlingsprogram som kan användas, däribland L A TEX, i vilket dessa instruktioner är skrivna. För er som är vana vid Windows rekommenderas OpenOffice, som är en slags gratisvariant av Word. Man öppnar OpenOffice genom att klicka på ikonen nere till vänster som liknar en penna och några pappersark. Första gången ni klickar på den kommer det upp några fönster på skärmen som styr hur programmet installeras på er dator. Klicka bara på Next överallt så startar ordbehandlingsprogrammet så småningom. Om ni skickar in er rapport elektroniskt vill vi att ni sparar den i pdf-format. Detta kan man göra i OpenOffice genom att klicka på file och där välja export as PDF.... 8