Multipel regressionsanalys Den generella metoden i vilken Enkel linjär regression är ett specialfall Syften: –Att förklara variationen i en intressant storhet med hjälp av en eller flera bakgrundsvariabler –Att med information om bakgrundsvariablernas värden göra prognoser för utfallet av den intressanta storheten Syftena drar ibland åt olika håll: –Ju fler bakgrundvariabler som inkluderas desto bättre förklaring erhålls (!!) –Ju fler bakgrundsvariabler som används desto sämre prognoser erhålls (!!) Studier av de enskilda variablerna krävs ur såväl matematisk/datamässig synvinkel som ur tillämpningsområdets synvinkel
Den generella modellen: Den intressanta storheten betecknas y. y antas innehålla slumpmässig variation Ur statistisk synvinkel får vi att göra med Antalet bakgrundsvariabler antas vara k stycken och betecknas x 1, x 2,…, x k För att få en någorlunda enkel beskrivning antar vi att värdena hos alla bakgrundsvariabler är givna (dvs. utan slumpmässig variation) Bakgrundsvariablerna antas förklara E(y ) enligt en linjär modell:
Hur kommer då Var ( y ) in i bilden? Modellen för y (alltså inte E( y )) antas vara: där är en slumpvariabel som varierar runt väntevärdet 0 med konstant varians 2 Observera alltså att denna varians är den varians som också y har. En mer detaljerad modell som beskriver storheten punkt för punkt är följande: Vi antar att vi har observationer på y och på varje bakgrundsvariabel i n punkter och numrerar dessa 1, 2, …, n. Vi utnyttjar då ett index eller subscript som betecknas i :
Litet mer om själva : 1.Varje i antas ha väntevärde 0 2.Varje i antas ha konstant varians 2 3. Varje i antas vara normalfördelad N(0, ) 4. 1, 2,…, n antas vara oberoende slumpvariabler Antagande 1 måste i princip alltid vara uppfyllt Om antagande 2 ej är uppfyllt krävs transformationer av data (se senare) Om antagande 3 ej är uppfyllt måste alternativa testmetoder (och konfidensintervall) konstrueras. Detta görs ej i denna kurs. Om antagande 4 ej är uppfyllt har vi ofta en situation med tidsberoende (se tidsserieanalysdelen)
Följande datamaterial innehåller uppgifter om 150 slumpmässigt valda fastigheter i USA Datamaterialet ingår bland exempeldatamängderna i Minitab och har följande beskrivning: ColumnNameCountDescriptionModellÖversättning C1Price150Price ypris C2Area150Area in square feetx 1 bostadsyta C3Acres150Acresx 2 tomtyta C4Rooms150Number of roomsx 3 antal rum C5Baths150Number of bathsx 4 antal badrum Källa: Minitab 15\English\Sample Data\Student9\HOMES.MTW
Price (y) Area (x 1 )Acres (x 2 )Rooms (x 3 )Baths (x 4 ) ,750082, ,260081, ,700081, ,650051, ,750091, ,500082, ,400072, ,162082,0
Pris mot bostadsytaPris mot Tomtyta
Pris mot bostadsytaPris mot tomtyta
Bostadsyta och Antal rum verkar vara två bakgrundsvariabler som förklarar y bra. Kan dessa kombineras i en modell?
Modell 1: Modellen anpassas på motsvarande sätt som vid enkel linjär regression, dvs vi minimerar med avseende på b 0, b 1 och b 3. De därvid erhållna värdena på b 0, b 1 och b 3 utgör Minsta Kvadrat-skattningarna av parametrarna 0, 1 och 3 Här går det dock inte att få några generella formler utan värdena räknas fram (med dator) i varje enskilt exempel.
Den anpassade modellen skrivs Vi har även här kvadratsummeuppdelningen SST = SSE + SSR, dvs och en skattning av 2 erhålls som Observera att vi här dividerar med n (antal x-variabler) 1. I den enkla linjära regression dividerade vi med n 2 och där var ju antal x-variabler = 1
Alternativt ”menyvägen” Stat Regression Regression… ”Response” är alltså y-variabeln. Kallas också responsvariabel på svenska eller ibland beroende variabel. ”Predictors” är bakgrundsvariablerna. Ett vanligare namn är förklaringsvariabler eller oberoende variabler. Namnen prediktorer resp. x-variabler förekommer också Analys av modellen i Minitab: MTB > regress c1 2 c2 c4 y Anger att två x-variabler skall användas x1x1 x3x3
Regression Analysis: Price versus Area, Rooms The regression equation is Price = Area Rooms Predictor Coef SE Coef T P Constant Area Rooms S = R-Sq = 48.6% R-Sq(adj) = 47.9% Analysis of Variance Source DF SS MS F P Regression E Residual Error E Total E+11
Source DF Seq SS Area E+11 Rooms Unusual Observations Obs Area Price Fit SE Fit Residual St Resid X X R RX R R RX X R R R X R R denotes an observation with a large standardized residual X denotes an observation whose X value gives it large influence.
Predictor Coef SE Coef T P Constant Area Rooms b 0 =64221, b 1 =49.673, b 3 = 141 Vad är egentligen ”SE Coef” ? Varje bj ( j = 0, 1, 3) är att se som utfallet av en slumpvariabel, ty för ett nytt datamaterial på samma variabler skulle en ny regressionsanalys ge andra värden. ”SE” står för Standard Error. Den svenska termen är medelfel och det står för den skattade standardavvikelsen hos variabeln b j. Beteckningen är ofta I enkel linjär regression finns generella formler för dessa standardavvikelser, t ex men i multipel linjär regression finns inga sådana enkla formler.
För den intresserade: Formler kan ställas upp med hjälp av matrisalgebra, men då krävs att man har läst en matematikkurs om sådant. Vi litar istället på vad datorutskrifterna ger och i vårt exempel ser vi att Med hjälp av bj och kan vi nu bilda konfidensintervall för j och/eller genomföra t-test av enskilda värden hos j. T ex får vi ett 95% konfidensintervall för 1 som Notera att vi här har n k 1 frihetsgrader som i vårt fall blir 150 2 1=147 Detta frihetsgradstal finns ej i AJÅ:s tabell, men kan ur Minitab fås till (Observera dock närheten till 1.96 ) Predictor Coef SE Coef T P Constant Area Rooms
Vi får då konfidensintervallet I konfidensintervallet kan vi t ex se att 1 inte skulle kunna vara 0, då intervallet ej omfattar detta värde. Alternativt kan detta göras genom formell hypotesprövning (på 5% nivå). Vi ställer då upp Testvariabel (testfunktion, teststorhet) blir här som skall jämföras med (eftersom testet är dubbelsidigt) Eftersom t > förkastas H 0 Notera nu att värdet 6.62 faktiskt redan finns uträknat i utskriften under kolumnen ”T” Predictor Coef SE Coef T P Constant Area Rooms
Predictor Coef SE Coef T P Constant Area Rooms Vad säger nu kolumnen ”P”? I denna kolumn redovisas det s k P-värdet för motsvarande t-test. P-värdet beräknas som sannolikheten att testvariabeln blir så stor som den är (eller större) under förutsättning att H0 är sann. I vårt fall skulle värdet beräknas som Observera alltså att vi räknar med såväl stora positiva som stora negativa värden. Detta beror på att testet i detta fall är dubbelsidigt. Beräkningen kan inte göras enkelt, p g a att det är just t-fördelningen som användas, men här som i många andra fall är det praktiskt att förlita sig på datorutskriften.
I Minitab kan dock P-värdet också beräkna med kommandon: MTB > cdf k1; SUBC> t 147. MTB > print k1 beräknar och ger resultatet Resultatet blir förstås inte exakt 0, men så pass litet att Minitab:s format inte skriver ut de sista decimalerna. Eftersom t-fördelningen är symmetrisk runt 0 kan detta värde multipliceras med 2 för att få P-värdet. Resultatet blir förstås också det mycket litet och det är orsaken till att vi i kolumnen ”P” avläser värdet När det står så kan vi alltså räkna med att P-värdet är < (ty då avrundas det till 0.000) Samma yta till vänster om strecket här… …som till höger om strecket här
Vi ser nu att så fort P-värdet blir lägre än signifikansnivån (dvs. ) så kan H 0 förkastas. Detta är en enkel och snabb metod att utifrån en datorutskrift avgöra om en nollhypotes skall förkastas eller ej. T ex ser vi att P-värdet för dubbelsidigt test av nollhypotesen H0: 3=0 är så pass högt som Vi har alltså ingen anledning att förkasta den nollhypotesen. Detta bekräftas genom att värdet i kolumnen ”T”, dvs testvariabelns värde är 0.05 och detta faller ju inom intervallet ( , ) som är tabellvärdena det skall jämföras med. Observera! Samma tabellvärde för alla t-test på 5% nivå i just denna analys Predictor Coef SE Coef T P Constant Area Rooms
Vad ger oss nu resten av utskriften? S = R-Sq = 48.6% R-Sq(adj) = 47.9% Analysis of Variance Source DF SS MS F P Regression E Residual Error E Total E+11 s = är alltså skattningen av . Den är förstås roten ur skattningen av 2 som erhålls som (SSE tas från kolumnen ”SS”, ”E+11” betyder ”·10 11 ”) Detta värde finns dock uträknat med större noggrannhet under kolumnen ”MS” och är förstås MSE=
S = R-Sq = 48.6% R-Sq(adj) = 47.9% Analysis of Variance Source DF SS MS F P Regression E Residual Error E Total E+11 Roten ur blir ”R-sq” står för R2 och är förklaringsgraden hos den skattade modellen. Den beräknas på samma sätt som vid enkel linjär regression men har en annan symbol här. Alltså Vad står då R för? Den kallas multipel korrelationskoefficient och uttrycker den ”samtidiga” korrelationen med y å ena sidan och x 1 och x 3 å den andra. Tolkningen kan kännas svår och tas inte upp i denna kurs.
”R-sq(adj)” står för justerad förklaringsgrad och tas upp senare i kursen. Kolumnen ”F” ger ett värde som kan misstänkas vara värdet hos en testvariabel precis som i enkel linjär regression. Detta är sant och testvariabeln beräknas även här som MSR/MSE. Skillnaden är att hypotesparet i detta fall är Om H 0 inte förkastas innebär detta att ingen regression finns mellan y och dessa x- variabler. S = R-Sq = 48.6% R-Sq(adj) = 47.9% Analysis of Variance Source DF SS MS F P Regression E Residual Error E Total E+11
Vi kan även här använda P-värdet för att avgöra om testet är signifikant eller ej. Det mycket låga P-värde vi har ger då att nollhypotesen skall förkastas. Alternativt jämför vi testvariabelns värde (69.38) med ett tabellvärde ur en F-fördelning med frihetsgraderna 2 och 147. Observera alltså att vi ökar till två frihetsgrader här jämfört med vid enkel linjär regression. Det beror på att det är två parametrar ( 1 och 3 ) som ingår i nollhypotesen. Frihetsgraderna kan avläsas i kolumnen ”DF” (Degrees of Freedom) Tabellvärdet för test på 5% nivå tas i detta fall fram med Minitab:s hjälp till och vi ser att är långt mycket större än detta värde. S = R-Sq = 48.6% R-Sq(adj) = 47.9% Analysis of Variance Source DF SS MS F P Regression E Residual Error E Total E+11
Utskrift från annan programvara I AJÅ (och på många andra ställen) kan man stöta på utskrift från det stora och välanvända programpaketet SAS. För vårt exempel skulle en SAS-utskrift kunna ha följande utseende: The REG Procedure Model: MODEL1 Dependent Variable: y Analysis of Variance Sum of Mean Source DF Squares Square F Value Pr > F Model E <.0001 Error E Corrected Total E11 Root MSE R-Square Dependent Mean Adj R-Sq Coeff Var
Parameter Estimates Parameter Standard Variable DF Estimate Error t Value Pr > |t| Intercept <.0001 x <.0001 x SAS ger litet mer i sin utskrift och i litet annan ordning, men det skall dock vara relativt enkelt att identifiera de komponenter vi just tagit ur Minitab-utskriften. Notera att SAS använder litet andra rubriker på sina kolumner, dock.
Fler analyser av vårt datamaterial I enkel linjär regression visade vi hur man kan beräkna ett konfidensintervall för y|x0, dvs. det förväntade eller genomsnittliga värdet hos y då x=x 0 beräkna en prognos och ett prognosintervall för y i en ny punkt Dessa kan beräknas även i multipel regression, men inga enkla formler kan sättas upp (kräver också matrisalgebra). Principen är dock detsamma och vi kan här använda ”Distance value” som ingående term.
Ett konfidensintervall för beräknas som där och ”Distance value” tas i förekommande fall från datorutskrift Ett prognosintervall för y 0 beräknas som
Vi begär dessa intervall (inklusive själva prognosen eller punktskattningen) vid Minitab- analysen. Antag t ex att vi vill göra en prognos för priset på en fastighet när bostadsytan är 3000 ft 2 och antal rum är 6, dvs x 01 = 3000 och x 03 = 6, samt ett 95% konfidensintervall för och ett 95% prognosintervall för y 0 MTB > regress c1 2 c2 c4; SUBC> predict ; SUBC> confidence 95. Menyvägen ser det istället ut på följande sätt: Stat Regression Regression…
Regression Analysis: Price versus Area, Rooms Samma utskrift som tidigare Predicted Values for New Observations New Obs Fit SE Fit 95.0% CI 95.0% PI ( , ) ( , ) XX X denotes a row with X values away from the center XX denotes a row with very extreme X values Values of Predictors for New Observations New Obs Area Rooms
Hur kan vi nu komma åt ”Distance value”? New Obs Fit SE Fit 95.0% CI 95.0% PI ( , ) ( , ) XX Vi vet ju att s =
Värdet är ett mått på avståndet från den nya punkten till datamaterialets ”centrum”, men har i övrigt ingen särskild tolkning. Beskrivningen är en förenkling av en i övrigt ganska komplicerad matematisk beräkningsmetod. För att få det i utskriften beräknade prognosintervallet skulle vi nu kunna göra följande beräkning Jämförelse med utskriften: New Obs Fit SE Fit 95.0% CI 95.0% PI ( , ) ( , ) XX Skillnaden beror på avrundningsfel (”0.168” är egentligen …)
Residualanalys Residualanalys blir mer betydelsefull när det kommer till multipel regression. Bra residualer är till god hjälp i bedömningen av en anpassad modell utöver t-test och F-test. Residualdiagram kan begäras i datoranalysen som Histogramför att checka normalfördelningsantagandet Normalfördelningsdiagramför att checka normalfördelningsantagandet Plott mot anpassade värden ( )för att checka om variansen är konstant Plott i observationsordningför att checka oberoendeantagandet Plott mot en eller flera av x-variablernaför att checka om sambandet mellan y och en x-variabel är rent linjärt eller ej
(Diagrammen kommer vart och ett för sig men har samlats här)
x1x1 x3x3
…och hur skall diagrammen studeras? Skall vara symmetriskt om residualerna skall anses vara normalfördelade Ev. högerskevt här Punkterna skall ansluta bra till en rät linje åtminstone i mitten av diagrammet om residualerna skall anses vara normalfördelade. Inte så uppfyllt här
Punkterna skall utgöra ett jämnbrett band om variansen skall anses vara konstant. Här ser vi antydan till ett strutmönster (inritad med blå streck) Punkterna skall inte ha någon successiv följsamhet om residualerna skall anses vara oberoende. Här ser vi ingen sådan följsamhet OK!
Punkterna skall inte uppvisa något mönster som antyder att ytterligare samband med resp. x-variabel finns kvar. Mönster: Krökning, rät linje etc. Svårt att se några mönster i just dessa två diagram
En mer begränsad residualplott:
Vi jämför nu test och residualanalys för några andra modeller på samma datamaterial Modell 2: y=β 0 + β 1 ·x 1 + β 2 ·x 2 + ε x 1 = Bostadsyta x 2 = Tomtyta The regression equation is Price = ,2 Area Acres Predictor Coef StDev T P Constant ,30 0,000 Area 46,243 3,445 13,42 0,000 Acres 7760,0 907,2 8,55 0,000 S = R-Sq = 65,7% R-Sq(adj) = 65,2% Analysis of Variance Source DF SS MS F P Regression 2 1,69376E ,49 0,000 Residual Error Total 149 2,57989E+11 Bättre R 2 Bägge är signifikanta Minst en av x 1 och x 2 skall vara med
Modell 3: (Samtliga förklaringsvariabler med) y=β 0 + β 1 ·x 1 + β 2 ·x 2 + β 3 ·x 3 + β 4 ·x 4 + ε The regression equation is Price = ,9 Area Acres Rooms Baths Predictor Coef StDev T P Constant ,44 0,000 Area 30,885 7,047 4,38 0,000 Acres 7535,2 883,6 8,53 0,000 Rooms ,35 0,724 Baths ,40 0,001 S = R-Sq = 68,2% R-Sq(adj) = 67,4% Analysis of Variance Source DF SS MS F P Regression 4 1,76060E ,90 0,000 Residual Error Total 149 2,57989E+11 Ej signifikant här precis som i Modell 1 Minst en av x-variablerna skall vara med
Modell 4: y=β 0 + β 3 ·x 3 + β 5 ·x ε I denna modell skapar vi alltså en ny förklaringsvariabel genom att kvadrera x 3. Modellen kan alltså analyseras som en linjär modell även om en av förklaringsvariablerna ingår ”icke-linjärt”. Modelltypen kallas kvadratisk regression och är ett specialfall av polynomregression i vilken flera variabler med olika grader kan ingå, dvs. andragradstermer (kvadratiska), tredjegradstermer (kubiska), kombinationer av olika termer (se vidare om samspelstermer senare i kursen) etc. Den kvadratiska termen skapas med MTB > let c6=c4**2 och ges t ex namnet ”Rooms_sq” med MTB > name c6 ’Rooms_sq’
Regression Analysis: Price versus Rooms, Rooms_sq The regression equation is Price = Rooms Rooms_sq Predictor Coef SE Coef T P Constant Rooms Rooms_sq S = R-Sq = 35.6% R-Sq(adj) = 34.7% Analysis of Variance Source DF SS MS F P Regression Residual Error E Total E+11 Bägge är faktiskt signifikanta på 5% nivå Sämre förklaringsgrad dock!
x3x3 Den svaga krökningen har försvunnit här men strutformen har återkommit här
De anpassade värdena, dvs. plottas nedan mot variabeln x 3, dvs. Rooms. Vi ser tydligt den krökta formen på det anpassade sambandet: En x 2 -kurva med max-punkt nära x=13. Notera att det finns flera punkter med samma värde på x 3 och det är totalt 150 punkter som är plottade i figuren.