La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

6. Modello di Regressione di Poisson con R Enrico Properzi - A.A. 2010/2011.

Presentazioni simili


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

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

2 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(y i |x i ) = λ i = exp(x i ß) ossia la dipendenza di Y i da un insieme di variabili X i (regressione di Poisson) si possono utilizzare i GLM

3 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 1Q Median 3Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) < 2e-16 *** typeB < 2e-16 *** typeC *** typeD ** typeE Signif. codes: 0 *** ** 0.01 * (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à dellimbarcazione > 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 1Q Median 3Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) <2e-16 *** operation Signif. codes: 0 *** ** 0.01 * (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 dallanno di costruzione dellimbarcazione > 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 1Q Median 3Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) < 2e-16 *** construction *** construction ** construction Signif. codes: 0 *** ** 0.01 * (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à dellimbarcazione: 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 1Q Median 3Q Max Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.781e e <2e-16 *** months 5.959e e <2e-16 *** --- Signif. codes: 0 *** ** 0.01 * (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 lunico 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 1Q Median 3Q Max

9 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 7.762e e ** typeB 9.492e 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 4.775e e e-10 *** --- Signif. codes: 0 *** ** 0.01 * (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 * (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 Considerando lAIC il modello completo sembra essere il migliore. In questultimo caso oltre al coefficiente di typeE anche il coefficiente dellintercetta (β 0 ) risulta non essere significativo. La conferma arriva anche dallanalisi stepwise: > step(mod, direction="backward") Start: AIC= damage ~ type + construction + operation + months Df Deviance AIC 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 e e e+00 construction construction operation e e e-01 months 6.697e-05 Degrees of Freedom: 33 Total (i.e. Null); 24 Residual Null Deviance: Residual Deviance: 70.5 AIC: 188.4

12 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 allutilizzo 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 1Q Median 3Q Max

14 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 1.786e e typeB 6.701e e typeC e e * typeD e e typeE e e construction e e ** construction e e *** construction e e operation e e ** months 6.697e e e-05 *** --- Signif. codes: 0 *** ** 0.01 * (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 "6. Modello di Regressione di Poisson con R Enrico Properzi - A.A. 2010/2011."

Presentazioni simili


Annunci Google