14
10/5/2015 Regressione lineare semplice file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 1/14 Regressione lineare semplice Strumenti quantitativi per la gestione Emanuele Taufer Regressione lineare (RL) La regressione lineare per i dati Advertising Analisi d’interesse Regressione lineare semplice (un unico predittore ) Previsione Stima dei parametri con i minimi quadrati Advertising data Uso dei risultati Retta stimata e residui Valutare la precisione delle stime dei coefficienti Proprietà di e Intervalli di confidenza Verifica delle ipotesi Valutare la bontà del modello L’errore standard residuo (RSE) La statistica di bontà di adattamento Grafici Esempio: Diamond Alcune statistiche e plot RLS con R e output Retta stimata e IC IC per la retta Come ottenere un’intercetta più interpretabile Interpolazione Previsioni Riferimenti bibliografici Regressione lineare (RL) La RL è uno degli approcci più semplici nel cd “supervised learning”. La RL assume che la dipendenza di da sia lineare. Nella pratica le “vere”" funzioni di regressione non sono mai lineari! L’assunzione di linearità va sempre intesa come un’approssimazione della verità. Anche se può sembrare troppo semplicistico, il modello di RL è estremamente utile sia concettualmente che praticamente. è di facile interpretazione è estremamente flessibile molti metodi moderni sono estensioni della RL: capirla a fondo ci permette di capire a fondo anche tecniche più sofisticate.

Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

Embed Size (px)

Citation preview

Page 1: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 1/14

Regressione lineare sempliceStrumenti quantitativi per la gestioneEmanuele Taufer

Regressione lineare (RL)La regressione lineare per i dati AdvertisingAnalisi d’interesseRegressione lineare semplice (un unico predittore )PrevisioneStima dei parametri con i minimi quadratiAdvertising dataUso dei risultatiRetta stimata e residuiValutare la precisione delle stime dei coefficientiProprietà di e Intervalli di confidenzaVerifica delle ipotesiValutare la bontà del modelloL’errore standard residuo (RSE)La statistica di bontà di adattamento Grafici Esempio: DiamondAlcune statistiche e plotRLS con R e outputRetta stimata e ICIC per la rettaCome ottenere un’intercetta più interpretabileInterpolazionePrevisioniRiferimenti bibliografici

Regressione lineare (RL)La RL è uno degli approcci più semplici nel cd “supervised learning”. La RL assume che ladipendenza di da sia lineare.

Nella pratica le “vere”" funzioni di regressione non sono mai lineari! L’assunzione di linearitàva sempre intesa come un’approssimazione della verità.

Anche se può sembrare troppo semplicistico, il modello di RL è estremamente utile siaconcettualmente che praticamente.

è di facile interpretazioneè estremamente flessibilemolti metodi moderni sono estensioni della RL: capirla a fondo ci permette di capire afondo anche tecniche più sofisticate.

X

β0 β1

R2

R2

Y , , …X1 X2 Xp

f

Page 2: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 2/14

La regressione lineare per i dati AdvertisingSi considerino i dati Advertising

Analisi d’interesseC’è una relazione tra budget pubblicitario e vendite?

Qual è l’intensità della relazione tra budget pubblicitario vendite?

Quali media contribuiscono alle vendite?

Come si può prevedere con precisione le vendite future?

La relazione è lineare?

C’è sinergia (o interazione) tra canali pubblicitari?

Regressione lineare semplice (un unicopredittore )

Assumiamo un modello

e sono due costanti sconosciute che rappresentano l’intercetta e la pendenza dellaretta, noti anche come coefficienti o parametri.

è il termine di errore (include tutto ciò di cui ci siamo dimenticati o non possiamo misurare)altri fattori (pubblicità su giornali e radio, …)variabilità intrinseca al fenomenononlinearità

Ad esempio, può rappresentare la pubblicità televisiva e può rappresentare le vendite.Allora possiamo regredire vendite su TV usando il modello

X

Y = + X + ε,β0 β1

β0 β1

ε

X Y

Page 3: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 3/14

PrevisioneI valori di e vengono stimati usando i training data

Date delle stime e per i coefficenti del modello, possiamo prevedere le vendite futurecon

dove indica una previsione di in base a .

Il simbolo ^ denota un valore stimato.

Stima dei parametri con i minimi quadratiSia la previsione per in base all’ ­esimo valore di X.

rappresenta il residuo ­esimo.

Si definisca la somma dei quadrati dei residui (RSS) come

o equivalentemente

L’approccio dei minimi quadrati sceglie i valori e che minimizzano lo RSS. Le soluzionisono

Advertising dataDati sulle spese in pubblicità (in migliaia di $) e vendite (in migliaia di unità di prodotto) in 200 mercatidiversi . Alcuni dati:

X TV Radio Newspaper Sales

1 230.1 37.8 69.2 22.1

2 44.5 39.3 45.1 10.4

3 17.2 45.9 69.3 9.3

4 151.5 41.3 58.5 18.5

5 180.8 10.8 58.4 12.9

vendite ∼ + × TV .β0 β1

β0 β1

β0 β1

= + x,y β0 β1

y Y X = x

= +y i β0 β1xi Y i

= −ei yi y i i

RSS = + + ⋯ + ,e21 e2

2 e2n

RSS = ( − − + ⋯ + ( − −y1 β0 β1x1)2 yn β0 β1xn)2

β0 β1

= ,β1( − )( − )∑n

i=1 xi x yi y

( −∑ni=1 xi x)2

= −β0 y β1x

(n = 200)

Page 4: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 4/14

6 8.7 48.9 75.0 7.2

dai dati otteniamo

Uso dei risultatiLa previsione con il modello di RL semplice è

Per una spesa pubblicitaria in TV pari a 20000$ ci si aspettano vendite per un totale di

ossia unità del prodotto

Il coefficente ci indica la quantità venduta attesa in assenza di pubblicità TV

Il coefficiente ci indica l’incremento in per un incremento di . In pratica, ogni 1000$spesi in più in pubblicità TV, ci si aspetta un incremento di vendite di 47.5 unità del prodotto.

Retta stimata e residui

Valutare la precisione delle stime dei coefficientiIl modello

= 7.03, = 0.0475β0 β1

= 7.03 + 0.0475xy

= 7.03 + 0.0475 × (20) = 7.98y

7980

β0

β1 y x

Page 5: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 5/14

idealmente rappresenta la popolazione che vorremmo analizzare, che include, ad esempioanche dati su vendite e pubblicità in altri mercati e dati su vendite e pubblicità future.

Il modello stimato

è basato sui dati campionari che abbiamo a disposizione (i training data)

In pratica e sono degli stimatori (ottenuti con il metodo dei minimi quadrati) di e epertanto soggetti a variabilità campionaria

Rosso: retta popolazione

Blu: retta stimata

Proprietà di e e sono stimatori corretti per e . Ossia non vi sono errori sistematici di sotto­stima

o sovra­stima.

Lo standard error ci dà una misura della loro variabilità campionaria

dove

Y = + X + ε,β0 β1

= + x,y β0 β1

β0 β1 β0 β1

β0 β1β0 β1 β0 β1

SE( ) = ,β1σ2

( −∑ni=1 xi x)2

− −−−−−−−−−−−√

SE( ) =β0 [ + ]σ2 1n

x2

( −∑ni=1 xi x)2

− −−−−−−−−−−−−−−−−−−−√= V ar(ε)σ2

2 /( − 2)

Page 6: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 6/14

Tipicamente è sconosciuta e, nella RL semplice, viene stimata con

Lo SE calcolato utilizzando la stima di è un stimato che per correttezza, dovrebbeessere indicato con , di seguito e nel testo si usa sempre la simbologia per semplicità.

Intervalli di confidenzaGli SE possono essere utilizzati per calcolare intervalli di confidenza. Nel caso di ,

fornisce un IC approssimativamente di livello .

Per il data set Advertising l’intervallo di confidenza al 95% per è .

Verifica delle ipotesiGli errori standard possono anche essere utilizzati per eseguire test di ipotesi sui coefficienti. Iltest più comune consiste nel verificare il set di ipotesi

: Non vi è alcuna relazione tra e

: Vi è relazione tra e

Matematicamente, ciò corrisponde a testare

poiché se allora il modello si riduce a , e quindi non è associato con .

Per verificare l’ipotesi nulla, si calcola la statistica test

che ha distribuzione con gradi di libertà, sotto ipotesi che .

L’ouput di R, fornisce automaticamente probabilità di osservare un valore uguale o superiore , ossia il p­value

Per il dataset Advertising:

## Warning: package 'xtable' was built under R version 3.2.2

EstimateStd. Errort valuePr(>|t|)(Intercept) 7.0326 0.4578 15.360.0000

TV 0.0475 0.0027 17.670.0000Nota: rifiuto , esiste relazione tra e

Valutare la bontà del modello

σ2 RSS/(n − 2)

σ2 SE

ES SE

β1

± 2SE( ),β1 β1

(1 − α = 0.95)

β1 [0.042; 0.053]

H0 X Y

HA X Y

: = 0H0 β1

: ≠ 0HA β1

= 0β1 Y = + εβ0 X Y

t

t =− 0β1

SE( )β1

t n − 2 = 0β1

|t|

: = 0H0 β1 → X Y

Page 7: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 7/14

Respinta l’ipotesi nulla ( in favore dell’alternativa , è naturale volerquantificare la misura in cui il modello si adatta ai dati.

La qualità di un modello di regressione lineare viene tipicamente valutata utilizzando duegrandezze collegate:

l’errore standard residuo (RSE)

L’errore standard residuo (RSE)Si noti che nel modello ad ogni osservazione è associato n termine dierrore .

Anche se si conoscesse la vera retta di regressione ( e conosciuti), non saremmo ingrado di prevedere perfettamente da .

L’RSE è una stima della deviazione standard di ,

Nel caso dei dati Advertising, . In altre parole, le vendite effettive in ogni mercatosi discostano in media dalla linea di regressione vera di circa unità (in migliaia).

Che unità sia o meno un errore di previsione accettabile dipende dal contesto in esame.

Nel set di dati Advertising, il valore medio delle vendite su tutti i mercati è di circa unità,e quindi l’errore percentuale è

La statistica di bontà di adattamento L’RSE fornisce una misura assoluta di adattamento del modello ai dati. Ma poiché è misurata inunità di , non è sempre chiaro quale sia un buon RSE per i dati in esame.

La statistica fornisce una misura di adattamento alternativa. Ha valore sempre compresotra 0 e 1, ed è indipendente dalla scala di .

dove

TSS misura la varianza totale nella variabile risposta ,

RSS misura la quantità di variabilità che rimane inspiegata dopo aver adattato la regressione.

Quindi, TSS­RSS misura la quantità di variabilità in che viene spiegata (o rimossa)eseguendo la regressione e misura la proporzione di variabilità in che può esserespiegata con .

Abbiamo dunque le seguenti regole interpretative : tutti i punti sono allineati lungo la retta

: = 0H0 β1 : ≠ 0H0 β1

R2

y = + x + εβ0 β1ε

β0 β1Y X

ε V ar(ε)− −−−−−√

RSE = =RSS1

n − 2

− −−−−−−−−√ ( −1

n − 2∑i=1

n

yi y i)2

− −−−−−−−−−−−−−−−√RSE = 3.26

3.26

3260

140003260/14000 = 23%

R2

Y

R2

Y

= = 1 −R2 TSS − RSS

RSS

RSS

TSS

TSS = ( −∑ni=1 yi y)2

Y

Y

R2 Y

X

= 1R2

= 02

Page 8: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 8/14

: non vi è alcuna relazione lineare (punti sparsi in modo casuale) nei casi intermedi

non dice nulla sull’intensità della relazione (valore di ).

Nel set di dati Advertising , e quindi poco meno di due terzi della variabilità dellevendite si spiega con la pubblicità TV.

Grafici ## Warning: package 'ggplot2' was built under R version 3.2.2

Esempio: DiamondIl dataset diamond dalla libreria UsingR contiene i prezzi di una serie di diamanti (in dollari diSingapore) ed il loro peso in carati.

Per caricare i dati è necessario installare prima il pacchetto UsingR . Con i comandi names e head èpossibile vedere, rispettivamente, i nomi delle variabili del dataset e le prime righe di dati

= 0R2

0 < < 10R2

R2 β1

= 0.61R2

R2

48

Page 9: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 9/14

library(UsingR)data(diamond)

names(diamond)head(diamond)

[1] "carat" "price"

carat price

0.17 355

0.16 328

0.17 350

0.18 325

0.25 642

0.16 342

Alcune statistiche e plotsummary(diamond)

carat price Min. :0.12 Min. : 223 1st Qu.:0.16 1st Qu.: 338 Median :0.18 Median : 428 Mean :0.20 Mean : 500 3rd Qu.:0.25 3rd Qu.: 657 Max. :0.35 Max. :1086

plot(diamond$price,diamond$carat, xlab = "Massa (carati)", ylab = "Prezzo (SIN $)", bg = "red", col = "black", cex = 1.5, pch = 21, frame = FALSE)

Page 10: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 10/14

RLS con R e outputreg<‐lm(price ~ carat, data = diamond)summary(reg)

Page 11: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 11/14

Call:lm(formula = price ~ carat, data = diamond)

Residuals: Min 1Q Median 3Q Max ‐85.16 ‐21.45 ‐0.87 18.97 79.37

Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) ‐259.6 17.3 ‐15.0 <2e‐16 ***carat 3721.0 81.8 45.5 <2e‐16 ***‐‐‐Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 32 on 46 degrees of freedomMultiple R‐squared: 0.978, Adjusted R‐squared: 0.978 F‐statistic: 2.07e+03 on 1 and 46 DF, p‐value: <2e‐16

Il ­test relativo a carat è significativo ( ­value ). Ossia i caratihanno capacità predittiva sul prezzo

In media ci si aspetta un aumento di prezzo pari a 3721.02 dollari per ogni incremento di uncarato del diamante

con gradi di libertà. I gradi di libertà corrispondono a ­ parametri dellaretta , in questo caso 2 (intercetta e pendenza). Da questo ad esempio ricaviamo che ci sono

dati nei training data

; l’adattamento dei punti alla retta è molto buono, come si vede anche dalgrafico.

­corretto e statistica F: si discuteranno nelle prossime lezioni

Retta stimata e ICplot(diamond$carat, diamond$price, xlab = "Massa (carati)", ylab = "Prezzo (SIN $)", bg = "red", col = "black", cex = 1.1, pch = 21,frame = FALSE)abline(reg, lwd = 2)

t p < 2e − 16 = 2 × (10)−16

RSE = 31.84 46 46 n

48

= 0.9783R2

R2

Page 12: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 12/14

IC per la rettaPer ottenere gli IC al 95% per i parametri della retta

confint(reg)

2.5 % 97.5 %(Intercept) ‐294 ‐225carat 3556 3886

Come ottenere un’intercetta più interpretabileL’intercetta è il prezzo atteso (dal modello) di un diamante di carati!

L’intercetta negativa non ha interpretazione nel contesto in esame, poichè non esistonodiamanti a carati

il valore ci permette comunque di fare una previsione corretta per diamanti in un range di caratisimile a quello presente nei training data.

−259.63 0

0

Page 13: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 13/14

se si desidera ottenere qualcosa interpretabile nel contesto in esame è possibile traslare l’asse in una zona dove ci sono dati. Questo si può fare semplicemente calcolando la regressione

di su

reg2 <‐ lm(price ~ I(carat ‐ mean(carat)), data = diamond)summary(reg2)

## ## Call:## lm(formula = price ~ I(carat ‐ mean(carat)), data = diamond)## ## Residuals:## Min 1Q Median 3Q Max ## ‐85.16 ‐21.45 ‐0.87 18.97 79.37 ## ## Coefficients:## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 500.1 4.6 108.8 <2e‐16 ***## I(carat ‐ mean(carat)) 3721.0 81.8 45.5 <2e‐16 ***## ‐‐‐## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## Residual standard error: 32 on 46 degrees of freedom## Multiple R‐squared: 0.978, Adjusted R‐squared: 0.978 ## F‐statistic: 2.07e+03 on 1 and 46 DF, p‐value: <2e‐16

Così dollari è il prezzo per un diamante (dei training data) di dimensione media (0.2042carati).

InterpolazionePer calcolare i valori interpolati dalla retta stimata per i training data, ci basta semplicemente (siricordi che abbiamo chiamato reg l’oggetto che contiene i risultati della procedura lm )

interp<‐predict(reg)attach(diamond)df<‐data.frame("Prezzo"=price, "Carati"=carat,"Prezzo modello"=interp)head(df)

Prezzo Carati Prezzo.modello1 355 0.17 3732 328 0.16 3363 350 0.17 3734 325 0.18 4105 642 0.25 6716 342 0.16 336

Previsioni

y

y x − x

500.1

Page 14: Regressione lineare semplicetaufer/Handout-pdf/3a RLS.pdf · 2015-10-05 · Regressione lineare semplice (un unico predittore ... Per il data set Advertising l’intervallo di confidenza

10/5/2015 Regressione lineare semplice

file:///C:/Users/emanuele.taufer/Dropbox/3%20SQG/Classes/3a_RLS.html 14/14

Per fare le previsioni sulla base di un predittore non presente nei training data è necessariocreare un data.frame che contiene i valori dei predittori

Proviamo a prevedere il prezzo per dei diamanti di 1, 2 e 3 carati

dfP<‐data.frame("carat"=c(1,2,3))predict(reg,dfP)

1 2 3 3461 7182 10903

E’ possibile ottenere gli IC per il valor medio previsto con

predict(reg,dfP,interval="confidence")

fit lwr upr1 3461 3330 35932 7182 6887 74783 10903 10443 11364

In questo caso gli intervalli ( lwr , upr ) ­ di livello 0.95 ­ forniscono un range di valori per il prezzomedio, dato il valore del predittore carat

Se nell’intervallo vogliamo considerare anche la variabilità data dal termine di errore (ossia la parteirriducibile) è necessario specificare l’opzione prediction

predict(reg,dfP,interval="prediction")

fit lwr upr1 3461 3315 36082 7182 6880 74853 10903 10439 11368

Si noti che gli intervalli così ottenuti sono più ampi rispetto ai precedenti

Riferimenti bibliograficiAn Introduction to Statistical Learning, with applications in R. (Springer, 2013)

Alcune delle figure in questa presentazione sono tratte dal testo con il permesso degli autori: G.James, D. Witten, T. Hastie e R. Tibshirani

x0

ε