Tillämpad statistik (A5), HT15 Föreläsning 10: Multipel linjär regression 1 Ronnie Pingel Statistiska institutionen Senast uppdaterad: 2015-11-19
Motivering Vi motiverade enkel linjär regression som ett alternativ till Pearsons korrelation med att vi inte bara får styrkan i ett samband, utan det ger oss också möjlighet att för ett givet värde på x förutsäga y. Vi ska nu generalisera enkel linjär regression till multipel linjär regression.
Motivering, Ex1: Födelsevikt Låg födelsevikt har varit ett viktigt utfall att studera ur flera perspektiv (medicinskt, folkhälso, ekonomiskt). Låg födelsevikt är en stark prediktor för hög spädbarndsdödlighet, men är även associerat med senare utfall i livet som astma, låg IQ och högt blodtryck. 1 Förutom genetiska faktorer så påverkar en kvinnas vanor under gravidetet (diet, rökvanor, kontakt med vården osv) sannolikheten för fullgången graviditet (dvs även chansen för att föda ett barn med normal födelsevikt). För att studera oberoende variabler som kan tänkas vara associerade med födelsevikt ser vi på data som insamlat från 189 kvinnor och barn från Baystate Medical Center, Springfield, Massachusetts, 1986. 2 1 Wilcox, A. J. (2001). On the importance and the unimportance of birthweight. International journal of epidemiology, 30(6), 1233-1241. 2 Hosmer, D.W., Lemeshow, S. and Sturdivant, R.X. (2013) Applied Logistic Regression: Third Edition.
Exempel 1: Data, n=189 Id-kod ID Låg födelsevikt (0 om 2500g, 1 om < 2500g) LOW Mammans ålder i år AGE Vikt i kg under senaste menstruation LWT Socio-ekonomisk status (Låg = 1, Mellan = 2, Hög = 3) SES Röker under gravididet (1 = Ja, 0 = Nej) SMOKE Antal tidigare för tidigt födda barn (0 = None 1 = One, etc.) PTL Högt blodtryck (1 = Ja, 0 = Nej) HT Sammandragning tidigt under gravidetet (1 = Ja, 0 = Nej) UI Antal läkarbesök under första trimestern FTV Födelsevikt i gram BWT
Ex1 En del av originaldatat och variabelnamn är ändrade pga pedagogiska skäl. Vi har således flera potentiella oberoende variabler som potentiellt förklarar utfallet.
Ex1 Anta att vi använder följande modell för att beskriva ett barns födelsevikt: y = β 0 + β 1 x 1 + ε där x 1 är mammans ålder och y är barnets vikt i gram vid födseln. Vi kan också skriva modellen som BWT = β 0 + β 1 AGE + ε
Motivering: Ex1 Minitab anger inte hat, men formellt ska det stå BWT = 2641 + 11,14AGE
Motivering: Ex1 Tolkning: Verkar finnas en liten positiv lutning på riktningskoefficienten, dvs ett positivt samband mellan ålder och födelsevikt som skulle tolkas som att ökar åldern ett år så ökar födelsevikten i genomsnitt med 11,1 gram. Ett t-test (p = 0,275) visar dock att vi inte kan förkasta nollhypotesen att riktningskoefficient i populationen är noll (H 0 : β 1 = 0). Vi kan inte påvisa ett linjärt samband mellan ålder och födelsevikt. Har interceptet någon vettig tolkning?
Motivering, Ex1 Mammans ålder verkade inte vara en bra förklarande variabel. Vi provar därför en annan konkurrerande modell med en alternativ förklarande variabel: y = β 0 + β 2 x 2 + ε där x 2 är mammans vikt i kg vid senaste menstruation och y är barnets vikt i gram vid födseln. Vi kan också skriva modellen som BWT = β 0 + β 2 LWT + ε
Motivering, Ex1
Motivering, Ex1 Tolkning: Verkar finnas en liten positiv lutning på riktningskoefficienten, dvs ett positivt samband mellan mammans vikt och födelsevikt som skulle tolkas som att ökar åldern ett år så ökar födelsevikten i genomsnitt med 9,7 gram. Ett t-test (p = 0,011) visar även att vi kan förkasta nollhypotesen att riktningskoefficient i populationen är noll (H 0 : β 1 = 0). Det verkar alltså som att det finns ett linjärt samband mellan mammans vikt och födelsevikt. Har interceptet någon vettig tolkning?
Motivering Om vi vill förklara ett barns födelsevikt är det inte säkert att vår teori stämmer och då måste fundera på alternativa teorier. Ofta består dessutom vår teori inte enbart av en förklarande variabel utan i regel vi vill ta med andra potentiellt viktiga oberoende variabler i modellen för att kunna göra precisare prediktion.
Multipel linjär regression Definition (1) En multipel linjär regressions kan beskrivas y = β 0 + β 1 x 1 + β 2 x 2 + + β k x k + ε där y är den beroende variabeln, x 1,..., x k är oberoende variabler, ε är en slumpmässig felterm och E(y x 1,..., x k ) = E(y x) = β 0 +β 1 x 1 +β 2 x 2 + +β k x k är regressionsfunktionen i populationen, även kallat deterministisk del av modellen.
Regressionslinjen i populationen, k = 2 E(y x 1, x 2 ) = E(y x) = 30 + 5x 1 + 7x 2 Ge dig tid till att förstå figuren!
Tolkning av β 1 och β 2 Tolkningen av na är viktig! Enkel linjär regression E(y x) = β 0 + β 1 x 1 : En enhets ökning i x 1 leder i genomsnitt till β 1 enheters öknings i y. Multipel linjär regression E(y x) = β 0 + β 1 x 1 + β 1 x 2 : Den genomsnittliga förändringen av y om x 1 ökar en enhet och x 2 förblir oförändrad. På samma sätt, om x 2 ökar en enhet och x 1 är oförändrad förväntar vi oss en förändring av y med β 2 enheter. Vi ska exemplifiera detta senare!
Definition Estimatorer för β j Vi estimerar regressionslinjen i populationen: E(y x) = β 0 + β 1 x 1 + β 2 x 2 + + β k x k med minsta-kvadratestimatorerna ŷ = ˆβ 0 + ˆβ 1 x 1 + + ˆβ k x k Vi hittar ˆβ 0, ˆβ 1,..., ˆβ k genom att minimera residualkvadratsumman n n SSE = (y i ŷ i ) 2 = (y i ( ˆβ 0 + ˆβ 1 x 1,i + + ˆβ k x k,i )) 2 i=1 i=1 genom att derivera SSE med avseende på ˆβ 0, ˆβ 1,..., ˆβ k, sätta de k + 1 derivatorna till noll och sedan lösa ut ˆβ 0, ˆβ 1,..., ˆβ k.
Egenskaper för β j Motsvarande resonemang gäller vid multipel linjär regression som vid enkel linjär regression, dvs vi måste vi först fundera på modellens (i) linjäritet och hur feltermen ε beter sig, där vi förutsätter (ii) oberoende observationer och att (iii) att feltermen för varje värde på x 1, x 2,... x k har medelvärde noll, E(ε x) Om (i)-(iii) är uppfyllda Bias: E( ˆβ j ) = β j, dvs vvr! Det innebär att ŷ = ˆβ 0 + ˆβ 1 x 1 + + ˆβ k x k i genomsnitt skattar E(y x) = β 0 + β 1 x 1 + β 2 x 2 + + β k x k rätt. Formlerna för ˆβ j är något komplicerade vid multipel linjär regressin och vi låter programpaket räkna åt oss. Men principerna är desamma!
Egenskaper för β j Nästa som vi måste fundera på är feltermens varians V (ε x 1, x 2,..., x k ) Om feltermens varians är (iv) samma för alla värden på x 1, x 2,..., x k så är V (ε x 1, x 2..., x k ) = σ 2 ε Om antagande (iv) gäller så är E(s 2 ε ) = σ 2 ε. Precision: Om (iv) gäller så är V ( ˆβ j ) = σ 2ˆβj skattas med ˆV ( ˆβ j ) = s 2ˆβj. vilken Formlerna är något komplicerade och vi låter programpaket räkna åt oss. Beståndsdelarna är dock samma som vid enkel linjär regression, t ex V ( ˆβ j ) består av feltermens varians σ 2 ε multiplicerat med kvadratiska avvikelser och vid skattning byts σ 2 ε ut mot s 2 ε. Se App.B7.
Egenskaper för β j Antagande (v) är att feltermens fördelning är normalfördelad för alla värden på x 1, x 2,..., x k. Om (v) är uppfyllt så gäller följande: Fördelning: ˆβ j N(β j, V (β j )). Pga CGS är ˆβ j approximativt normalfördelad i stora stickprov även om ε inte är normalfördelad.
Hypotesprövning och KI för β j Om (i-(v) är uppfylld så är t = β j s ˆβ j t-fördelad med n (k + 1) frihetsgrader om H 0 är sann. Ett 100(1 α)% konfidensintervall för β j erhålls med ˆβ j ± t (n (k+1)),α/2 s ˆβj
Ex1: Inkluderande av två variabler Vi vill nu inte bara studera hur mammans ålder och vikt är assocerade med födelsevikt i separata modellen utan vi tittar nu på bägge variablerna i en och samma modell. Vi vill nu skatta β 0, β 1 och β 2 i modellen E(y x) = β 0 + β 1 x 1 + β 2 x 2 BWT = β 0 + β 1 AGE + β 2 LWT Vi inkluderar nu bägge variablerna och får följande resultat:
Ex1: Inkluderande av två variabler Tolkning: Givet oförändrad ålder, så leder en ökad vikt med 1 kg att barnets födelsevikt ökar med 9,3 gram i genomsnitt (p = 0,017). Åldersvariabeln är fortfarande icke-signifikant.
Vi kontrollerar om (i)-(v) är uppfyllda genom att studera residualerna! Tolkning? Gå igenom varje antagande! Ex1: Inkluderande av två variabler
Skattning av σ 2 ε Feltermen beskriver oförklarad variation i modellen. Då feltermens varians σ 2 ε är okänd skattas den. Om (iv) är uppfyllt är V (ε) = σ 2 ε. Definition (3) Låt SSE = n i=1 (y i ŷ i ) 2 och k vara antalet variabler i regressionsmodellen. Om (i)-(iv) är uppfyllt skattas σε 2 väntevärdesriktigt med sε 2 SSE = MSE = n (k + 1) Notera: vi kan alltid räkna ut residualvariansen s 2. Det ger ett deskriptivt mått på spridningen i stickprovet. Dock skattar den inte σ 2 ε om inte (i-iv) gäller!
Skattning av σ 2 ε s 2 kallas i många outputs för mean square for error (MSE). Notera att (k + 1) är antalet parameterar i modellen, dvs intercept plus k riktningskoefficienter. Frihetsgrader försvinner för varje parameter som skattas. Jmf med stickprovsvariansen s 2 = (xi x) 2 n 1 där vi har skattat en parameter, µ, innan s 2 kan beräknas. På samma sätt som tidigare är s 2 ε = MSE = s ε regressionsmodellens medelfel.
Ex1: Skattning av σ 2 ε
Ex1: Från s ε till t-värde och konfidensintervall
Testa nyttan av modellen: Globalt test Nackdelen med t-testen för β j är upprepad testning om vi har många variabler. Anta att vi har 10 stycken obseroende variabler och individuellt testar varje parameter H 0 : β 1 =, H 0 : β 2 = 0,...,H 0 : β 10 = 0. Anta dessutom att alla nollhypoteser är sanna, dvs i verkligheten har ingen av variablerna ett linjär samband med y. Om vi testar på 5%-nivån kommer vi nu i 40% av fallen konstatera att minst en β j är skild från noll! Vi vill därför kunna göra ett globalt test för att testa H 0 : β 1 = β 2 = = β k = 0 mot H 1 : Minst en β j 0
F - modellens nytta Definition (2) Vi har en modell y = β 0 + β 1 x 1 + β 2 x 2 + + β k x k och (i)-(v) är uppfyllda. För att testa H 0 : β 1 = β 2 = = β k = 0 mot används F = H 1 : Minst en β j 0 (SS yy SSE)/k SSE/(n (k + 1)) = MS(Model) MSE som följer fördelningen F k,(n (k+1)) om H 0 är sann. Vi förkastar H 0 om F obs > F k,(n (k+1)),α
Ex1: Test av modellen Kontrollräkna!
Ex1: Formellt F - hela modellen Mål: Bidrar ålder och/eller mammors vikt till att förklara utfallet utöver mammors vikt. Hypoteser: H 0 : β LWT = β AGE = 0. H 1 : Minst en av β LWT och β AGE är skild från noll. Förutsättningar: (i)-(v)! Testfunktion: F = (SS yy SSE)/k SSE/(n (k + 1)) som är F k,(n (k+1)) -fördelad om H 0 är sann. Beslutsregel: Vi testar på 5% signifikansnivå, dvs α = 0,05. Förkasta om F obs > F k,(n (k+1)),α = F 2,(189 (2+1)),0,05 = F krit = 3,045
Ex1: Test av modellen
F -test Beräkning: Insättning av värden från uppgiften (99917053 96290222)/2 ger F obs = = 3, 50 96290222/(189 (2 + 1)) Beslut: Eftersom F obs = 3, 50 > 3,045 = F krit förkastar vi nollhypotesen. Svar: Vi kan påvisa att minst en av modellens koefficienter är skild från noll. verkar vara statistiskt användbar för att förutsäga födelsevikt. Notera att statistiskt användbar inte innebär praktiskt användbar.
F - modellens nytta MS(Model) är förklarad variation i y medan MSE är den oförklarade variationen. Ju större förklarad variation, relativt oförklarad, desto större värde har modellen. F -värdet ökar! Total variation = Förklarad variation + Oförklarad variation SS yy = SS(Model) + SSE
F - modellens nytta Notera att en statistiskt användbar modell inte innebär praktiskt användbar eller att det inte finns modeller som är bättre. F -testet av hela modellen visar att vi har en användbar modell som förklarar mer än ingenting. Ofta betraktat som ett första krav innan vi går vidare med analysen. F -testet ska först visa att någon av β j 0. Sen går vi vidare och gör individuella t-test för de som vi främst är intresserade av.
F -test för jämförelse av nestade modeller Vad vi har gjort med F -testet är att vi jämför nestade modeller. Det innebär att alla i den reducerade modellen finns med i den fulla modellen. Om vi testar H 0 : β 1 = β 2 = 0 så innebär det att vi jämför modellerna Reducerad modell: E(y x) = β 0 Full modell: E(y x) = β 0 + β 1 x 1 + β 2 x 2 Om vi förkastar H 0 så konstaterar vi att minst en av na i den fulla modellen är skilda från noll och modellen är därför användbar.
F -test för jämförelse av nestade modeller Anta nu att vi vill jämföra modellerna Reducerad modell: E(y x) = β 0 + β 1 x 1 Full modell: E(y x) = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 I den reducerade modellen har vi en oberoende variabel x 1 och i den fulla modellen har vi den oberoende variabeln x 1 och två ytterligare oberoende variabler x 2 och x 3. Målet är att se om den fulla modellen är mer användbar än den första. Vi testar därför H 0 : β 2 = β 3 = 0 med hjälp av ett F -test. Förkastas H 0 konstateras att minst en β 2 och β 3 är skild från noll.
F - modellens nytta Definition (3, forts.) Vi har en reducerad modell med g variabler: E(y x) = β 0 + β 1 x 1 + + β k x g och full modell med k variabler: E(y x) = β 0 +β 1 x 1 + +β k x g +β g+1 x g+1 + +β k x k Vi testar H 0 : β g+1 = = β k = 0 mot H 1 : minst av de testade na är skild från 0.
F - modellens nytta Definition (3, forts.) Testfunktionen som används är F = (SSE R SSE C )/(k g) SSE C /(n (k + 1)) = (SSE R SSE C )/(k g) MSE C där SSE R för den reducerade modellen och SSE C för den fulla modellen. Testfunktionen har fördelningen F (k g),(n (k+1)) om H 0 är sann. Vi förkastar H 0 om F o bs > F (k g),(n (k+1)),α
Ex1: Test av nestad modell En tänkbar modell för födelsevikt: BWT = β 0 + β 1 LWT
Ex1: Test av modell med 2 variabler utöver vikt Mammans vikt är visserligen signifikant (p = 0, 011), men förklaringsgraden R 2 = 3, 41% är låg. Det finns mycket oförklarad variation. Vi provar därför en ny modell där vi utöver mammans vikt inkluderar mammans ålder och antal läkarbesök under den första trimester (första tredjedelen av gravidideten), FTV. Den fulla modellen är nu: BWT = β 0 + β 1 LWT + β 2 AGE + β 3 FTV
Ex1: Test av modell med 2 variabler utöver vikt
Ex1: Test av modell med 2 variabler utöver vikt Testet finns inte implementerat i Minitab, så ni måste göra det för hand!
Formellt F -test Mål: Bidrar ålder och/eller antal läkarbesök till att utöver mammors vikt förklara födelsevikt? Hypoteser: H 0 : β AGE = β FTV = 0 H 1 : Minst en av β AGE och β FTV är skild från noll. Förutsättningar: Se (i)-(v). Vi kontrollerar för varje modell.
Ex1: Test av modell med 2 variabler utöver vikt
Formellt F -test Testfunktion: F = (SSE R SSE C )/(k g) SSE C /(n (k + 1)) som är F (k g),(n (k+1)) -fördelad om H 0 är sann. Beslutsregel: Vi testar på 5% signifikansnivå, dvs α = 0,05. Förkasta om F obs > F (k g),(n (k+1)),α = F (3 1),(189 (3+1)),0,05 = F krit = 3,045
Formellt F -test Mål: Bidrar ålder och/eller antal besök till att förklara utfallet utöver mammors vikt. Hypoteser: H 0 : β AGE = β FTV = 0. H 1 : Minst en av β AGE och β FTV är skild från noll. Förutsättningar: Se 1-5! Testfunktion: F = (SSE R SSE C )/(k g) SSE C /(n (k + 1)) som är F (k g),(n (k+1)) -fördelad om H 0 är sann. Beslutsregel: Vi testar på 5% signifikansnivå, dvs α = 0,05. Förkasta om F obs > F (k g),(n (k+1)),α = F (3 1),(189 (3+1)),0,05 = F krit = 3,045
Formellt F -test
Formellt F -test Beräkning: Insättning av värden från uppgiften ger (96507674 96231969)/(3 1) F obs = = 0,265 96231969/(189 (3 + 1)) Beslut: Eftersom F obs = 0,265 < 3,045 = F krit förkastar vi inte nollhypotesen. Svar: Vi kan inte påvisa att ålder och antal besök förbättrar modellens förmåga att förklara födelsevikt jämfört med den reducerade modellen.
Formellt F -test: p-värde p-värdet är 0,7675
Jämförelse av modeller med eller utan nestning Kan vi inte använda förklaringsgraden, R 2, för att jämföra modeller? I modellen var R 2 = 0,6% och i BWT = β 0 + β 1 AGE BWT = β 0 + β 1 LWT var R 2 = 3,41% Det vore naturligt att välja den modell som förklarar mest i utfallet. Dessutom, i denna situation kan inte F -testet användas eftersom modellerna inte är nestade.
Egenskap hos R 2 R 2 har dock (bl a) en nackdel. Den ökar alltid när vi adderar oberoende variabler till modellen! Oavsett om variabler de facto förklarar utfallet eller inte. Exempelvis om vi i Ex1 antar följande modell BWT = β 0 + β 1 LWT + 0 x 2 där x 2 är värden från en tärning som jag (eller Minitab...) har slagit 189 gånger. Värdena blev: 1 30ggr, 2 33ggr, 3 30ggr, 4 29ggr, 5 30ggr, 6 37ggr. Detta förklarar naturligtvis inte BWT alls. Trots detta blir R 2 = 3, 48% i skattningen av modellen ovan, vilket är högre än modellen utan x 2.
Definition (4) Justerad förklaringsgrad Den justerade förklaringsgraden Ra 2 är [ ] Ra 2 n 1 = 1 (1 R 2 ) n (k + 1) där R 2 är förklaringsgraden. R 2 a R 2 n ska vara samma i modellerna som jämförs. Modellerna kan vara nestade eller icke-nestade, men med (naturligtvis) samma y R 2 a kan vara negativ.
Justerad förklaringsgrad Jämför R 2 och R 2 a i den fulla och reducerade modellen ovan i BWT = β 0 + β 1 LWT med R 2 = 3,41% och R 2 a = 2,9 mot BWT = β 0 + β 1 LWT + β 2 AGE + β 3 FTV med R 2 = 3,68% och R 2 a = 2,1 När vi jämför modeller med olika antal variabler använder vi R 2 a. När vi rapporterar resultat väljs R 2. R 2 a har nämligen ingen riktig tolkning.
Estimation av µ y x=xp i multipel linjär regression Målet är att skatta ett medelvärdet i en viss del av populationen, dvs medelvärdet för y för givna värden på x 1, x 2,..., x k. Analogt med tidigare vi hade k = 1 används nu estimatorn Ê(y x 1 = x 1p, x 2 = x 2p,..., x k = x kp ) = ŷ Samma antaganden gäller för ŷ som för ˆβ j. Den skattade variansen ˆV (ŷ) är komplicerad och vi låter programpaket beräkna ut den åt oss.
Ex1: Estimation av µ y x=xp
Ex1: Estimation av µ y x=xp Tolkningen av 3067 är det är den skattade medelvikten i gram för nyfödda vars mammor väger 76 kg och är 30 år gamla. Dessutom, med 95% säkerhet kan vi säga att medelvikten för nyfödda med mammor som väger 76 kg och är 30 år gamla ligger mellan 2928 till 3206 gram.
Prediktion av enskilda okända observationer Målet är att skatta vilket värde en individ i populationen har för givna värden på x 1, x 2,..., x k. Analogt med tidigare när k = 1 används nu estimatorn Ê(y x 1 = x 1p, x 2 = x 2p,..., x k = x kp ) = ŷ Samma antaganden gäller för ŷ som för ˆβ j. Den skattade variansen för prediktionen är ˆV (ŷ) + s 2 ε. Den är komplicerad och vi låter programpaket beräkna denna åt oss. Kom ihåg skillnaden i inferens jämfört med när vi skattar parametern µ y x.
Ex1: Prediktion av okänd observation ŷ i för givna värden på x
Ex1: Estimation av µ y x=xp Den predikterade födelsevikten för ett barn vars mamma väger 76 kg och är 30 år gammal är 3067 gram Dessutom, med 95% säkerhet kan vi säga att vikten för en nyfödd med en mamma som väger 76 kg och är 30 år gammal ligger mellan 1641 till 4493 gram. Brett intervall!
Läsanvisningar MS: 4.1-4.9, 4.13
Övningsuppgifter MS: 4.1, 4.3, 4.5, 4.7, 4.9, 4.11, 4.13, 4.15, 4.17, 4.19, 4.21, 4.63, 4.67 a)-f)