La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

3. Modello di Regressione lineare con R Enrico Properzi - A.A. 2010/2011.

Presentazioni simili


Presentazione sul tema: "3. Modello di Regressione lineare con R Enrico Properzi - A.A. 2010/2011."— Transcript della presentazione:

1 3. Modello di Regressione lineare con R Enrico Properzi - A.A. 2010/2011

2 L'analisi della regressione è utilizzata per spiegare la relazione esistente tra una variabile Y (continua), detta variabile risposta, e una o più variabili esplicative dette anche covaraite, predittori, regressori o variabili indipendenti. In termini di funzione abbiamo: Alla prima componente, che rappresenta la parte della variabile risposta spiegata dai predittori, si deve aggiungere unna seconda componente, detta casuale, che rappresenta quella parte di variabilità della variabile dipendente che non può essere ricondotta a fattori sistematici oppure facilmente individuabili, ma dovuti al caso. Il legame funzionale può essere di qualunque tipo, e quando si utilizza una funzione di tipo lineare si parla di regressione lineare multipla o modello lineare che assume la seguente formulazione:

3 dove: - β 0 è l'intercetta o termine nullo - β 1, …, β k sono i coefficienti di regressione delle variabili esplicative Questi parametri, insieme alla varianza dell'errore, sono gli elementi del modello da stimare sulla base delle osservazioni campionarie. La stima dei parametri di un modello di regressione multipla con il software R viene eettuata mediante il comando lm(): lm(formula, data,....) dove: formula è il modello che deve essere analizzato e viene espresso nella forma: Y = X 1 + X 2 + … data è il data frame che contiene le variabili da analizzare E' possibile creare un oggetto di classe lm contenente i risultati e i parametri del modello stimato

4 Esempio: > peso <- c(80, 68, 72, 75, 70, 65, 62, 60, 85, 90) > altezza <- c(175, 168, 170, 171, 169, 165, 165, 160, 180, 186) > modello <- lm(peso ~ altezza) > plot(altezza, peso) > abline (modello, col="blue") > segments(altezza, fitted(modello), altezza, peso, lty=2) > title (main="Plot della regressione peso altezza")

5 > summary (modello) Call: lm(formula = peso ~ altezza) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) e-06 *** altezza e-07 *** --- Signif. codes: 0 *** ** 0.01 * Residual standard error: on 8 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 1 and 8 DF, p-value: 2.206e-07

6 Dalloggetto di classe lm è possibile estrarre i singoli valori avvalendoci di funzioni specifiche: coef ()coefficienti di regressione residuals ()residui del modello fitted()valori risposta stimati dal modello deviance()devianza dei residui formula()formula del modello anova() produce la tavola della varianza associata alla regressione > anova(modello) Analysis of Variance Table Response: peso Df Sum Sq Mean Sq F value Pr(>F) altezza e-07 *** Residuals Signif. codes: 0 *** ** 0.01 *

7 Nellanalizzare i risultati di una regressione deve essere verificato se le ipotesi sottostanti al modello dei minimi quadrati ordinari sono soddisfatte Per fare questo si può far ricorso ad alcuni grafici: 1. Il grafico dei residui contro i valori stimati permette di valutare se le ipotesi di omoschedasticità, media nulla e incorrelazione dei residui sono verificate. In un buon modello questo grafico dovrebbe apparire completamente casuale plot(fitted(modello), residuals(modello)) abline (0,0)

8

9 Il Q-Q plot permette di verificare se i residui sono distribuiti normalmente qqnorm(residuals(modello)) qqline(residuals(modello), col="red") Quanto più i punti che rappresentano i residui ordinati giacciono in prossimità della linea Q-Q tanto più è plausibile lassunzione di normalità

10 Il comando plot(modello) fornisce quattro grafici per la valutazione delle ipotesi sottostanti al modello; 1. Il grafico dei residuoi rispetto ai valori previsti consente di valutare se ci sono delle tendenze nella distribuzione dei residui stessi oppure una variabilità costante 2. Il Q-Q plot dei residui standardizzati permette di verificare se gli errori sono distribuiti normalmente 3. Lo scale-location plot è utilizzato per determinare se la distribuzione dei residui è costante su tutto il range dei valori previsti ed è utile nellindividuazione di valori outlier 4. Il grafico residuals vs leverage (residui standardizzati rispetto ai punti di leva) ha lo scopo di evidenziare se ci sono dati anomali che possono influenzare la stima del modello.

11 Per verificare che siano valide le ipotesi di base è possibile fare ricorso ad alcuni test specifici: Ad esempio, per verificare che la media degli errori non sia significativamente diversa da zero si utilizza il test t di Student: > t.test(resid(modello)) One Sample t-test data: resid(modello) t = 0, df = 9, p-value = 1 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: sample estimates: mean of x e-17

12 Il file prezzicase.txt contiene alcune informazioni su un un gruppo di immobili in vendita > case <- read.table("prezzicase.txt", header=T) > str(case) 'data.frame': 117 obs. of 7 variables: $ Price : int $ SQFT : int $ Age : Factor w/ 31 levels "*","1","13","14",..: $ Features: int $ NE : int $ Corner : int $ Tax : Factor w/ 96 levels "*","1010","1035",..: Si vuole studiare un modello di regressione in cui il prezzo delle case è funzione della superficie (SQFT), delletà dellimmobile (Age) e del numero di caratteristiche presenti tra un gruppo di 11 (Features: lavastoviglie, frigorifero, forno a microonde, ecc..)

13 Un primo step consiste nellanalisi delle relazioni che sussistono tra le variabili utilizzate mediante la valutazione della loro matrice di correlazione: > cor (case[,c("Price", "SQFT", "Features", "Age")]) Price SQFT Features Age Price SQFT Features Age Successivamente stimiamo il modello di regressione: > lmcase <- lm(Price~SQFT+Features+Age)

14 > summary(lmcase) Call: lm(formula = Price ~ SQFT + Features + Age) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) SQFT <2e-16 *** Features Age Signif. codes: 0 *** ** 0.01 * Residual standard error: 202 on 113 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 3 and 113 DF, p-value: < 2.2e-16

15 BONTA DI ADATTAMENTO: Un primo aspetto utile per la valutazione del modello di regressione è la valutazione della bontà di adattamento del modello (goodness of fit). Le statistiche maggiormente usate a questo scopo sono lerrore standard della stima e lR 2 Lerrore standard della stima (residual standard error) corrisponde allerrore standard dei residui e rappresenta un indice che esprime lampiezza dellerrore di misura del modello considerato. R 2 esprime la parte di varianza spiegata attraverso il modello. Varia sempre tra 0 e 1 e può essere interpretato come la percentuale di varianza della variabile dipendente spiegata dalle variabili indipendenti utilizzate nel modello.

16 VERIFICA CAPACITA PREDITTIVA DEL MODELLO Per verificare se la previsione della variabile dipendente Y migliora significativamente mediante il modello di regressione si pone a confronto la varianza spiegata dal modello con la varianza residua (non spiegata). Lipotesi H 0 che si sottopone a verifica è che la varianza spiegata sia uguale alla varianza residua, cioè che il modello non migliora lerrore di rpevisione della variabile dipendente. Per la verifica dellipotesi si usa il test F (rapporto tra le varianze) che si distribuisce come una variabile casuale F di Fisher

17 Si può anche effettuare lanalisi della varianza su tutte le variabili inserite nel modello > anova(lmcase) Analysis of Variance Table Response: Price Df Sum Sq Mean Sq F value Pr(>F) SQFT < 2e-16 *** Features Age Residuals Signif. codes: 0 *** ** 0.01 *

18 CONTRIBUTO DEI SINGOLI PREDITTORI Se abbiamo scartato H 0 possiamo approfondire lanalisi indagando il contributo di ciascun predittore considerato singolarmente. Si testa lipotesi che ciascun coefficiente stimato sia uguale a 0. Si utilizza per questo la statistica t: Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) SQFT <2e-16 *** Features Age Signif. codes: 0 *** ** 0.01 *

19 VERIFICA ASSUNZIONI OLS Una prima valutazione del rispetto delle ipotesi sottostanti al modello lineare si effettua utilizzando i grafici standard prodotti dal comando plot(modello) > par (mfrow=c(2,2)) > plot(lmcase)

20 La media dei residui, inoltre, non è significativamente diversa da zero: > t.test(resid(lmcase)) One Sample t-test data: resid(lmcase) t = 0, df = 116, p-value = 1 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: sample estimates: mean of x e-15

21 Quale modello finale???


Scaricare ppt "3. Modello di Regressione lineare con R Enrico Properzi - A.A. 2010/2011."

Presentazioni simili


Annunci Google