Laboration 4 Regressionsanalys

Relevanta dokument
Laboration 4 R-versionen

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

Matematikcentrum 1(4) Matematisk Statistik Lunds Universitet MASB11 HT10. Laboration. Regressionsanalys (Sambandsanalys)

Laboration 5 Regressionsanalys

1 Förberedelseuppgifter

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

Föreläsning 8. NDAB02 Statistik; teori och tillämpning i biologi

10.1 Enkel linjär regression

Statistik B Regressions- och tidsserieanalys Föreläsning 1

Laboration 2: Styrkefunktion samt Regression

F13 Regression och problemlösning

Föreläsning 12: Linjär regression

Matematisk statistik kompletterande projekt, FMSF25 Övning om 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

Grundläggande matematisk statistik

Föreläsning 12: Regression

förstå modellen enkel linjär regression och de antaganden man gör i den Laborationen är dessutom en direkt förberedelse inför Miniprojekt II.

LABORATION 3 - Regressionsanalys

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

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

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression LABORATION 5 MATEMATISK STATISTIK AK FÖR CDE, FMS012, VT08

Föreläsning 2. Kap 3,7-3,8 4,1-4,6 5,2 5,3

Föreläsning G60 Statistiska metoder

Matematisk statistik för D, I, Π och Fysiker

oberoende av varandra så observationerna är

Regressions- och Tidsserieanalys - F1

FMSF55: Matematisk statistik för C och M OH-bilder på föreläsning 9,

Matematisk statistik, Föreläsning 5

Laboration 4: Lineär regression

Datorövning 1 Enkel linjär regressionsanalys

LABORATION 3 - Regressionsanalys

Regressions- och Tidsserieanalys - F1

732G71 Statistik B. Föreläsning 1, kap Bertil Wegmann. IDA, Linköpings universitet. Bertil Wegmann (IDA, LiU) 732G71, Statistik B 1 / 20

TVM-Matematik Adam Jonsson

F12 Regression. Måns Thulin. Uppsala universitet Statistik för ingenjörer 28/ /24

F18 MULTIPEL LINJÄR REGRESSION, FORTS. (NCT

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

Obligatorisk uppgift, del 1

Laboration 3: Enkel linjär regression och korrelationsanalys

Examinationsuppgifter del 2

Metod och teori. Statistik för naturvetare Umeå universitet

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

En rät linje ett enkelt samband. En rät linje + slumpbrus. Observationspar (X i,y i ) MSG Staffan Nilsson, Chalmers 1.

Sänkningen av parasitnivåerna i blodet

tentaplugg.nu av studenter för studenter

Statistik 1 för biologer, logopeder och psykologer

1 Förberedelseuppgifter

Instruktioner till arbetet med miniprojekt II

LÖSNINGSFÖRSLAG TILL TENTAMEN I MATEMATISK STATISTIK

a) Vad är sannolikheten att det tar mer än 6 sekunder för programmet att starta?

1. Lära sig plotta en beroende variabel mot en oberoende variabel. 2. Lära sig skatta en enkel linjär regressionsmodell

STOCKHOLMS UNIVERSITET HT 2008 Statistiska institutionen Linda Wänström. Omtentamen i Regressionsanalys

Enkel linjär regression: skattning, diagnostik, prediktion. Multipel regression: modellval, indikatorvariabler

Bild 1. Bild 2 Sammanfattning Statistik I. Bild 3 Hypotesprövning. Medicinsk statistik II

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

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

Preliminära lösningar för Tentamen Tillämpad statistik A5 (15hp) Statistiska institutionen, Uppsala universitet

Statistiska samband: regression och korrelation

TENTAMEN I MATEMATISK STATISTIK

Medicinsk statistik II

InStat Exempel 4 Korrelation och Regression

TAMS65 DATORÖVNING 2

Föreläsning 9. NDAB02 Statistik; teori och tillämpning i biologi

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

Föreläsning G60 Statistiska metoder

1/23 REGRESSIONSANALYS. Statistiska institutionen, Stockholms universitet

Resultatet läggs in i ladok senast 13 juni 2014.

Laboration 4: 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

Under denna laboration kommer regression i olika former att tas upp. Laborationen består av fyra större deluppgifter.

Rättningstiden är i normalfall 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration, annars är det detta datum som gäller:

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

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

Föreläsning 9. NDAB01 Statistik; teori och tillämpning i biologi

Spridningsdiagram (scatterplot) Fler exempel. Korrelation (forts.) Korrelation. Enkel linjär regression. Enkel linjär regression (forts.

Datorövning 5 Exponentiella modeller och elasticitetssamband

Person Antal månader som utrustningen ägts. Antal timmar utrustningen användes föregående vecka.

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

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet. Laboration 4. Regressionsanalys

Enkel linjär regression

Laboration 5: Regressionsanalys

DATORLABORATION: JÄMFÖRELSE AV FLERA STICKPROV.

732G71 Statistik B. Föreläsning 4. Bertil Wegmann. November 11, IDA, Linköpings universitet

TAMS 28 DATORÖVNING 2

FORMELSAMLING MATEMATISK STATISTIK FÖR W; FMSF75 UPPDATERAD Sannolikhetsteori. Beskrivning av data. Läges-, spridnings- och beroendemått

Linjär regressionsanalys. Wieland Wermke

Kapitel 4: SAMBANDET MELLAN VARIABLER: REGRESSIONSLINJEN

Laboration 2: Normalfo rdelning, regressionsanalys och korstabeller

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

Korrelation kausalitet. ˆ Y =bx +a KAPITEL 6: LINEAR REGRESSION: PREDICTION

Tentamen Tillämpad statistik A5 (15hp)

MVE051/MSG Föreläsning 14

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet MASB11 HT11. Laboration. Statistiska test /16

Instruktioner till Inlämningsuppgift 1 och Datorövning 1

1. En kontinuerlig slumpvariabel X har följande täthetsfunktion (för någon konstant k). f.ö.

Lunds tekniska högskola Matematikcentrum Matematisk statistik. FMS035: Matematisk statistik för M Datorlaboration 5

Matematikcentrum 1(5) Matematisk Statistik Lunds Universitet MASB11 HT Laboration P3-P4. Statistiska test

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

Lycka till!

Medicinsk statistik II

Transkript:

Matematikcentrum Matematisk Statistik Lunds Universitet MASB11 VT14, lp4 Laboration 4 Regressionsanalys 2014-05-21/23

Syftet med laborationen är att vi skall bekanta oss med lite av de funktioner som finns i R för att utföra korrelations- och regressionsanalys. När ni arbetat er igenom laborationshandledningen kan ni fortsätta med projektet. Introduktion Regressionsanalys i R Genom hela introduktionen ställs frågor i anslutning till analyserna. Kortfattade svar finns i slutet på introduktionen. Vi skall börja med att göra en regressionsanalys på följande datamaterial: Datamaterial: För 6 torskar har vi värden på variablerna Längd (cm) och Ålder (år). Längd (cm) Ålder (år) 15 1 30 2 35 3 50 4 55 5 60 6 Kan vi påvisa något samband (linjärt) mellan längd och ålder? Går det alltså avgöra åldern med hjälp av fiskens längd. Inläsning av data. Börja med att mata in data till R. Lägg in värdena i en data.frame, som du döper till torskar, med värdena i två kolumner: Längd och Ålder. torskar <- data.frame(längd=c(15,30,35,50,55,60), Ålder=c(1,2,3,4,5,6)) Datamaterialet skall alltså innehålla 2 kolumner med 6 värden i varje kolumn. a) Beskrivning av data. Börja nu med en grafisk beskrivning av sambandet genom att rita ett spridningsdiagram med Ålder på x-axeln och Längd på y-axeln: plot(torskar$ålder, torskar$längd) Ser det ut som om det kan finnas ett linjärt samband? b) Korrelationer. Vi börjar med att beskriva sambandet mellan variablerna med hjälp av korrelationskoefficienten. Beräkna Pearson's korrelationskoefficient med R's inbyggda funktion cor(...) och testa om den är skild från noll med cor.test(...): cor(torskar$ålder, torskar$längd) cor.test(torskar$ålder, torskar$längd) Tyder resultaten på att det finns något linjärt samband mellan Längd och Ålder? c) Enkel linjär regression. Vi skall nu undersöka hur sambandet mellan variablerna ser ut genom att anpassa en rät linje till data. Kommandot lm(y ~ x) (lm står för linear model) anpassar en linjär modell för den beroende variabeln y som funktion av en eller flera förklarande variabler x. Sedan kan vi få ut olika egenskaper hos modellen och skattningarna med ytterligare kommandon:

modell <- lm(längd ~ Ålder, data=torskar) modell # skattningarna av beta0 och beta1 summary(modell) # ger mer information, t.ex. signifikanser för skattnigarna confint(modell) # Konfidensintervallet för skattnigarna av beta0 och beta1 Genomför analysen. Identifiera följande mått i utskriften: r korrelationskoefficienten, r 2 förklaringsgraden, s residualspridningen, de skattade koefficienterna med standardfel, t-test och konfidensintervall. För att få den skattade regressionslinjen utritad i figuren ni skapade i 1 a) kan du använda kommandot: abline(modell) d) Prognoser och konfidensintervall. Om man vill använda sin regressionsmodell för att göra prognoser så kan detta enkelt göras efter att man skattat modellen. I R kan man prediktera i samma datamaterial som man använde för att skatta modellen. Då får man en prediktion för varje individ=rad. Man kan också mycket enkelt ange en helt annan uppsättning individer som man vill prediktera för istället. Det är praktiskt när man t.ex. vill rita ut konfidensintervall och prediktionsintervall snyggt. # vi vill prediktera för en ålderssekvens i steg om halvår: 0.5, 1.0, 1.5,, 7.0, 7.5: x0 <- data.frame(ålder=seq(0.5,7.5,0.5)) mu0konf <- predict(modell, x0, interval= confidence ) # konfidensintervall mu0pred <- predict(modell, x0, interval= prediction ) # prediktionsintervall cbind(x0, mu0pred) Vad blir prognosen för längden för en sju år gammal torsk? Vad blir prognosintervallet? För att få intervallen utritade i figur ritar vi linjer med våra prediktionsåldrar på x-axeln och tillhörande intervallgränser på y-axeln. Vi vill dessutom rita konfidensintervallet som streckade blå linjer och prediktionsintervallet som prickade röda: lines(x0$ålder, mu0konf[, lwr ], col= blue, lty=2) # undre (lower) gränsen lines(x0$ålder, mu0konf[, upr ], col= blue, lty=2) # övre (upper) gränsen lines(x0$ålder, mu0pred[, lwr ], col= red, lty=3) lines(x0$ålder, mu0pred[, upr ], col= red, lty=3) e) Kontroll av förutsättningar. Vi skall nu kontrollera två av de antagandensom finns i analysen. För det första antagandet om att slumpfelen skall vara normalfördelade och för det andra antagandet om lika varians. Residualerna beräkna med kommandot res <- residuals(modell) Undersök nu om residualerna är normalfördelade genom att göra en QQ-plot (i R används kommandot qqnorm(res)) eller genom att plottta residualerna i ett normalfördelnigspapper, använd R- funktionen normplot(res). Du kan behöva installera ett paket som heter nsrfa för att få tillgång till funktionen normplot(). Antagandet om lika varianser (konstant spridning kring linjen) kan vi undersöka genom att plotta residualerna mot Ålder. Gör det! plot(torskar$ålder, res) Kan du se några strukturer i figuren?

Datamaterial: Bradfordmetoden. I laborationen Proteinbestämning enligt Bradfordmetoden i kursen cellbiologi undersöktes absorbansen hos prov med olika spädningar av Bovint Serum Albumin (BSA)-standard. Prov med 0-10 μg protein spädes till 100 μl med vatten och två prover förberedes per koncentration. Data för en laborationsgrupp finns i filen Labbdata.RData som du hittar på kursens hemsida. Modell: Enligt Lambert-Beers lag gäller att absorbansen (A) kan beskrivas som en linjär funktion av koncentrationen (c): A=k c där konstanten k beror på ämnets molära absorptionskoefficient vid en viss våglängd samt kyvettens längd. Vid mätningar får man naturligtvis räkna med en viss slumpmässig variation, en rimlig modell är att absorbansen vid mätning nr i, Ai, beskrivs linjärt av koncentrationen ci plus ett slumpmässigt fel e i : Ai = β0 + β1 ci + ei där ei är oberoende och normalfördelad slumpfel med väntevärdet 0 och standardavvikelsen σ. Här motsvaras konstanten β1 av den tidigare k medan β0 är absorbansen i den lösning som BSA:n är löst i. a) Undersök på labbdata om den linjära regressionsmodellen ovan är rimlig att anpassa. b) Hur mycket ökar absorbansen då man ökar koncentrationen en enhet? Ange ett 95 % konfidensintervall för denna storhet c) Vad är genomsnittlig absorbans för prov med koncentration 50 (mg/l). Ange ett 95 % konfidensintervall för denna storhet. Tips: skapa en ny data.frame( ) och använd predict( ). x50<-data.frame(koncentration=c(50)) mu50konf<-predict(modell2,x50,interval="confidence") d) Vi har ett prov med koncentration 50 (mg/l). Ange ett 95 % prediktionsintervall för absorbansen i just detta prov. e) Huvudsyftet med mätningarna var att erhålla en standardkurva för hur absorbansen påverkas av koncentrationen. Anta att vi på ett prov med okänd koncentration c0 uppmätte absorbansen 0.43. En skattning av c0 kan vi få fram genom att lösa ut x ur sambandet 0.43 = β0 + β1 x så här (om den anpassade modellen sparats i variabeln modell2): beta0 <- modell2$coefficients[1] beta1 <- modell2$coefficients[2] c0 <- (0.43 beta0) / beta1 Vad blev den skattade koncentrationen? f) Man skulle också vilja ha ett intervall som uppskattar inom vilka gränser c0 kan ligga ett sådant intervall kallas kalibreringsintervall. Tyvärr kan man inte få det direkt i R. Däremot kan man få en uppfattning om hur brett intervallet är eftersom kalibreringsintervallet är omvändningen till prediktionsintervallet. Om vi beräknar prediktionsintervallet för ett antal koncentrationer kan vi sedan undersöka för vilka koncentrationer som intervallet gränser blir den uppmätta absorbansen 0.43. Vi börjar med att beräkna prediktionsintervallet för koncentrationerna 0, 1,, 100 och rita upp dem samt den linje, y=0.43, som vi vill hitta skärningarna till: x0 <- data.frame(koncentration=seq(0,100)) mu0pred <- predict(modell2, x0, interval= prediction ) plot(labbdata$koncentration, Labbdata$absorbans, ylim=c(0.35, 0.5)) abline(modell2) lines(x0$koncetration, mu0pred[, lwr ], col= red, lty=3) lines(x0$koncetration, mu0pred[, upr ], col= red, lty=3)

abline(h=0.43) # horisontell linje på y=0.43 Vi kan försöka hitta skärningarna i figuren men eftersom vi har sparat beräkningarna av prediktionsgränserna kan vi leta där istället. Vi skriver ut koncentrationerna och tillhörande prediktionsintervall: cbind(x0, mu0pred) Leta upp det koncentrationsvärde där övre prediktionsgränsen upr är lika med 0.43 (vi kan kalla det c_lwr eftersom det kommer att bli undre gränsen i kalibreringsintervallet). Leta också upp det koncentrationsvärde där undre prediktionsgränsen lwr är lika med 0.43 (vi kallar denna koncentration för c_upr). c_lwr <-? # skriv dit ditt avlästa värde istället för? c_upr <-? # skriv dit ditt avlästa värde istället för? För att se hur det fungerade lägger vi till kalibreringsintervallet i figuren: abline(v=c_lwr) # vertikal linje på x=c_lwr abline(v=c_upr) # vertikal linje på x=c_upr Vad blev kalibreringsintervallet? Är det användbart? Svar: 1. b) Ja! rp = 0.982 => p=0.000 Det finns ett samband c) r = 0.982; r2 = 0.964; s = 3.651; β0=9.333 (3.399); β1=9.000 (0.873); t=10.311; p=0.000 d) Prognos vid åldern 7 år = 72.33; PI 58.5 86.2 e) NF: Njä;Konstant varians: Ej helt lätt att bedöma (få värden) 2. b) 0.0008 intervall: 0.00063 0.0011 c) KI 0.425 0.441 d) PI 0.407 0.459 e) c0 skattas till 47 mg/l f) Intervallet skattas till 15 78; tämligen brett. Sammanfattning R cor(x, y) Korrelationskoefficient cor.test(x, y) Test för korrelationskoefficient lm(y ~ x) regression av y som funktion av x lm(y ~ x, data=dataframen som innehåller x och y) i ett visst datamaterial summary(modell) skattningar, signifikanser, etc, confint(modell) konfidensintervall för parametrarna predict(modell, x0) prediction av förväntat värde när x=x0 predict(modell, x0, interval= confidence ) med konfidensintervall predict(modell, x0, interval= prediction ) med prediktionsintervall residuals(modell) residualer