m <- lm(ricavi ~ sau + ulut + capimp) > summary (m) Call: lm(formula = ricavi ~ sau + ulut + capimp) Residuals: Min 1Q Median 3Q Max">

La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

4. Modello di Regressione lineare con R parte - 2 Enrico Properzi - A.A. 2010/2011.

Presentazioni simili


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

1 4. Modello di Regressione lineare con R parte - 2 Enrico Properzi - A.A. 2010/2011

2 Il file azfrutt.txt contiene alcuni dati tratti dai bilanci di un campione di aziende agricole: codazCodice dellazienda ote orientamento produttivo ricaviproduzione lorda vendibile capimpcapitale impiegato ulutunità lavorative totali sausuperficie agricola frutta <- read.table("azfrutt.txt", header=T) str(frutta) 'data.frame': 36 obs. of 6 variables: $ cod : int $ ote : int $ ricavi: int $ capimp: int $ ulut : num $ sau : num

3 La variabile ote riporta le tipologie di coltura prevalenti 31 viticoltura 32 frutta Dobbiamo trasformarle in fattori: frutta$ote <- factor(frutta$ote, labels=c("viticoltura", "frutta")) Studiamo inizialmente un modello di regressione in cui la produzione sia funzione della superficie agricola (sau), del lavoro (ulut) e del capitale (capimp). ricavi = β 0 + β 1 sau + β 2 ulut + β 3 capimp + ε > m <- lm(ricavi ~ sau + ulut + capimp) > summary (m) Call: lm(formula = ricavi ~ sau + ulut + capimp) Residuals: Min 1Q Median 3Q Max

4 Stime dei coefficienti e test per la verifica di ipotesi che siano significativamente diversi da 0: Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.393e e * sau 1.907e e e-06 *** ulut 2.500e e capimp 2.456e e * --- Signif. codes: 0 *** ** 0.01 * Indicatori per la valutazione della bontà di adattamento del modello: Residual standard error: on 32 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 3 and 32 DF, p-value: 7.803e-10

5 Per poter confrontare i coefficienti di regressione parziale tra loro, è necessario calcolare i coefficienti di regressione standardizzati: coef(m)[2]*(sd(sau)/sd(ricavi)) sau coef(m)[3]*(sd(ulut)/sd(ricavi)) ulut coef(m)[4]*(sd(capimp)/sd(ricavi)) capimp

6 Verifichiamo le assunzioni del modello OLS: par(mfrow=c(2,2)) plot(m) par(mfrow=c(1,1))

7 Tra le variabili indipendenti della formula del comando lm è possibile inserire anche variabili di tipo factor Utilizzando i dati dellesempio precedente(aziende agricole) possiamo introdurre un nuovo regressore di tipo qualitativo: ote Consideriamo il modello: ricavi = β 0 + β 1 sau + β 2 ote + β 3 capimp + ε in cui la variabile fattore ote può assumere due modalità: viticoltura o frutta. Nellutilizzare questo fattore, R considera la variabile dummy con valore 0 quando ote = viticoltura 1 quando ote = frutta

8 m1 <- lm(ricavi ~ sau + ote + capimp) > summary(m1) Call: lm(formula = ricavi ~ sau + ote + capimp) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.660e e *** sau 1.680e e e-06 *** otefrutta 8.663e e * capimp 2.249e e * --- Signif. codes: 0 *** ** 0.01 * Residual standard error: on 32 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 3 and 32 DF, p-value: 1.338e-10

9 Volendo interpretare il significato dei coefficienti possiamo dire che: Ogni ettaro di superificie agricola in più determina un incremento di euro di ricavi. Questo è valido sia per le aziende con vite sia per quelle con frutta. Ogni euro di capitale investito determina un incremento di euro di ricavi. Questo è valido sia per le aziende con vite sia per quelle con frutta. A parità degli altri fattori, le aziende frutticole tendono ad avere ricavi di euro più alti rispetto a quelle viticole. ricavi = β 0 + β 1 sau + β 3 capimpse vinicola ricavi = (β 0 + β 2 ) + β 1 sau + β 3 capimpse frutticola

10 >plot(sau, ricavi, col=c("blue", "red")[ote])> plot(capimp, ricavi, col=c("blue", "red")[ote])

11 Il problema che spesso si deve affrontare nella costruzione di un modello di regressione riguarda la scelta delle variabili esplicative. Nel modello bisognerebbe includere quelle variabili esplicative la cui varaizione apporta un contributo reale alla variazione della variabile risposta. In genere aumentando il numero di regressori inseriti nel modello la devianza dei residui tende a diminuire. Tuttavia alcune variabili esplicative potrebbero risultare statisticamente significative, e quindi venire incluse nel modello, unicamente per fattori dovuti al caso. AL contrario variabili esplicative logicamente fondamentali potrebbero risultare statisticamente non significative ed essere così escluse dal modello. La strategia complessiva della scelta di varaibili si può articolare nelle seguenti fasi: Decidere quali sono le variabili che costituiscono linsieme più ampio dei k regressori Trovare uno o più sottoinsiemi di variabili (p) che spiegano bene la variabile risposta Applicare una regola di arresto per decidere quante variabili esplicative usare Stimare i coefficienti di regressione Saggiare la bontà del modello ottenuto SELEZIONE DI VARIABILI E AGGIORNAMENTO DEL MODELLO

12 Il problema della scelta della regola di arresto viene risolto con lAkaike Information Criterion (AIC) o il Bayes Information Criterion (BIC) entrambi basati sui logaritmi della verosimiglianza AIC = -2*logL + k*df dove: L è la verosimiglianza df sono i gradi di libertà k i parametri Il comando AIC(modello) fornisce il valore di AIC per il modello stimato Il comando AIC(modello, k=log(n)), dove n = numero di osservazioni, fornisce il valore di BIC del modello.

13 Consideriamo il dataset risparmi.txt relativo ai dati economici di 50 paesi. dpi è il reddito disponibile pro-capite in dollari USA, ddpi è il tasso percentuale di variazione del reddito disponibile pro capite, RS è il risparmio personale aggregato diviso per reddito disponibile. pop15 è la percentuale di popolazione sotto i 15 anni pop75 è la percentuale di popolazione oltre i 75 anni. risparmi <- read.table("risparmi.txt", header=T) str(risparmi) 'data.frame': 50 obs. of 6 variables: $ Nazione: Factor w/ 50 levels "Australia","Austria",..: $ sr : num $ pop15 : num $ pop75 : num $ dpi : num $ ddpi : num

14 Innanzitutto consideriamo un modello con tutti i predittori: g <- lm(sr ~ pop15 + pop75 + dpi + ddpi) summary(g) Call: lm(formula = sr ~ pop15 + pop75 + dpi + ddpi) Residuals:14 Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) *** pop ** pop dpi ddpi * --- Signif. codes: 0 *** ** 0.01 * Residual standard error: on 45 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 4 and 45 DF, p-value:

15 Notiamo che alcuni regressori risultano poco significativi, in particolare dpi. Potremmo stimare un secondo moello escludendo questa variabile dai regressori: g2 <- lm(sr ~ pop15 + pop75 + ddpi) summary(g2) Call: lm(formula = sr ~ pop15 + pop75 + ddpi) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) *** pop ** pop ddpi * --- Signif. codes: 0 *** ** 0.01 * Residual standard error: on 46 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 3 and 46 DF, p-value:

16 Potrei eliminare anche il regressore pop75, che non risulta significativo g3 <- lm(sr ~ pop15 + ddpi) summary(g3) Call: lm(formula = sr ~ pop15 + ddpi) Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) e-08 *** pop *** ddpi * --- Signif. codes: 0 *** ** 0.01 * Residual standard error: on 47 degrees of freedom Multiple R-squared: , Adjusted R-squared: F-statistic: on 2 and 47 DF, p-value: Per la scelta del modello si può far ricorso allAIC AIC(g)AIC(g2) AIC(g3) [1] [1] [1]

17 Il comando steo consente di effettuare unanalisi di regressione stepwise, basata sul criterio AIC. Nellargomento direction si può indicare se usare una procedura: Backward Forward Oppure entrambe (both) gstep <- step(g, direction="backward") Start: AIC=138.3 sr ~ pop15 + pop75 + dpi + ddpi Df Sum of Sq RSS AIC - dpi pop ddpi pop Step: AIC= sr ~ pop15 + pop75 + ddpi Df Sum of Sq RSS AIC pop ddpi pop


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

Presentazioni simili


Annunci Google