Anteprima
Vedrai una selezione di 10 pagine su 45
Statistica III - Teoria + Pratica Pag. 1 Statistica III - Teoria + Pratica Pag. 2
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 6
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 11
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 16
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 21
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 26
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 31
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 36
Anteprima di 10 pagg. su 45.
Scarica il documento per vederlo tutto.
Statistica III - Teoria + Pratica Pag. 41
1 su 45
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Interpretazione per la stima di un coefficiente nella regressione poissoniana

Il valore di bj può essere interpretato come la variazione nel log della risposta a seguito di un incremento unitario di xj, a parità di tutto il resto. Quindi, se passo da xj a xj+1 (a parità di tutto il resto), la risposta media varia del (exp(bj)-1)*100%.

Interpretazione per l'intercetta

L'intercetta dà il numero medio del log/logit della risposta previsto dal modello quando le esplicative continue sono nulle e le esplicative qualitative sono pari alla modalità non codificata tramite dummy.

P-value del test per la bontà del modello lineare

Commentando l'ipotesi nulla, il valore numerico ottenuto e giustificando i gradi di libertà della statistica test: H0: b1 = b2 = ... = bj = R2 = 0 summary(mod) #statistica test F, test di Wald I gradi di libertà sono k al numeratore e n-k-1 al denominatore.

P-value del test per la bontà del modello

basato sulla devianza: <p>#H0: il modello è sufficientemente 'vicino' al modello saturo in termini di sup della logverosimiglianza</p> <p>pvalue.dev=1-pchisq(mod$deviance, mod$df.residual)</p> <p>#gdl=n-k-1</p> <p>#La devianza è "troppo alta" rispetto ai gdl se supera la soglia: 2 volte la radice della varianza del chi-quadro</p> <p>#Il modello fitta bene quando la devianza è < dei gdl o comunque poco superiore</p> <p>c. P-value del test per la bontà del modello basato sulla statistica di Pearson:</p> <p>#H0: il modello è sufficientemente 'vicino' al modello saturo in termini di sup della logverosimiglianza</p> <p>X2=sum(residuals(mod, type='pearson')^2) #statistica di Pearson</p> <p>pvalue.X2= 1-pchisq(X2, mod$df.residual) #I due test sono equivalenti solo asintoticamente</p> <p>d. P-value del test per la bontà del modello basato sul rapporto di verosimiglianza LRT:</p> <p>#H0: i coefficienti aggiunti sono```html

nulliLM0=as.numeric(logLik(mod.nullo))

LM=as.numeric(logLik(mod))

w.oss=-2*(LM0-LM)

p.value=1-pchisq(w.oss,diff.gdl)

#Il test di wald e LRT per confrontare due modelli che differiscono per un’esplicativa sono asintoticamente equivalenti,ma non sono lo stesso test

#e. P-value del test basato sulla differenza delle devianze:1-pchisq((mod$deviance-mod1$deviance),(mod$df.residual-mod1$df.residual))

#analogo ad anova(mod,mod1, test=’Chisq’) (non farti confondere dagli ***)

H0: i coefficienti aggiunti sono nulli

#TEST DI HOSMER-LEMESHOW (da usare in caso di dati sparsi)

X.HL= Σ (succ.oss-succ.att)^2/succ.att + Σ (insucc.oss-insucc.att)^2/insucc.att

pvalue=1-pchisq(X.HL,g-2) #H0: il modello è adeguato

#TEST PER LA VERIFICA DELLA SOVRADISPERSIONE

H0: assenza di sovradispersione

Toss=sum((data$risposta-(mean(data$risposta)))^2)/mean(data$risposta)

1-pchisq(Toss,(nrow(data)-1))

#SE LA DEVIANZA E' "TROPPO ELEVATA"

Prima di concludere che c’è

```

sovradispersione cerchiamo altre potenziali spiegazioni

#1. Dati sparsi: ripetizioni < 5 e/o successi stimati per l’i-esimo pattern < 1 (a occhio)data$risposta

#2. Correttezza modello (link, linearità, punti inusuali)par(mfrow=c(2,2))plot(mod)

#TRATTARE LA SOVRADISPERSIONE

#Si può:

1. stimare il parametro di dispersione e chiedere un summary del modello stimatophi=sum(residuals(mod,type="pearson")^2)/df.residual(mod)

#stima parametro di dispersione: X^2/gdl (nel modello poisson dovrebbe essere 1)summary(mod, dispersion=phi)

2. stimare il glm con family quasi-verosimiglianzasummary(glm(y~.,family=quasipoisson,data))

#le stime dei parametri non cambiano mentre vengono aggiustati gli SE e quindi la significatività osservata. Infatti gliSE vengono moltiplicati per sqrt(phi).NB: usando la quasi-verosimiglianza non posso più usare la devianza e tutte le qnt. che la coinvolgono (perde disignificato)

#FORNIRE IL PATTERN DELLE ESPLICATIVE CHE DÀ

Il maggior contributo alla devianza è dato da:

residuals(mod)^2

Le devianze dei pattern, se sommate, danno la devianza del modello.

Per valutare quale modello preferire tra mod e mod1 (modelli annidati), si può utilizzare il test:

anova(mod, mod1, test='Chisq')

Il test è basato sulla differenza di devianze e l'ipotesi nulla (H0) è che i coefficienti aggiunti nel modello più complesso siano nulli.

Per valutare i modelli basandosi su criteri, si può utilizzare il criterio AIC:

AIC(mod)
AIC(mod1)

Per calcolare il R^2 di Naglekerke tra modelli annidati, si può utilizzare la seguente formula:

n = sum(successi + insuccessi)
R2.NAG = (1 - exp((mod$dev - mod$null) / n)) / (1 - exp((-mod$null) / n))

Il valore di R2.NAG rappresenta la percentuale di spiegazione della varianza del modello corrente rispetto al modello saturo.

Per effettuare una selezione stepwise basata sull'AIC, si può utilizzare:

step(mod)

Le procedure backward e forward porteranno alla stessa conclusione.

Per fornire un test e un grafico per gli outlier, si può utilizzare la libreria "car" e i seguenti comandi:

outlierTest(mod)
plot(rstandard(mod))
abline(h = c(-2, 2))

Per fornire un test e un grafico per i punti di leva, si può utilizzare il seguente codice:

k = 4
soglia = 2 * (k + 1) / n
hatvalues(mod)[hatvalues(mod) > soglia]
plot(hatvalues(mod))
#graficamenteabline(h=soglia)

Disegna una linea orizzontale sul grafico al valore della soglia.

#PUNTO PIU’ INFLUENTEwhich.max(cooks.distance(mod))

Trova l'indice del punto più influente utilizzando la distanza di Cook.

influencePlot(mod)

Mostra un grafico riassuntivo per outlier, punti di leva e punti influenti.

influence.measures(mod)

Calcola le misure di influenza per il modello.

#RESIDUIresiduals(mod) o residuals(mod,type="deviance")

Fornisce i residui del modello utilizzando il metodo di devianza.

residuals(mod,type="pearson")

Fornisce i residui del modello utilizzando il metodo di Pearson.

residuals(mod,type="response")

Fornisce i residui del modello in termini di risposta: frequenza relativa osservata - probabilità stimata.

residuals(mod,type="working") o mod$residuals

Fornisce un tipo di residui sotto prodotto della procedura IRLS, non servono per la diagnostica.

#LEVERAGEOra la hat matrix H e'funzione oltre che delle esplicative anche della risposta influence(mod)$hat o hatvalues(mod)

Calcola la matrice H di leva del modello, che è una funzione sia delle variabili esplicative che della risposta.

sum(hatvalues(mod))=k+1

La somma dei valori della matrice H è uguale a k+1, dove k è il numero di variabili esplicative.

#RESIDUI STANDARDIZED E JACK-KNIFED (INT. O EST. STUDENTIZZATI)le funzioni sono le stesse degli lm: rstandard(mod) e rstudent(mod)

Calcola i residui standardizzati e studentizzati del modello utilizzando le stesse funzioni degli lm.

devianza o di pearson (occorre specificare il type="")rstudent no (sono solo un'approssimazione (di Williams) dei veri residui jack-knifed)#DATO LO Z-VALUE CALCOLO IL P-VALUEz.value=summary(mod)$coef[1,3]2*(1-pnorm(abs(z.value)))#DATO IL P-VALUE CALCOLO LO Z-VALUEp.value=summary(mod)$coef[1,4]qnorm(1-p.value/2)*(-1)#DIAGNOSTICA PER FORMA STRUTTURALE:#a. Linearità. Plot eta.hat (predittore lineare stimato) e e^DS (residui di devianza standardizzati)#aspettativa: linearitàplot(mod$lin, rstandard(mod)) #se non lineare provo ad aggiungere nel modello il coefficiente: predict(mod)^2 evaluto se è significativo#b. Link. Plot di eta.hat vs zeta.hat (stima pseudo-risposte)#aspettativa: andamento rettilineo. Se no: link inopportunoderivata=1/(fitted(mod)*(1-fitted(mod))) #Binomial regressionderivata=1/(fitted(mod) #Poisson regressionzeta.hat=mod$lin+(y.i-fitted(mod))*derivataplot(mod$lin,zeta.hat)#c. Funzione di varianza. mu.hat (risposta media stimata) vsil testo formattato con i tag html sarebbe il seguente:

residui standardizzati (di devianza o di pearson)

#SI FORNISCA UN GRAFICO UTILE A VALUTARE L’APPROPRIATEZZA DELLA FUNZIONE DI VARIANZA

aspettativa: dispersione costante

plot(fitted(mod),rstandard(mod))

#DIAGNOSTICA GRAFICA DI BASE FORNITA DA R PER IL MODELLO STIMATO

Non funziona nel caso di dati sparsi

par(mfrow=c(2,2))

plot(mod)

#GRAFICO 1: RESIDUALS VS FITTED. Valuto l’evidenza di non linearità (eta.hat vs residui di devianza (eD))

#GRAFICO 2: NORMAL Q-Q. Valuto la normalità asintotica dei residui. Qualche osservazione da indagare meglio?

#GRAFICO 3: SCALE-LOCATION. Valuto problemi nella funzione di varianza (eta.hat vs sqrt(eDS))

#GRAFICO 4: RESIDUALS VS LEVERAGE. Valuto l’anomalia di singole osservazioni (h.ii vs ePS)

a. i residui usati sono quelli di devianza

b. i fitted values sono in termini di predittore lineare g(mui) e non di valori previsti per la risposta (mui)

c. un leggero allontanamento dalla bisettrice nel QQ-plot e' frequente

Se valuto problemi diagnostici,

come prima cosa cerco di risolvere la linearità aggiungendo le esplicative al quadrato/cubo/log in base al trend del primo grafico, es: I(var^2) Così facendo potrei risolvere altri problemi diagnostici. Se ad esempio riesco a correggere la linearità trovando un modello che fitta molto bene, posso non preoccuparmi se la funzione di varianza non è buona. Elimino osservazioni sono in ultima spiaggia. Fornire un boxplot che riporti l'andamento della frequenza relativa di successi condizionato dai valori assunti di un'altra esplicativa: ```html esplicativa risposta data ``` Boxplot per la var1 distinti per le due modalità assumibili dalla var2: ```html factor(var2) var1 ``` Costruire un interaction plot che riporti la frequenza relativa dei successi (y) al variare di un'esplicativa (var1) distinto per il valore di un'altra esplicativa (var2): ```html var1 var2 data ``` Se i...Il testo formattato con i tag HTML è il seguente:

segmenti ottenuti non sono paralleli potrebbe essere necessario inserire nel mod l'interazione tra le 2 esplicative

#PLOT DELLE FREQUENZE RELATIVE AL VARIARE DI VAR1

plot(y.i~var1)

#PLOT DEL MODELLO STIMATO SOVRAIMPOSTO ALLE PROPORZIONI OSSERVATE

plot(freq.relativa.risposta~var1)

lines(var1,fitted(mod))

#PLOT DATI CON SOVRAIMPOSTA LA CURVA DEL MODELLO STIMATO

plot(x,y)

a=seq(0,90,0.5)

b=coef(mod)[1]+coef(mod)[2]*a #a moltiplica il coeff di x

lines(a,ilogit(b), type='l') #Se binomial

lines(a,exp(b), type='l') #se poisson

#Si disegni un grafico riportante la curva stimata al variare dei valori dell'esplicativa var1 (caso A) per uno studente che non è stato esposto al nuovo metodo di insegnamento e ha valore della variabile tuce pari alla sua media e (caso B) per uno studente che è stato esposto al nuovo metodo di insegnamento e ha valore della variabile tuce pari alla sua media. Il range per l'esplicativa deve essere (2,4).

plot(risposta~var1, xlim=c(2,4),ylim=c(0,1),pch=20)

x=seq(2,4,by=.1)

casoA=coef(mod)[1]+coef(mod)[3]*mean(tuce)+coef(mod)[4]*x

casoB=coef(mod)[1]+coef(mod)[2]+coef(mod)[3]*mean(tuce)+coef(mod)[4]*x

lines(x,

ilogit(casoA),type="l",lty=2)
lines(x, ilogit(casoB),type="l",lty=3)
legend(2,0.9,lty=c(2,3),legend=c("psi=0","psi=1"))
#Nel modello saturo la devianza, i residui di devianza e i gdl residui risultano tutti nulli
#la devianza residua di un lm coincide con la devianza di un glm
#Se un modello non mi convince (devianza ancora alta rispetto ai gdl) posso sempre provare tramite trasformate delle esplicative
#Numero di iterazioni del Fisher-Scoring: 4 dopo l'inizializzazione l'algortimo numerico di stima necessita di sole 3 iterazioni
#ZERO-INFLATED POISSON REGRESSION MODEL: trattamento della sovradispersione
Dettagli
Publisher
A.A. 2020-2021
45 pagine
12 download
SSD Scienze economiche e statistiche SECS-S/01 Statistica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Erika.Valle di informazioni apprese con la frequenza delle lezioni di Statistica III e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Milano - Bicocca o del prof Migliorati Sonia.