TAMS65 - Föreläsning 11 Regressionsanalys fortsättning Modellval Martin Singull Matematisk statistik Matematiska institutionen
Innehåll Repetition (t-test för H 0 : β i = 0) Residualanalys Modellval Framåtvalsprincipen TAMS65 - Fö11 1/45
Repetition Vi har modellen y : (n 1) är en obs. från Y = X β + ε, där ε N n (0, σ 2 I ), med MK-skattningen och σ 2 -skattningen Vidare gäller att s 2 = β = (X X ) 1 X y SS E n k 1 (df = n k 1). β = (X X ) 1 X Y N k+1 ( β, σ 2 (X X ) 1) och (n k 1)S 2 σ 2 χ 2 (n k 1). TAMS65 - Fö11 2/45
Om ( X X ) 1 = (hij ) k i,j=0 så har vi att den s.v. alltså ˆβ i N(β i, σ h ii ), ˆβ i β i σ h ii N(0, 1) och ˆβ i β i S h ii t(n k 1). Detta är vår hjälpvariabel för konstruktion av I βi. TAMS65 - Fö11 3/45
Vi vill pröva H 0 : β i = 0 mot H 1 : β i 0. Var har gjort det genom att konstruera I βi och förkasta H 0 om 0 I βi. Man kan i stället använda teststorheten t = ˆβ i 0 s h ii (tänk på att den s.v. ˆβ i N(β i, σ h ii )). Den s.v. T t(n k 1) om H 0 är sann. TAMS65 - Fö11 4/45
H 0 förkastas om t > b, dvs. om t < b eller t > b. t(n-k-1) α/2 α/2 -b b P = P( T > t OBS om H 0 är sann ) = P(T < t OBS ) + P(T > t OBS ) om H 0 är sann. H 0 förkastas om P < α. P-värdet för det här testet kan beräknas med MATLAB. P/2 P/2 - u OBS u OBS Det är praktiskt att kunna utnyttja det här testet i samband med t.ex. stegvis regression. TAMS65 - Fö11 5/45
Residualanalys De skattade väntevärdena ˆµ j kallas ibland också ŷ j, det vill säga ŷ j = ˆβ 0 + ˆβ 1 x j1 + + ˆβ k x jk. Residualerna definieras som e i = y j ŷ j. Om vi vill arbeta med vektorer istället så har vi modellen Y N n (X β, σi n ) och residualerna ges av e = y ŷ = y X β = (I X (X X ) 1 X )y. TAMS65 - Fö11 6/45
Enligt vårt modell antagande bör residualerna 1. ha konstant varians, oberoende av förklaringsvariablerna x 1,..., x p, 2. vara oberoende av varandra, 3. vara normalfördelade. 1. och 2. är viktiga för regressionsmodellen medan 3. är viktig för den fortsatta analysen när man ska göra inferens så som konfidensintervall och olika test. Alla våra t- och F-test bygger på normalfördelningsantagandet. TAMS65 - Fö11 7/45
Enklast är att göra residualanalysen visuellt, det vill säga studera olika plottar. Det kan vara intressant att studera plottar av e 1,..., e n 1. på en tallinje (histogram), 2. i tidsföljd, 3. mot de skattade väntevärdena ˆµ j (eller mot y j ), 4. mot var och en av förklaringsvariablerna x j, j = 1,..., p. TAMS65 - Fö11 8/45
Exempel Ett företag har mätt tre prestationsvariabler x 1, x 2 och x 3 för sina säljare. Vidare har de fått genomgå test där man mätt kreativitet (x 4 ), förmåga att resonera mekaniskt (x 5 ) respektive abstrakt (x 6 ) samt matematisk förmåga (x 7 ). Nr x 1 x 2 x 3 x 4 x 5 x 6 x 7 1 88.8 91.8 87.6 1 10 10 16................ 50 116.0 118.5 112.5 18 16 11 50 Låt oss som övergripande prestationsmått utnyttja y = x 1 + x 2 +x 3. Vid nyanställning av personal är det intressant att förutsäga Y -värdet med hjäp av x 4,..., x 7. Analysera resultatet först med bara x 4 och x 7. TAMS65 - Fö11 9/45
TAMS65 - Fö11 10/45
Beräkna residualerna i MATLAB. regr = regstats(y,[x4 x7], linear, all ); yhat = regr.yhat; r = regr.r; figure; hist(r,15) figure; scatter(1:length(r),r) figure; scatter(yhat,r, * ) figure; normplot(r) TAMS65 - Fö11 11/45
Histogram för residualerna TAMS65 - Fö11 12/45
Residualerna plottade i ordning TAMS65 - Fö11 13/45
Residualerna plottade mot skattat väntevärde TAMS65 - Fö11 14/45
Normalfördelningsplot för residualerna TAMS65 - Fö11 15/45
Modellval När man studerar en responsvariabel Y, väljer man ofta mellan flera alternativa modeller genom att man kan göra olika val av förklaringsvariabler. Ambitionen är att förklara så stor del av variationerna i y-värdena som möjligt genom att utnyttja relevanta förklaringsvariabler. TAMS65 - Fö11 16/45
Modeller jämförs med hjälp av residualkvadratsummor respektive residualmedelkvadratsummor (= σ 2 -skattningar). Det finns andra kriterier också men ett litet värde på σ antyder att ε-variabeln i modellen är ganska försumbar. En extra förklaringsvariabel ger alltid en minskning av residualkvadratsumman. Vi behöver kunna bedöma när denna minskning är väsentlig. TAMS65 - Fö11 17/45
Vi antar nu att vi vill jämföra Modell 1: Y = β 0 + β 1 x 1 + + β k x k + ε och Modell 2: Y = β 0 + β 1 x 1 + + β k+p x k+p + ε alltså vi vill ev. utvidga Modell 1 med p nya förklaringsvariabler. Man får i allmänhet nya β-koefficienter och en ny ε-variabel, men vi behåller samma notation. TAMS65 - Fö11 18/45
Vi vill pröva H 0 : β k+1 =... = β k+p = 0 (nya förklaringsvariablerna meningslösa.) mot H 1 : minst en av β k+1,..., β k+p är 0. Teststorhet: W = (SS(1) E SS(2) E )/p SS (2) E /(n k p 1) (Se formelsamling) TAMS65 - Fö11 19/45
Teststorhet: W = (SS(1) E SS(2) E )/p SS (2) E /(n k p 1) p = antalet nya förklaringsvariabler i modell 2 och n k p 1 = n (k + p) 1 är frihetsgraderna för SS (2) E. H 0 förkastas om W > c. TAMS65 - Fö11 20/45
Alltså, H 0 förkastas om W > c. Vi har också den s.v. W F (p, n k p 1), om H 0 är sann. TAMS65 - Fö11 21/45
Stegvis regression Då man tillämpar stegvis regression börjar man ofta med en modell utan förklaringsvariabler och tar sedan in en förklarings- variabel i sänder i modellen. En förklaringsvariabel Om y j är observation av Y j = β 0 + β 1 x j + ε j, för j = 1,..., n, så kan man visa att SS R = r 2 n (y j ȳ) 2, i=1 SS E = SS TOT SS R = (1 r 2 ) n (y j ȳ) 2, där r är den empiriska korrelationen för (x 1, y 1 ),..., (x n, y n ). i=1 TAMS65 - Fö11 22/45
Slutsats Den förklaringsvariabel som är starkast korrelerad med Y (har högst värde på r ) ger minst residualkvadratsumma vid analyser med en förklaringsvariabel. OBS Den näst bästa förklaringsvariabeln hittar man inte via korrelationsmatrisen. TAMS65 - Fö11 23/45
Exempel En viss typ av buss har bara en dörr, som måste användas både av dem som stiger av och dem som stiger på. Man har vid 20 tillfällen mätt tiden y (i sekunder) från det att bussen stannat vid en hållplats tills den åter satt igång. Samtidigt har man noterat antalet påstigande (x 1 ) och antalet avstigande (x 2 ). y = [4 24 23 12 20 45 60 18 5 15 18 88 50 24... 12 8 14 16 32 25] ; x1 = [0 2 1 1 2 4 5 1 0 1 1 8 5 1 1 0 0 1 2 0] ; x2 = [1 3 0 0 1 0 8 1 1 0 3 3 0 3 1 3 6 4 0 8] ; Man vill försöka förklara bussens stopptid y med hjälp av en linjär regressionsmodell på x 1 och/eller x 2. TAMS65 - Fö11 24/45
En förklaringsvariabel: Välj x 1 eftersom den har störst korrelation med y. >> corr([x1 x2],y) ans = 0.9603 0.1918 Modell 1: Y = β 0 + β 1 x 1 + ε Testa om förklaringsvariabeln gör nytta, dvs. H 0 : β 1 = 0 mot H 1 : β 1 0 prövas på nivån 0.01. TAMS65 - Fö11 25/45
>> betahat = regr.tstat.beta betahat = 8.7359 9.3967 >> se = regr.tstat.se se = 1.7630 0.6437 >> t = regr.tstat.t t = 4.9552 14.5969 >> fstat = regr.fstat fstat = sse: 635.5411 dfe: 18 dfr: 1 ssr: 7.5230e+03 f: 213.0691 pval: 2.0316e-11 TAMS65 - Fö11 26/45
Skattad regressionslinje: y = 8.74 + 9.40x 1 i βi d( β i ) 0 8.7359 1.7630 1 9.3967 0.6437 Variansanalys: Frihetsgrader Kvadratsumma REGR 1 7523.0 RES 18 635.5 TOT 19 8158.5 TAMS65 - Fö11 27/45
Teststorhet T 1 = β 1 d( β 1 ) t(18) under H 0. Observerat värde t 1 = β 1 d( β 1 ) = 9.3967 0.6437 = 14.5969 Förkasta H 0 om t 1 > c, d.v.s. om t 1 < c eller t 1 > c där c = t 0.995 (18) = 2.88. Alltså, förkasta H 0. Förklaringsvariabeln x 1 gör nytta i modellen. TAMS65 - Fö11 28/45
>> t = regr.tstat.t >> betahat = regr.tstat.beta betahat = 8.7359 9.3967 >> se = regr.tstat.se se = 1.7630 0.6437 t = 4.9552 14.5969 >> P = regr.tstat.pval P = 1.0e-03 * 0.1023 0.0000 H 0 : β 1 = 0 kan förkastas eftersom P < α. TAMS65 - Fö11 29/45
En annan teststorhet för samma hypotes skulle kunna vara v = SS R/1 SS E /18 = 213.07 som testar om alla förklaringsvariabler är meningslösa. Den s.v. V F (1, 18) om H 0 är sann. H 0 förkastas om v > c. Tabell ger c = 8.29. 213.07 > 8.29; med stor sannolikhet gör x 1 nytta som förklaringsvariabel. Ta med x 1 i modellen. TAMS65 - Fö11 30/45
Modell 2: Y = β 0 + β 1 x 1 + β 2 x 2 + ε Testa om x 2 gör nytta, dvs. H 0 : β 2 = 0 mot H 1 : β 2 0 på nivån 0.01. TAMS65 - Fö11 31/45
Skattad regressionslinje: y = 5.41 + 9.38x 1 + 1.46x 2 i βi d( β i ) 0 5.4055 1.6786 1 9.3761 0.5050 2 1.4642 0.4183 Variansanalys: Frihetsgrader Kvadratsumma REGR 2 7789.2 RES 17 369.3 TOT 19 8158.5 TAMS65 - Fö11 32/45
Teststorhet T 2 = β 2 d( β 2 ) t(17) under H 0. Observerat värde t 2 = β 2 d( β 2 ) = 1.4642 0.4183 = 3.50 Förkasta H 0 om t 2 > c, d.v.s. om t 2 < c eller t 2 > c där c = t 0.995 (17) = 2.90. Alltså, förkasta H 0. Förklaringsvariabeln x 2 gör också nytta i modellen. TAMS65 - Fö11 33/45
En annan teststorhet för samma hypotes skulle kunna vara w = (SS(1) E SS(2) E )/1 SS (2) E /17 = 635.5 369.3 369.3/17 = 12.25 som testar om de extra förklaringsvariablerna gör nytta i modellen. Den s.v. W F (1, 17) om H 0 är sann. H 0 förkastas om w > c. Tabell ger den kritiska gränsen c 8.41. 12.25 > 8.41; H 0 förkastas. Med stor sannolikhet gör även x 2 nytta som förklaringsvariabel. Använd Modell 2. TAMS65 - Fö11 34/45
Exempel I exemplet med prestationsmått för försäljare använde vi bara x 4 och x 7 som förklaringsvariabler. Även för x 5 och x 6 finns det tendenser till linjära samband. Vi skall använda framåtvalsprincipen för att få fram rätt modell. TAMS65 - Fö11 35/45
TAMS65 - Fö11 36/45
Steg 1 Vi letar upp den bästa ensamma förklaringsvariabeln t.ex. genom korrelationsmatrisen. >> correlation = corr([x4 x5 x6 x7],y) correlation = 0.6393 0.7238 0.4610 0.9771 x 7 är den bästa ensamma förklaringsvariabeln. TAMS65 - Fö11 37/45
Gör en regressionsanalys med x 7 och kontrollera om den förklaringsvariabeln gör nytta. >> regr = regstats(y,x7, linear, all ); >> t = regr.tstat.t t = 127.6589 31.8501 >> P = regr.tstat.pval P = 1.0e-33 * 0.0000 0.6128 t = 31.85 och P < α, dvs. förkasta H 0 : β 7 = 0 och x 7 gör nytta. TAMS65 - Fö11 38/45
Steg 2 Gör alla analyser med x 7 och en annan förklaringsvariabel. Jämför SS E för de tre analyserna och välj den som har minst. disp( -- x7 och x4 -- ) regr = regstats(y,[x7 x4],... linear, all ); sse = regr.fstat.sse disp( -- x7 och x5 -- ) regr = regstats(y,[x7 x5],... linear, all ); sse = regr.fstat.sse disp( -- x7 och x6 -- ) regr = regstats(y,[x7 x6],... linear, all ); sse = regr.fstat.sse -- x7 och x4 -- sse = 1.0135e+03 -- x7 och x5 -- sse = 934.2675 -- x7 och x6 -- sse = 989.9602 TAMS65 - Fö11 39/45
SS x 7,x 5 E = 934 < SS x 7,x 6 E = 990 < SS x 7,x 4 E = 1014 Välj Y = β 0 + β 7 x 7 + β 5 x 5 + ε. Testa om x 5 gör nytta. -- x7 och x5 -- disp( -- x7 och x5 -- ) regr = regstats(y,[x7 x5],... linear, all ); t = regr.tstat.t P = regr.tstat.pval t = 84.5377 22.2176 2.0723 P = 0.0000 0.0000 0.0438 t = 2.07 och P < α, dvs. förkasta H 0 och även x 5 gör nytta. Ta in x 5 i modellen. TAMS65 - Fö11 40/45
Steg 3 Gör alla analyser med x 7, x 5 och en annan förklaringsvariabel. Jämför SS E för de två analyserna och välj den som har minst. disp( -- x7, x5 och x4 -- ) regr = regstats(y,[x7 x5 x4],... linear, all ); sse = regr.fstat.sse disp( -- x7, x5 och x6 -- ) regr = regstats(y,[x7 x5 x6],... linear, all ); sse = regr.fstat.sse -- x7, x5 och x4 -- sse = 865.8981 -- x7, x5 och x6 -- sse = 921.1577 TAMS65 - Fö11 41/45
SS x 7,x 5,x 4 E = 866 < SS x 7,x 5,x 6 E = 921 Välj Y = β 0 + β 7 x 7 + β 5 x 5 + β 4 x 4 + ε. Testa om x 4 gör nytta. regr = regstats(y,[x7 x5 x4],... linear, all ); t = regr.tstat.t P = regr.tstat.pval t = 76.3544 22.9089 2.8000-1.9058 P = 0.0000 0.0000 0.0074 0.0629 t = 1.9 och P > α, dvs. vi kan inte förkasta H 0. Vi stannar här! TAMS65 - Fö11 42/45
Framåtvalsprincipen ger modellen Y = β 0 + β 5 x 5 + β 7 x 7 + ε. Vi vill nu testa om modellen med all fyra förklaringsvariablerna är signifikant bättre. >> regr = regstats(y,[x7 x5],... linear, all ); >> fstat = regr.fstat fstat = sse: 934.2675 dfe: 47 dfr: 2 ssr: 2.1634e+04 f: 544.1712 pval: 0 >> regr = regstats(y,[x7 x5 x4 x6],... linear, all ); >> fstat = regr.fstat fstat = sse: 848.8264 dfe: 45 dfr: 4 ssr: 2.1720e+04 f: 287.8620 pval: 0 TAMS65 - Fö11 43/45
Teststorhet: w = (SS(1) E SS (2) E SS(2) E )/p (934.3 848.8)/2 = /(n k p 1) 848.8/45 = 2.26 Den s.v. W F (2, 45) om H 0 är sann. H 0 förkastas om w > c. MATLAB (eller tabell) ger den kritiska gränsen c=finv(0.95,2,45) vilken blir c = 3.204 w = 2.26 < 3.20 = c dvs. vi kan inte förkasta H 0 : β 4 = β 6 = 0. Alltså, vi kan fortsätta använda den lilla modellen. TAMS65 - Fö11 44/45
Exempel - Linjär interpolering Vi har V F (2, 45) och söker c så att P(V > c) = 0.05. c 3.23 0.5(3.23 3.18) = 3.205 Här ges 3.23 i F (2, 40)-tabell och 3.18 i F (2, 50)-tabell. TAMS65 - Fö11 45/45
http://courses.mai.liu.se/gu/tams65/