Laboration 5 Regressionsanalys



Relevanta dokument
Laboration 4 Regressionsanalys

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)

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

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

Kvalster. Korrelation och regression: lineära modeller för bivariata samband. Spridningsdiagram. Bivariata samband

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

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

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 7. Multipel regression. (LLL Kap 15) Multipel Regressionsmodellen

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

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

Föreläsning 9: Hypotesprövning

1. Frekvensfunktionen nedan är given. (3p)

Föreläsning 14: Försöksplanering

Vi skall skriva uppsats

Tentamen i TMA321 Matematisk Statistik, Chalmers Tekniska Högskola.

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

Statistik 1 för biologer, logopeder och psykologer

Datorövning 2 Diskret fördelning och betingning

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

Ekvationssystem, Matriser och Eliminationsmetoden

1 Förberedelseuppgifter

Datorövning 2 Statistik med Excel (Office 2003, engelska)

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

Linjära system av differentialekvationer

TT091A, TVJ22A, NVJA02 By, Pu, Ti. 50 poäng

Lathund, procent med bråk, åk 8

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

Facit med lösningsförslag kommer att anslås på vår hemsida Du kan dessutom få dem via e-post, se nedan.

Lösningar till Tentamen i Matematisk Statistik, 5p 22 mars, Beräkna medelvärdet, standardavvikelsen, medianen och tredje kvartilen?

Statistik och epidemiologi T5

Utveckla arbetsmiljö och verksamhet genom samverkan

HT 2011 FK2004 Tenta Lärare delen 4 problem 6 poäng / problem

Uppgift

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b 2 a b

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

Kapitel 6. f(x) = sin x. Figur 6.1: Funktionen sin x. 1 Oinas-Kukkonen m.fl. Kurs 6 kapitel 1

Modul 6: Integraler och tillämpningar

Laboration 4: Lineär regression

INLÄMNINGSUPPGIFT 2 (Del 2, MATEMATISK STATISTIK) Kurs: MATEMATIK OCH MATEMATISK STATISTIK 6H3000

Övningshäfte i matematik för. Kemistuderande BL 05

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

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

Regression med kvalitativa variabler. Jesper Rydén

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

Väga paket och jämföra priser

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

Laboration 3: Modellval i multipel regression

Nedlagd studietid och olika kurskarakterisika en anspråkslös analys baserad på kursvärderingsdata. Fan Yang Wallentin

Hävarmen. Peter Kock

3.1 Linjens ekvation med riktningskoefficient. y = kx + l.

Institutionen för matematik Envariabelanalys 1. Jan Gelfgren Datum: Fredag 9/12, 2011 Tid: 9-15 Hjälpmedel: Inga (ej miniräknare)

a n = A2 n + B4 n. { 2 = A + B 6 = 2A + 4B, S(5, 2) = S(4, 1) + 2S(4, 2) = 1 + 2(S(3, 1) + 2S(3, 2)) = 3 + 4(S(2, 1) + 2S(2, 2)) = = 15.

NATIONELLT KURSPROV I MATEMATIK KURS B HÖSTEN Tidsbunden del

SF1620 Matematik och modeller

SEPARABLA DIFFERENTIALEKVATIONER

x 2 + px = ( x + p 2 x 2 2x = ( x + 2

Datorövning 3: Icke-parametriska test

Bered en buffertlösning. Niklas Dahrén

Lunds tekniska högskola Matematikcentrum Matematisk statistik

SF1625 Envariabelanalys

Linjär regressionsanalys. Wieland Wermke

Statistiska metoder för säkerhetsanalys

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

Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare

912 Läsförståelse och matematik behöver man lära sig läsa matematik?

Ekonomisk styrning, delkurs Finansiering (2FE254) Tentamen lördag 27 april 2013, kl Inklusive preliminärt lösningsförslag

Övningshäfte Algebra, ekvationssystem och geometri

Svenska Du kan med flyt läsa texter som handlar om saker du känner till. Du använder metoder som fungerar. Du kan förstå vad du läser.

Systematiskt kvalitetsarbete

Tentamen i Matematisk statistik Kurskod S0001M

BIOSTATISTISK GRUNDKURS, MASB11 ÖVNING 8 ( ) OCH INFÖR ÖVNING 9 ( )

Mätning av effekter. Vad är elektrisk effekt? Vad är aktiv-, skenbar- reaktiv- medel- och direkteffekt samt effektfaktor?

Uppgift 1. Deskripitiv statistik. Lön

Sammanfatta era aktiviteter och effekten av dem i rutorna under punkt 1 på arbetsbladet.

LABORATION 3 - Regressionsanalys

Möbiustransformationer.

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.

Observera att alla funktioner kan ritas, men endast linjära funktioner blir räta linjer.

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.

Matematisk statistik kompletterande projekt, FMSF25 Övning om regression

4-6 Trianglar Namn:..

10.1 Enkel linjär regression

parametriska test Mätning Ordinalskala: Nominalskala:

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

Gruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)

Linjära system av differentialekvationer

Mätningar på op-förstärkare. Del 3, växelspänningsförstärkning med balanserad ingång.

Figur 1: R e g r e s s i o n A n a l y s i s : S k u l d v e r s u s t. The r e g r e s s i o n e q u a t i o n i s S k u l d = 2,94 0,861 t

Hej! Mitt namn är Agota, och jag ringer från Smittskyddsinstitutet angående en telefonintervju om ditt deltagande i Sjukrapport. Pratar jag med XX?

Laboration 2: Styrkefunktion samt Regression

Snabbslumpade uppgifter från flera moment.

Träning i bevisföring

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

STATISTIK. Statistik är: 1. Insamling av data 2. Analys av data 3. Presentation av data.

Tankar om elevtankar. HÖJMA-projektet

Exempel på tentamensuppgifter i LMA100, del 1

Transkript:

Matematikcentrum Matematisk Statistik Lunds Universitet MASB11 VT15, lp3 Laboration 5 Regressionsanalys 2015-03-13

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 på en del av dessa 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) Längd(cm) Ålder(år) 15 1 60 6 30 2 58 5 35 3 25 2 50 4 12 1 55 5 43 4 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,58,25,12,43), Ålder=c(1,2,3,4,5,6,5,2,1,4)) 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 plotta 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(). Ni kan också en göra en QQ-plot för att kompletera undersökningen av residualernas fördelning (i R används kommandot qqnorm(res) ). 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 en kurs i 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 enav laborationsgrupperna 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? Datamaterial: Kids Under ett givet år samlade man in vikten och längden hos nästan samtliga nyfödda vid Malmö Allmänna Sjukhus, MAS. Materialet finns i datafilen kids.rdata. Hämta datafilen från hemsidan och undersök ifall det finns något beroende mellan variabeln kids$langd och variabeln kids$vikt. Tips:Börja med att plotta variablerna mot varandra. Finns det några anmärkningsvärda datapunkter så kallade outliers ska dessa vara med vid modellbygget eller ej? Hur stark är korrelationen mellan variablerna? Är den signifikant? Om man bygger en linjär modell mellan de två variablerna. Ska man teckna sambandet som att Vikten ska vara en linjär funktion av Längden eller ska man teckna sambandet som att Längden är en linjär funktion av Vikten? Anpassa nu en linjär modell till datamaterialet: Yi = β0 + β1 Xi + ei Är parametrarna signifikanta? Vad blev förklaringsgraden R 2? Har residualerna rätt fördelning är de oberoende och med lika varians? Är beroendet linjärt? Är en linjär modell bra? Väg ihop informationen om signifikansen av parametrarna i modellen samt en enkel residualanalys. Tips: Kolla fördelningen hos residualerna samt plotta dem både mot Vikt och Langd och leta efter strukturer? Hur kan man göra modellen bättre? Kan tex sambandet vara kvadratiskt? Om man vet att en nyfödd väger 3400 gram. Bestäm ett prediktionsintervall för barnets längd med konfidensgraden 0.95. Om man vet att längden hos en nyfödd är 48 cm. Bestäm ett prediktionsintervall för barnets vikt med konfidensgraden 0.95.

Svar: Torsk: 1. b) Ja! rp = 0.9828, t=15.0709 => p=0.000 Man kan förkasta nollhypotesen om inget samband. c) Förklaringsgrad R^2 = 0.966; r = 0.9828; s = 3.443; β0=5.993 (2.4044); β1=9.790 (0.6496); t=15.071; p=3.72e-07. d) Prognos för längd vid åldern 7 år = 74.52; PI, prediktionsintervall = [64.52, 84.53]. e) NF: Njä;Konstant varians: Ej helt lätt att bedöma (få värden) Kids: Det finns ett tydligt beroende mellan variablerna Vikt och Langd hos de nyfödda. Modelleringen kan lika gärna göras som Vikt(Langd) som Langd(Vikt). Beroendet är inte linjärt. Leta efter strukturer i residualplottarna. Plocka bort outliers och kontrollera ifall modellerna är bättre med eller utan outliers. Bradfordmetoden: 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