La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

LABORATORIO DI STATISTICA AZIENDALE

Presentazioni simili


Presentazione sul tema: "LABORATORIO DI STATISTICA AZIENDALE"— Transcript della presentazione:

1 LABORATORIO DI STATISTICA AZIENDALE
6. Modello di Regressione di Poisson con R Enrico Properzi - A.A. 2010/2011

2 E(yi|xi) = λi = exp(xi’ß)
Se la variabile risposta è una variabile di conteggio (e può assumere solo valori interi) e segue la distribuzione di Poisson e si vuole studiare la seguente relazione: E(yi|xi) = λi = exp(xi’ß) ossia la dipendenza di Yi da un insieme di variabili Xi (regressione di Poisson) si possono utilizzare i GLM

3 type -> tipo di imbarcazione construction -> anno di costruzione
Caso di studio: Si vuole studiare se il numero di incidenti subiti da un insieme di barche dipende da alcuni regressori: type -> tipo di imbarcazione construction -> anno di costruzione operation -> periodo di operatività months -> mesi di servizio effettuati barche <- read.table("ships.txt", header=T) str(barche) 'data.frame': 34 obs. of 5 variables: $ type : Factor w/ 5 levels "A","B","C","D",..: $ construction: Factor w/ 4 levels " "," ",..: $ operation : Factor w/ 2 levels " "," ": $ months : int $ damage : int

4 Costruiamo un primo modello in cui ipotizziamo che il numero dei danni dipenda soltanto dal tipo di imbarcazione: > mod_type <- glm(damage~type, family=poisson(link="log"), data=barche) > summary(mod_type) Call: glm(formula = damage ~ type, family = poisson(link = "log"), data = barche) Deviance Residuals: Min Q Median Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) < 2e-16 *** typeB < 2e-16 *** typeC *** typeD ** typeE --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: on 33 degrees of freedom Residual deviance: on 29 degrees of freedom AIC: Number of Fisher Scoring iterations: 6

5 Ora costruiamo un secondo modello in cui ipotizziamo che il numero di incidenti dipenda soltanto dal periodo di operatività dell’imbarcazione > mod_op <- glm(damage~operation, family=poisson(link="log"), data=barche) > summary(mod_op) Call: glm(formula = damage ~ operation, family = poisson(link = "log"), data = barche) Deviance Residuals: Min Q Median Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) <2e-16 *** operation --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: on 33 degrees of freedom Residual deviance: on 32 degrees of freedom AIC:

6 Costruiamo un altro modello in cui ipotizziamo che il numero di incidenti dipenda soltanto dall’anno di costruzione dell’imbarcazione > mod_con <- glm(damage~construction, family=poisson(link="log"), data=barche) > summary(mod_con) Call: glm(formula = damage ~ construction, family = poisson(link = "log"), data = barche) Deviance Residuals: Min Q Median Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) < 2e-16 *** construction *** construction ** construction --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: on 33 degrees of freedom Residual deviance: on 30 degrees of freedom AIC: Number of Fisher Scoring iterations: 6

7 Costruiamo infine un modello in cui ipotizziamo che il numero di incidenti dipenda soltanto dal numero di mesi di attività dell’imbarcazione: mod_mon <- glm(damage~months, family=poisson(link="log"), data=barche) > summary(mod_mon) Call: glm(formula = damage ~ months, family = poisson(link = "log"), data = barche) Deviance Residuals: Min Q Median Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.781e e <2e-16 *** months e e <2e-16 *** --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: on 33 degrees of freedom Residual deviance: on 32 degrees of freedom AIC: Number of Fisher Scoring iterations: 5

8 Da questa prima serie di analisi l’unico regressore che non sembra essere molto significativo è operation. Il modello che finora si adatta meglio ai dati è mod_mon (AIC è il più basso) Proviamo ora a costruire un modello completo che contiene tutti e quattro I regressori e uno che li contiene tutti tranne operation e verifichiamo quale è il migliore. mod_tcm <- glm(damage~type+construction+months, family=poisson(link="log"), data=barche) > summary(mod_tcm) Call: glm(formula = damage ~ type + construction + months, family = poisson(link = "log"), data = barche) Deviance Residuals: Min Q Median Q Max

9 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) e e ** typeB e e e-06 *** typeC e e *** typeD e e ** typeE e e construction e e e-09 *** construction e e e-09 *** construction e e *** months e e e-10 *** --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: on 33 degrees of freedom Residual deviance: on 25 degrees of freedom AIC: Number of Fisher Scoring iterations: 6 N.B: il coefficiente della variabile dummy typeE risulta non significativo: ciò indica che il numero di danni subiti dalle barche ti tipo E non è significativamente differente da quello delle barche di tipo A

10 > mod <- glm(damage ~type + construction+operation+months, family=poisson(link="log"), data=barche) > summary(mod) Call: glm(formula = damage ~ type + construction + operation + months, family = poisson(link = "log"), data = barche) Deviance Residuals: Min 1Q Median 3Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.786e e typeB 6.701e e ** typeC e e *** typeD e e ** typeE e e construction e e e-09 *** construction e e e-11 *** construction e e ** operation e e e-08 *** months 6.697e e e-15 *** --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: on 33 degrees of freedom Residual deviance: on 24 degrees of freedom AIC: Number of Fisher Scoring iterations: 5

11 La conferma arriva anche dall’analisi stepwise:
Considerando l’AIC il modello completo sembra essere il migliore. In quest’ultimo caso oltre al coefficiente di typeE anche il coefficiente dell’intercetta (β0) risulta non essere significativo. La conferma arriva anche dall’analisi stepwise: > step(mod, direction="backward") Start: AIC=188.36 damage ~ type + construction + operation + months Df Deviance AIC <none> - operation - type - construction - months Call: glm(formula = damage ~ type + construction + operation + months, family = poisson(link = "log"), data = barche) Coefficients: (Intercept) typeB typeC 1.786e e e+00 typeD typeE construction -8.294e e e+00 construction construction operation 1.500e e e-01 months 6.697e-05 Degrees of Freedom: 33 Total (i.e. Null); 24 Residual Null Deviance: Residual Deviance: AIC: 188.4

12 Qual è il modello definitivo che possiamo stimare?
Significato dei coefficienti: Covariate quantitative: Il coefficiente β9 relativo alla variabile quantitativa months indica che il logaritmo del valore atteso dei danni subiti da un imbarcazione aumenta di 6.697e-05 per ogni mese di attività in più. Di conseguenza il valore exp(β9) indica... Covariate qualitative (dicotomiche o politomiche): Il coefficiente β1 relativo alla variabile dummy typeB, invece, indica che le imbarcazioni di tipo B sono caratterizzate da un valore atteso condizionale di numero di danni subiti che è exp(0.67) volte quello delle barche di tipo A (prese come riferimento, nel caso in esame). Qual è il modello definitivo che possiamo stimare?

13 Problema della sovradispersione:
La distribuzione di Poisson (e il relativo modello di regressione) presenta un difetto importante: implica la condizione di equidispersione. Spesso questa condizione non è supportata dai dati. Risulta infatti frequente il caso di sovradispersione in cui V(y|x) > E(y|x) = exp(x’β) In R la sovradispersione si riconosce nel caso in cui la residual deviance è molto più grande dei gradi di libertà. In questo caso si può ricorrere all’utilizzo della quasi-verosimiglianza: > mod_quasi <- glm(damage~type+construction+operation+months, family=quasipoisson(), data=barche) > summary(mod_quasi) Call: glm(formula = damage ~ type + construction + operation + months, family = quasipoisson(), data = barche) Deviance Residuals: Min Q Median Q Max

14 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) e e typeB e e typeC e e * typeD e e typeE e e construction e e ** construction e e *** construction e e operation e e ** months e e e-05 *** --- Signif. codes: 0 ‘***’ ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for quasipoisson family taken to be ) Null deviance: on 33 degrees of freedom Residual deviance: on 24 degrees of freedom AIC: NA Number of Fisher Scoring iterations: 5 Osserviamo che alcuni coefficienti di regressione non risultano più significativi e che le stime dei loro standard error sono ora molto più grandi.


Scaricare ppt "LABORATORIO DI STATISTICA AZIENDALE"

Presentazioni simili


Annunci Google