Laboratorio di Probabilità e Statistica lezione 9 Massimo Guerriero Ettore Benedetti
Indice Lezione Prerequisiti dalla lezione scorsa Analisi di regressione: Cambiamenti di scala Schema generale sull analisi di regressione Analisi di regressione in ambito inferenziale Bande di confidenza Estensioni del modello di regressione
Prerequisiti dalla lezione scorsa Disegnare grafici di dispersione Costruzione del modello (es retta di regressione) Valutazione del modello Considerazioni, deduzioni sul modello (es trattamento outlier, significatività)
Cambiamenti di scala 1/3 Spesso ci si accorge dal grafico di dispersione dei dati che questi non si distribuiscono lungo una retta del tipo Y=a+bX Es > x<-c(75,76,77,78,79,80,81) > y<-c(21,155,117,107,92,89,8) > cor(x,y) [1] -09124984 > plot(x,y) > model<-lm(y~x) > abline(model, col="blue",lw=2) > yy<-predict(model,dataframe(x)) > e<-y-yy > plot(e) > abline(h=0, col="blue", lwd=2)
Cambiamenti di scala 2/3 L andamento dei punti nel grafico sembra di tipo esponenziale negativo quindi, se vogliamo ricondurci ad una forma funzionale lineare, possiamo passare ai logaritmi naturali Y = e -X log(y) = log(e -X ) = -X Vogliamo quindi pensare ad un modello di regressione lineare del tipo: log(y) = a+bx (trascuriamo il segno meno, verrà incluso nei coefficienti a e b)
Cambiamenti di scala 3/3 Abbiamo quindi semplicemente effettuato un cambiamento di scala sulla variabile Y Es > cor(x,log(y)) [1] -09559023 > plot(x,log(y)) > model2<-lm(log(y)~x) > abline(model2, col="blue",lw=2) < yy<-predict(model2,dataframe(x)) < e<-log(y)-yy < plot(e) < abline(h=0,col="blue",lwd=2)
Schema generale sull analisi di regressione 1 Decidere chi è la variabile dipendente (Y) e chi quella indipendente (X) 2 Rappresentare i dati su un grafico di dispersione: plot(x,y) 3 Se i dati non appaiono allineati, provare ad effettuare cambiamenti di scala 4 Calcolare l indice di correlazione: cor(x,y) se risulta troppo vicino a 0, non eseguire l analisi 5 Calcolare i coefficienti a e b della retta di regressione: lm(y~x) e rappresentarla sul grafico: abline(lm(y~x)) 6 Tracciare il grafico dei residui e calcolare R 2, se compaiono evidenti irregolarità, o l indice è troppo basso, il modello è sospetto (ripartire dal 3) 7 Utilizzare il modello per le previsioni con cautela (range conosciuto fissato xmin, xmax)
Consegna 1 Calcolare e confrontare R 2 per i due modelli che abbiamo visto nelle slide precedenti 2 Si sono raccolti i risultati di 7 prove di frenata a velocità diverse Studiare la relazione tra le due variabili spazio di frenata Y e velocità X, proponendo un modello interpretativo per spiegarle < x <- c(33, 49, 65, 33, 79, 49, 93) < y <- c(53, 145, 2121, 65, 3845, 1123, 5042) Suggerimento Provare con Y = a + b X
Indice Lezione Prerequisiti dalla lezione scorsa Analisi di regressione: Cambiamenti di scala Schema generale sull analisi di regressione Analisi di regressione in ambito inferenziale Bande di confidenza Estensioni del modello di regressione
Analisi di regressione in ambito inferenziale 1/2 L analisi di regressione può essere effettuata anche su osservazioni campionarie modellando gli errori con un opportuna legge di probabilità Il modello di regressione lineare diventa del tipo: Y i = a + bx i + ε i Dove le Y i sono variabili casuali per effetto delle ε i Ipotesi minimali fatte sugli errori del modello sono: E(ε i ) = 0 (errori centrati) Cov(ε i, ε j ) = 0 se i j (incorrelazione) Var(ε i ) = σ 2 costante (omoschedasticità)
Analisi di regressione in ambito inferenziale 2/2 I coefficienti a e b si calcolano sempre allo stesso modo, si può però migliorare la parte inferenziale del problema aggiungendo ulteriori ipotesi sugli errori ε i In particolare si può assumere che gli errori siano distribuiti come delle variabili casuali di tipo normale ovvero: ε i ~ N(0, σ 2 ) Questo implica due risultati importanti relativi alle distribuzioni degli stimatori a e b: a ~ N(a, σ a2 ) b ~ N(b, σ b2 ) Con σ a 2 = Var( a) = σ 2 1 n + n i=1 x2 n x i x n 2 e σ b 2 = Var( b) = n i=1 σ 2 x i x 2 n
Bande di confidenza 1/2 Sempre in ambito inferenziale, è possibile studiare intervalli di confidenza per la retta di regressione: le cosiddette bande di confidenza Esistono due tipi di bande di confidenza: 1 Bande di confidenza: forniscono un indicazione sulla qualità della retta di regressione stessa 2 Bande di previsione: Sono molto più larghe delle bande di confidenza, esprimono l attendibilità previsiva della retta di regressione
Bande di confidenza 2/2 Esempio in R: > data(cars) > attach(cars) > model<-lm(dist~speed) > plot(speed,dist) > abline(model, col="blue",lw=2) «confidence» > pc<-predict(model,interval="c") > matlines(speed,pc[,2:3],lty=1:1,col=6:6, lwd=2:2) «prediction» > pp<-predict(model,interval="p") > matlines(speed,pp[,2:3],lty=1:1,col=3:3, lwd=2:2) > detach()
Estensioni del modello di regressione 1/5 Molto spesso è riduttivo pensare che solo le variabili X e Y entrino in gioco in un modello di tipo lineare: L andamento di Y è intuitivamente spiegato da più variabili Stiamo parlando di un modello del tipo: Y= f(x 1, X 2,, X k ) Che assume il seguente aspetto: Y = β 0 + β 1 X 1 + β 2 X 2 + + β k X k dove β =(β 0, β 1,, β k ) è il vettore dei coefficienti del modello Come nel caso unidimensionale, si suppone che vi sia un errore gaussiano: yi = β 0 + β 1 x i1 + β 2 x i2 + + β k x ik + ε i
Estensioni del modello di regressione 2/5 Tale modello (con ε i ), può essere scritto in forma matriciale: Dove: y = Xβ y = (y1, y2,, yn) e X = 1 1 1 x 11 x 21 x n1 x 12 x 22 x n2 x 1k x 2k x nk
Estensioni del modello di regressione 3/5 In R: Vediamo un applicazione di modello con 2 regressori: > x1<-dataset$hlib_lv > x2<-dataset$hlib_we > y<-dataset$h_pc > lm(y~x1+x2) Call: lm(formula = y ~ x1 + x2) Coefficients: (Intercept) x1 x2 714214 01716 05690 Spesso i dati si presentano come dataframe, quindi si può usare la forma contratta: > lm(h_pc ~ hlib_lv + hlib_we, data=dataset) Call: lm(formula = h_pc ~ hlib_lv + hlib_we, data = dataset) Coefficients: (Intercept) hlib_lv hlib_we 714214 01716 05690
Estensioni del modello di regressione 4/5 In R: Infine, se si vuole un modello passante per l origine, si deve includere «-1» tra i regressori, ovvero: > lm(h_pc ~ hlib_lv + hlib_we -1, data=dataset) Call: lm(formula = h_pc ~ hlib_lv + hlib_we - 1, data = dataset) Coefficients: hlib_lv hlib_we 4325 6901
Estensioni del modello di regressione 5/5 - Rappresentazione Grafica - > x1<-dataset$hlib_lv > x2<-dataset$hlib_we > y<-dataset$h_pc > model<-lm(y~x1+x2) > installpackages("scatterplot3d") > library("scatterplot3d") > scatter<-scatterplot3d(x1, x2, y,highlight3d=t) > scatter$plane3d(model)
Consegna 1 Riprendendo il secondo esercizio dell ultima consegna della lezione scorsa (numero 8), calcolare le bande di confidenza e quelle di previsione 2 Provare ad installare il pacchetto scatterplot3d dalla sezione packages -> Install Packages, finita l installazione selezionarlo 3 Generare un modello che metta in relazione lineare la spesa per internet al mese spesa_mese con le ore passate al pc e sul table (h_pc, h_tablet) 4 Verificare se la relazione lineare potrebbe effettivamente esistere generando lo scatteplot3d