Kursus 02402/02323 Introducerende Statistik Forelæsning 8: Simpel lineær regression Oversigt Motiverende eksempel: Højde-vægt 2 Lineær regressionsmodel 3 Mindste kvadraters metode (least squares) Klaus K. Andersen og Per Bruun Brockhoff DTU Compute, Statistik og Dataanalse Danmarks Tekniske Universitet 2800 Lngb Danmark e-mail: klaus@cancer.dk 4 Statistik og lineær regression?? 5 Hpotesetests og konfidensintervaller for ˆβ 0 og ˆβ 6 Konfidensinterval og prædiktionsinterval Konfidensinterval for linien 7 8 Residual Analsis: Model control Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 2 / 43 Motiverende eksempel: Højde-vægt Motiverende eksempel: Højde-vægt Heights ( i ) 68 6 67 79 84 66 98 87 9 79 Weights ( i ) 65.5 58.3 68. 85.7 80.5 63.4 02.6 9.4 86.7 78.9 Heights ( i ) 68 6 67 79 84 66 98 87 9 79 Weights ( i ) 65.5 58.3 68. 85.7 80.5 63.4 02.6 9.4 86.7 78.9 Weight 60 70 80 90 00 2 3 6 4 0 5 8 9 7 Weight 60 70 80 90 00 2 3 6 4 0 5 8 9 7 60 70 80 90 Height 60 70 80 90 Height Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 4 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 5 / 43
Motiverende eksempel: Højde-vægt Motiverende eksempel: Højde-vægt Heights ( i ) 68 6 67 79 84 66 98 87 9 79 Weights ( i ) 65.5 58.3 68. 85.7 80.5 63.4 02.6 9.4 86.7 78.9 summar(lm( ~ )) Heights ( i ) 68 6 67 79 84 66 98 87 9 79 Weights ( i ) 65.5 58.3 68. 85.7 80.5 63.4 02.6 9.4 86.7 78.9 Call: lm(formula = ~ ) Residuals: Min Q Median 3Q Ma -5.876 -.45-0.608 2.234 6.477 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -9.958 8.897-6.35 0.00022 ***.3 0.06 0.50 5.9e-06 *** --- Signif. codes: 0 '***' 0.00 '**' 0.0 '*' 0.05 '.' 0. ' ' Residual standard error: 3.88 on 8 degrees of freedom Multiple R-squared: 0.932, Adjusted R-squared: 0.924 F-statistic: 0 on and 8 DF, p-value: 5.87e-06 Weight 60 70 80 90 00 8 4 9 0 5 3 6 2 60 70 80 90 Height 7 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 6 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 7 / 43 Lineær regressionsmodel Et scatter plot af noget data Opstil en lineær model Lineær regressionsmodel Vi har n par datapunkter ( i, i ) Opstil en lineær model i = β 0 + β i 200 0 200 400 600 800 0 2 3 200 0 200 400 600 800 data punkter lineaer model 0 2 3 men den der mangler noget til at beskrive den tilfældige variation! Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 9 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 0 / 43
Lineær regressionsmodel Opstil en lineær regressionsmodel Model-illustration Lineær regressionsmodel Opstil den lineære regressionsmodel Y i = β 0 + β i + ε i Y i er den afhængige variabel (dependent variable). En stokastisk variabel. i er en forklarende variabel (eplanator variable) ε i er afvigelsen (error). En stokastisk variabel. og vi antager ε i er independent and identicall distributed (i.i.d.) og N(0, σ 2 ) 200 0 200 400 600 800 σ β 0 + β 0 2 3 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 2 / 43 Mindste kvadraters metode (least squares) Mindste kvadraters metode Mindste kvadraters metode (least squares) Illustration af model, data og fit Hvad kan vi gøre for at estimere parametrene β 0 og β? God ide: Minimer variansen σ 2 på afvigelsen. Det er på næsten alle måder det bedste valg i dette setup. But how!? Minimer summen af de kvadrerede afvigelser (Residual Sum of Squares (RSS)) ˆβ 0 og ˆβ minimerer RSS RSS(β 0, β ) = n i= ε 2 i 200 0 200 400 600 800 ε^i = e i σ β 0 + β 2 β^0 + β^ data punkter lineaer model lineaer fit 0 2 3 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 4 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 5 / 43
Mindste kvadraters metode (least squares) Least squares estimator Mindste kvadraters metode (least squares) Least squares estimater Theorem 5.4 (her for estimatorer som i enoten) The least squares estimators of β 0 and β are given b n i= ˆβ = (Y i Ȳ )( i ) where = n i= ( i ) 2. ˆβ 0 =Ȳ ˆβ Theorem 5.4 (her for estimater) The least squares estimatates of β 0 and β are given b n i= ˆβ = ( i ȳ)( i ) where = n i= ( i ) 2. ˆβ 0 =ȳ ˆβ Tænk ikke længere over det for nu! Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 6 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 7 / 43 R eksempel Mindste kvadraters metode (least squares) Statistik og lineær regression?? Parameter estimaterne er stokastiske variabler Simuler en lineær model med normalfordelt afvigelse og estimer parametrene FØRST LAV DATA: Generer n værdier af input som uniform fordelt <- runif(n=20, min=-2, ma=4) Simuler lineær regressionsmodel beta0=50; beta=200; sigma=90 <- beta0 + beta * + rnorm(n=length(), mean=0, sd=sigma) HERFRA ligesom virkeligheden, vi har dataen i og : Et scatter plot af og plot(, ) Udregn least squares estimaterne, brug Theorem 5.4 (betahat <- sum( (-mean())*(-mean()) ) / sum( (-mean())^2 )) (beta0hat <- mean() - betahat*mean()) Brug lm() til at udregne estimaterne lm( ~ ) Hvis vi tog en n stikprøve ville estimaterne ˆβ 0 og ˆβ have samme udfald? Nej, de er stokastiske variabler. Tog vi en n stikprøve så ville vi have en anden realisation. Hvordan er parameter estimaterne i en lineær regressionsmodel fordelt (givet normalfordelte afvigelser)? Prøv lige at simulere for at se på det... Plot den estimerede linie abline(lm( ~ ), col="red") Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 8 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 20 / 43
Statistik og lineær regression?? Statistik og lineær regression?? Hvordan er parameter estimaterne i en lineær regressionsmodel fordelt (givet normalfordelte afvigelser)? De er normalfordelte (for n < 30 brug t-fordeling) og deres varians kan estimeres: Theorem 5.7 (første del) V [ ˆβ 0] = σ2 n + 2 σ 2 V [ ˆβ ] = σ2 Cov[ ˆβ 0, ˆβ ] = σ2 Kovariansen Cov[ ˆβ 0, ˆβ ] (covariance) gør vi ikke mere ud af her. Estimater af standard afvigelserne på ˆβ 0 og ˆβ Theorem 5.7 (anden del) Where σ 2 is usuall replaced b its estimate (ˆσ 2 ). The central estimator for σ 2 is ˆσ 2 = RSS( ˆβ 0, ˆβ ) n i= = e2 i n 2 n 2. When the estimate of σ 2 is used the variances also become estimates and we ll refer to them as ˆσ 2 β 0 and ˆσ 2 β. Estimat af standard afvigelserne for ˆβ 0 og ˆβ (ligningerne (5-73)) ˆσ β0 = ˆσ n + 2 ; ˆσ β = ˆσ S n i= ( i ) 2 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 2 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 22 / 43 Hpotesetests og konfidensintervaller for ˆβ 0 og ˆβ Hpotesetests for parameter estimaterne Vi kan altså udføre hpotesetests for parameter estimater i en lineær regressionsmodel: Vi bruger de t-fordelte statistikker: Theorem 5. H 0,i : β i = β 0,i H,i : β i β,i Under the null-hpothesis (β 0 = β 0,0 and β = β 0, ) the statistics T β0 = ˆβ 0 β 0,0 ˆσ β0 ; T β = ˆβ β 0, ˆσ β, are t-distributed with n 2 degrees of freedom, and inference should be based on this distribution. Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 24 / 43 Hpotesetests og konfidensintervaller for ˆβ 0 og ˆβ Se Eksempel 5.2 for eksempel på hpotesetest. Test om parametrene er signifikant forskellige fra 0 Se resultatet i R Hpotesetests om signifikante parametre H 0,i : β i = 0 H,i : β i 0 Generer <- runif(n=20, min=-2, ma=4) Simuler Y beta0=50; beta=200; sigma=90 <- beta0 + beta * + rnorm(n=length(), mean=0, sd=sigma) Brug lm() til at udregne estimaterne fit <- lm( ~ ) Se summar, deri står hvad vi har brug for summar(fit) Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 25 / 43
Hpotesetests og konfidensintervaller for ˆβ 0 og ˆβ Konfidensintervaller for parametrene Hpotesetests og konfidensintervaller for ˆβ 0 og ˆβ Lav konfidensintervaller for parametrene Antal gentagelser nrepeat <- 00 Method 5.4 ( α) confidence intervals for β 0 and β are given b ˆβ 0 ± t α/2 ˆσ β0 ˆβ ± t α/2 ˆσ β where t α/2 is the ( α/2)-quantile of a t-distribution with n 2 degrees of freedom. husk at ˆσ β0 og ˆσ β findes ved ligningerne (5-74) i R kan ˆσ β0 og ˆσ β aflæses ved "Std. Error"ved "summar(fit)" Fangede vi den rigtige parameter TrueValInCI <- logical(nrepeat) Gentag simuleringen og estimeringen nrepeat gange for(i in :nrepeat){ Generer <- runif(n=20, min=-2, ma=4) Simuler beta0=50; beta=200; sigma=90 <- beta0 + beta * + rnorm(n=length(), mean=0, sd=sigma) Brug lm() til at udregne estimaterne fit <- lm( ~ ) Heldigvis kan R beregne konfidensintervallet (level=-alpha) (ci <- confint(fit, "(Intercept)", level=0.95)) Var den rigtige parameterværdi "fanget" af intervallet? (TrueValInCI[i] <- ci[] < beta0 & beta0 < ci[2]) } Hvor ofte blev den rigtige værdi "fanget"? sum(truevalinci) / nrepeat Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 26 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 27 / 43 Konfidensinterval og prædiktionsinterval Konfidensinterval for linien Konfidensinterval og prædiktionsinterval Method 5.7: Konfidensinterval for β 0 + β 0 Method 5.7: for β 0 + β 0 + ε 0 Konfidensinterval for β 0 + β 0 svarer til et konfidensinterval for linien i punktet 0 Beregnes med ( ˆβ 0 + ˆβ 0 ) ± t α/2 ˆσ n + ( 0 ) 2 Konfidensintervallet vil i 00( α)% af gangene indeholde den rigtige linie, altså β 0 + β 0 let (prediction interval) for Y 0 beregnes med en værdi 0 Dette gøres før Y 0 observeres med ( ˆβ 0 + ˆβ 0 ) ± t α/2 ˆσ + n + ( 0 ) 2 let vil 00( α)% af gangene indeholde den observerede 0 Et prædiktionsinterval bliver altså større end et konfidensinterval for fastholdt α Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 29 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 30 / 43
Konfidensinterval og prædiktionsinterval Konfidensinterval og prædiktionsinterval Eksempel med konfidensinterval for linien Eksempel med prædiktionsinterval Eksempel med konfidensinterval for linien Lav en sekvens af værdier val <- seq(from=-2, to=6, length.out=00) Brug predict funktionen CI <- predict(fit, newdata=data.frame(=val), interval="confidence", level=.95) Se lige hvad der kom head(ci) Plot data, model og intervaller plot(,, pch=20) abline(fit) lines(val, CI[, "lwr"], lt=2, col="red", lwd=2) lines(val, CI[, "upr"], lt=2, col="red", lwd=2) 400 200 0 200 400 600 800 2 0 2 3 4 Eksempel med prædiktionsinterval Lav en sekvens a værdier val <- seq(from=-2, to=6, length.out=00) Beregn interval for hvert PI <- predict(fit, newdata=data.frame(=val), interval="prediction", level=.95) Se lige hvad der kom tilbage head(pi) Plot data, model og intervaller plot(,, pch=20) abline(fit) lines(val, PI[, "lwr"], lt=2, col="blue", lwd=2) lines(val, PI[, "upr"], lt=2, col="blue", lwd=2) 400 200 0 200 400 600 800 2 0 2 3 4 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 3 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 32 / 43 Hvad bliver mere skrevet ud af summar? summar(fit) Call: lm(formula = ~ ) Residuals: Min Q Median 3Q Ma -84.7-96.4-20.3 86.6 279. Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 5.5 3..66 0.2 26.3 5.2 4.22 3.e- *** --- Signif. codes: 0 '***' 0.00 '**' 0.0 '*' 0.05 '.' 0. ' ' Residual standard error: 26 on 8 degrees of freedom Multiple R-squared: 0.98, Adjusted R-squared: 0.94 F-statistic: 202 on and 8 DF, p-value: 3.4e- Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 34 / 43 summar(lm( )) wrap up Residuals: Min Q Median 3Q Ma: Residualernes: Minimum,. kvartil, Median, 3. kvartil, Maimum Coefficients: Estimate Std. Error t value Pr(> t ) "stjerner" Koefficienternes: Estimat ˆσ βi t obs p-værdi Testen er H 0,i : β i = 0 vs. H,i : β i 0 Stjernerne er sat efter p-værdien Residual standard error: XXX on XXX degrees of freedom ε i N(0, σ 2 ) udskrevet er ˆσ og ν frihedsgrader (brug til hpotesetesten) Multiple R-squared: Forklaret varians r 2 XXX Resten bruger vi ikke i det her kursus Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 35 / 43
Forklaret varians og korrelation Forklaret varians og korrelation Forklaret varians af en model er r 2, i summar "Multiple R-squared" Beregnes med hvor ŷ i = ˆβ 0 + ˆβ i r 2 = i ( i ŷ i ) 2 i ( i ȳ) 2 Andel af den totale varians der er forklaret med modellen en ρ er et mål for lineær sammenhæng mellem to stokastiske variable Estimeret (i.e. empirisk) korrelation ˆρ = r = r 2 sgn( ˆβ ) hvor sgn( ˆβ ) er: for ˆβ 0 og for ˆβ > 0 Altså: Positiv korrelation ved positiv hældning Negativ korrelation ved negativ hældning Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 36 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 37 / 43 Test for signifikant korrelation Test for signifikant korrelation (lineær sammenhæng) mellem to variable er ækvivalent med H 0 : ρ = 0 H : ρ 0 H 0 : β = 0 H : β 0 hvor ˆβ er estimatet af hældningen i simpel lineær regressionsmodel Generer <- runif(n=20, min=-2, ma=4) Simuler beta0=50; beta=200; sigma=90 <- beta0 + beta * + rnorm(n=length(), mean=0, sd=sigma) Scatter plot plot(,) Brug lm() til at udregne estimaterne fit <- lm( ~ ) Den rigtige linie abline(beta0, beta) Plot fittet abline(fit, col="red") Se summar, deri står hvad vi har brug for summar(fit) mellem og cor(,) Kvadreret er den "Multiple R-squared" fra summar(fit) cor(,)^2 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 38 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 39 / 43
Residual Analsis: Model control Residual Analsis: Model control Residual Analsis Residual Analsis in R fit <- lm( ~ ) par(mfrow = c(, 2)) qqnorm(fit$residuals) plot(fit$fitted, fit$residuals) Method 5.26 Check normalit assumption with qq-plot. Check (non)sstematic behavior b plotting the residuals e i as a function of fitted values ŷ i Sample Quantiles 50 00 50 0 50 00 50 Normal Q Q Plot fit$residuals 50 00 50 0 50 00 50 2 0 2 Theoretical Quantiles 200 0 200 400 600 fit$fitted Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 4 / 43 Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 42 / 43 Outline Outline Motiverende eksempel: Højde-vægt 2 Lineær regressionsmodel 3 Mindste kvadraters metode (least squares) 4 Statistik og lineær regression?? 5 Hpotesetests og konfidensintervaller for ˆβ 0 og ˆβ 6 Konfidensinterval og prædiktionsinterval Konfidensinterval for linien 7 8 Residual Analsis: Model control Klaus KA og Per BB (klaus@cancer.dk) Introduktion til Statistik, Forelæsning 8 Efteråret 206 43 / 43