Laboration 3: Modellval i multipel regression I denna datorövning skall ni använda MINITAB för att 1. jämföra olika anpassade regressionsmodeller med hjälp av den justerade förklaringsgraden 2. arbeta med partiellt F-test för införande av en variabel uppdelad på indikatorvariabler 3. använda framåtvals- och bakåtelimineringsprinciperna samt fullständig stegvis regression för att bygga en regressionsmodell Datamaterial Ni skall använda samma datamaterial som i laboration 2, det som handlade om fastighetsvärdering. Om ni väljer File->Open Worksheet så får ni upp en dialogruta. Där ska ni klicka på ikonen längst ner vid texten Look in Minitab Sample Data folder, öppna mappen Student12 och sedan välja filen Assess. För beskrivning av materialet hänvisas ni till laboration 2. Genomgående i analyserna skall ni fortfarande använda variabeln Totalpris (dvs kolumnen C2) som y- variabel (responsvariabel, beroende variabel). Förklaringsvariablerna skall väljas bland övriga variabler. Vi har hittills inte brytt oss om ett antal av förklaringsvariablerna, som är angivna i text. Det skall ni dock göra nu. Kolumnen C4 innehåller en variabel som heter Height. Den anger antal plan i fastigheten, med amerikanska termer. Ge följande kommando: MTB > tally c4 eller gå in på Stat->Tables->Tally. Studera utskriften i Session-fönstret: Tally for Discrete Variables: Height Height Count 1.5Story 11 1Story 14 1Stryatk 5 2Storatk 26 2Stories 16 BiLevel 6 SplitLev 3 N= 81 Kommandot ger en frekvenstabell över de olika kategorierna i den ordning de dyker upp i kolumnen. Kolumnen är av texttyp och kan inte direkt användas i en regressionsanalys. Men om man tittar närmare i förklaringen till variablerna, så kan man i alla fall skapa en storleksordning dem emellan. Följande kodning föreslås: 1
Kategori Numerisk kod 1Story 1 1Stryatk 1,5 BiLevel 2 SplitLev 2 1.5Story 3 2Stories 4 2Storatk 4,5 Det är fritt fram för er att använda andra koder, om ni tycker dessa är felaktiga. Den numeriska koden kan då användas i regressionsanalysen. Ett annat alternativ skulle vara att använda sig av sex indikator-variabler för dessa kategorier, men det kan lätt bli svåröverskådligt. Uppgift 1: Variabelkodning a) Använd menyn Data, undermenyn Code och alternativet Text to Numeric. Koda kategorierna enligt ovan och spara i en ny kolumn (C14). Kom ihåg att ange kategorierna ordagrant inom citationstecken ( ) med korrekta val av små och stor bokstav. Ge förslagsvis den nya kolumnen namnet Kategori. Vi hänvisar på svenska till denna variabel som kategori i fortsättningen. b) Koda om ytterligare en kolumn (C6: Skick), som beskriver i vilket skick huset är på utsidan. Den kan anta tre olika värden: Tally for Discrete Variables: Exterior Exterior Count Average 21 Excellnt 2 Good 58 N= 81 Som ovan kan vi se en ordning mellan de olika alternativen, de är alltså på ordinalskala: Good är bättre än Average. Men om vi t.ex. använder värdena 1 och 2 för att koda denna variabel så bestämmer vi även ett avstånd mellan dessa två värden och de hamnar då på intervallskala: Good är dubbelt så bra som Average. Eller: det är lika stort avstånd mellan Average och Good som det är mellan Good och Excellent. För att komma ifrån detta problem väljer man istället indikator-variabler enligt följande: D 1 =1 om Average, =0 annars D 2 =1 om Good, =0 annars 2
Det behövs ingen ytterligare variabel för Excellnt (även om man kanske tror det). Detta alternativ gäller nämligen när såväl D 1 som D 2 är 0. Gör det enligt följande: Koda värdena i kolumnen C6 två gånger. I den första kodningen sätter ni 1 på alternativet Average och 0 på de övriga två. Observera att ni måste ange alla möjliga alternativ i varje kodning. I den andra kodningen sätter ni 1 på Good och 0 på de övriga. Spara lämpligen resultaten i de nya kolumnerna C15 och C16 och ge förslagsvis dessa namnen Sådär och Bra. Eller skapa indikatorvariabler genom att klicka Calc Make Indicator Variables. Då får ni 3 indikatorvariabler och ni måste välja ut två att inkludera i regressionsmodellen (för anpassning av modellen spelar det ingen roll vilka ni väljer, men ni får naturligtvis tolka resultaten beroende på vilka variabler ni har valt). Detta med att skapa indikatorvariabler är typiskt för kolumner med värden i nominalskala, dvs. det finns ingen inbördes numerisk ordning mellan värdena. Om det finns totalt k värden går det åt k-1 indikatorvariabler för att beskriva kolumnen. c) Gör indikatorvariabler för kolumn C7 som anger uppvärmningstekniken i fastigheterna. Tally for Discrete Variables: Fuel Fuel Count Electric 40 NatGas 39 Oil 1 Solar 1 N= 81 Eftersom det bara finns en fastighet med Oil och en med Solar, så är antagligen en sammanslagning nödvändig innan ni kodar om till indikatorvariabler. Förslagsvis skulle man kunna slå ihop Electric med Solar och NatGas med Oil, om ni tycker det verkar rimligt. Skapa en indikatorvariabel som anger uppvärmningsteknik, välj själv hur den ska utformas. d) Koda även om kolumn C13 (Garage), som ni redan har gjort tidigare, så att fastigheter utan garage får värdet 0 och fastigheter med garage får värdet 1. Spara resultatet i kolumn C18. e) Skapa också variabeln tomtyta i kvadrat som ni gjorde på föregående laboration. 3
Uppgift 2: Best Subset Selection modellval a) Efter mycket kodning kan vi nu genomföra regressionsanalysen. Eftersom vi har rätt många variabler måste vi nog välja bort några för att hitta den bästa modellen. Vi gör detta genom att låta MINITAB skapa en massa modeller och sen välja ut den bästa med hjälp av justerad förklaringsgrad, C-mått och varians. Notera nu att de variabler som är potentiella förklaringsvariabler är: C1 C3 C5 C8 C9 C10 C11 C12 Tomtpris Tomtyta Bottenplansyta Rum Sovrum Badrum Toalett Eldstad C14 Kategori (som ni skapade ovan) C15 Sådär (som ni skapade ovan) C16 Bra (som ni skapade ovan) C17 C18 Uppvärmning (som ni skapade ovan) Garagedummy(som ni skapade ovan) C19 Tomtyta 2 (som ni skapade ovan) Det kan nu vara lämpligt att använda den inbyggda Minitab-funktionen Best Subsets. Den finns under Stat Regression Best Subsets..., välj in Totalpris som respons och de ovanstående förklaringsvariablerna som Free predictors. Minitab kan eventuellt påpeka att det kommer att ta lång tid, men svara bara Yes och gå vidare. b) Bestäm utifrån utskriften: 1. Vilken/vilka modell/er är den/de bästa med hänsyn till justerad förklaringsgrad? 2. Vilken/vilka modell/er är den/de bästa med hänsyn till skattad slumpvariation (s 2 )? 3. Vilken/vilka modell/er är den/de bästa med hänsyn till C-måttet (C p )? Teorin säger ju att jämförelse av justerad förklaringsgrad skall vara ekvivalent med jämförelse av s 2. Ta hjälp av detta för att komma fram till ett gemensamt svar på frågorna 1 och 2. 4
c) Antagligen har ni kommit fram till två modeller i b). Gör fullständiga modellanpassningar med Minitab och titta speciellt på residualplottar, VIF-värden och prediktionsintervall (95 %) för en fastighet med: Tomtpris =60000 dollar Tomtyta =1,2 acrs Bottenplanyta = 2000 sqft 7 rum 4 sovrum 2 badrum 1 toalett 1 öppen spis 1,5 plan Omgivning: Sådär Uppvärmning: El Garage (OBS: de aktuella modellerna behöver inte ha alla dessa variabler med.) Observera också att några av variabelvärdena måste beräknas för hand innan de matas in i fältet för prognos under Options. Bedöm de anpassade modellerna ur följande aspekter: 1. Hur många av förklaringsvariablerna blir signifikanta? 2. Har någon av modellerna problem med sina residualer? 3. Har någon av modellerna problem med multikollinearitet? 4. Vilken ger de smalaste intervallen för skattningen på ovanstående fastighet? Baserat på dessa analyser och svar, vilken av de två modellerna skulle ni rekommendera? Uppgift 3: Partiellt F-test för indikatorvariabler a) Anpassa en ny modell där totalkostnaden förklaras av Tomtpris, Tomtyta, Sådär (C15) och Bra (C16), eller motsvarande indikatorvariabler som ni har skapat ovan. Studera utskriften. Blir någon av variablerna icke-signifikant (på 5 % nivå)? Fundera en stund över följande: När det gäller variablerna Sådär och Bra, verkar det vettigt att ha med enbart en av dessa i modellen? b) Använd ett partiellt F-test på 5% nivå för att avgöra om variabeln Skick (C6) borde representeras i modellen. Detta kan göra på två olika sätt, vilka togs upp på föregående laboration. 5
Uppgift 4: Modellval modellbygge a) Börja med att beräkna korrelationen mellan y-variabeln (Totalpris, C2) och alla tillgängliga förklaringsvariabler: - Välj först den förklaringsvariabel som har högst (absolut) korrelation med totalkostnad. - Anpassa en enkel linjär regressionsmodell där totalkostnad förklaras av denna variabel. Blir variabeln signifikant på 5 % signifikansnivå? Ifall den är signifikant vill vi ju jobba vidare med denna modell och lägga till ytterligare en variabel. Detta kan Minitab göra automatiskt, gå in under Stat Regression Stepwise Regression. Välj under Methods Forward Selection och sätt alpha to enter lika med 0,05. Vilken modell får ni ut? b) Prova nu även Minitabs funktion för bakåteliminering, ni hittar den via samma väg som för framåtval. Välj 'alpha to remove' lika med 0,05. Följ utskriften i Session-fönstret och svara Yes på frågorna så länge som nya modeller skrivs ut. Kommer ni fram till samma modell med bakåtelimineringsmetoden som med framåtvalsmetoden? Vad är skillnaden mellan dessa? c) Kör nu åter Stat Regression Stepwise men markera denna gång Stepwise (forward and backward). Välj 0,05 i fälten för Alpha to enter samt Alpha to remove. Svara Yes på frågorna till dess att inga nya modeller visas. Blir den slutliga modellen här likadan som någon av modellerna enligt framåtvalsmetoden eller bakåtelimineringsmetoden? d) Överensstämmer någon av modellerna enligt a) b) eller c) med den modell ni kom fram till i uppgift 2? Om inte, vad kan vara orsakerna till detta? Fundera generellt om hur modellvalet ska gå till för att hitta en bra modell om man väljer mellan ganska många förklaringsvariabler. 6