Una forma molto comune di dato `e il numero di volte in cui un certo evento si verifica, o equivalente-mente il tasso con cui esso si presenta in un numero variabile di osservazioni. Se gli eventi si verificano indipendentemente e allo stesso tasso allora, nel tentativo di legare fra loro la variabile dipendenteY (numero di conteggi) e la matrice deippredittoriX, si pu`o usare la distribuzione di Poisson:
Y ∼P oisson(βX).
Questo tipo di modellizzazione `e inappropriato se gli eventi tendono ad avvenire in modo clusterizzato o se la dipersione del numero dei conteggi non `e ben descritta da una distribuzione di Poisson (che, si ricorda, ha varianza pari al valor medio). In particolare, se la dispersione dei conteggi `e significativa-mente pi`u elevata della loro media, si ha il caso di iperdispersione, che `e associabile a una distribuzione binomiale negativa delle variabiliY.
In Sec. 2.2.2 si `e visto un esempio di classificazione di conteggi in base a due fattori in una tabella di contingenza. L’analisi che viene introdotta ora si basa su un approccio molto pi`u versatile che passa attraverso la definizione e il fit di un modello lineare generalizzato. Data la particolare funzione di link che si usa si parla di modello log-lineare. Le tecniche matematiche che sono alla base di queste modellizzazioni sono ampiamente descritte in [20]. Senza scendere nei dettagli, sono riportati di seguito gli aspetti principali della problematica.
6.5 Regressione di Poisson e modelli log-lineari 123
6.5.1 Modelli log-lineari e tabelle di contingenza
Nel caso di tabella di contingenza a due (o eventualmente pi`u) chiavi di classificazione, si pu`o mo-dellizzare il valore di aspettazione di variabiliY, i cui valori campionariy sono il numero di conteggi nelle celle della tabella (o iper-tabella), come un prodotto di variabili (vedi [20]). La funzione di link logaritmica produce un modello log-lineare:
logY =βX
doveX `e la matrice dei predittori eβ il vettore dei parametri da stimare. InRl’indagine si condurr`a fittando il modello lineare generalizzato, facendo nuovamente uso della funzione glm. Dato che il disegno sperimentale pone spesso dei vincoli sui valori dei conteggi disposti in tabella (ad esempio il totale generale `e fissato dallo sperimentatore, e cos`ı possono esserlo i totali marginali), tali informazioni devono essere incorporate nel modello.
La bont`a di un modello si pu`o stabilire esaminando i residui standardizzati o residui di Pearson, definiti come:
ri= yi−yˆi
√yˆi
doveyi sono le frequenze osservate nelle celle della tabella e ˆyi quelle teoriche previste dal modello.
La somma dei quadrati dei residui `e legata alla distribuzioneχ2 dato che:
x2=X
i
r2i
`e il valore campionario di una variabileχ2 a n−pgradi di libert`a, doven`e il numero totale di celle della tabella epil numero di parametri stimati dal modello (compreso il termineb0).
Per stabilire se una o pi`u variabili possano essere, dal punto di vista statistico, rimosse dal mo-dello senza produrre peggioramenti significativi `e possibile confrontare, come nel caso di regressione logistica, le devianze dei due modelli. Nel caso di modelli log-lineari la devianza `e definita come:
D= 2 X
i
yilogyi
ˆ
yi −(yi−yˆi)
Dato che questo tipo di studio `e solitamente finalizzato a verificare (o confutare) l’indipendenza fra i fattori di classificazione, saranno proprio le interazioni fra i fattori a dover essere analizzate.
Per un esempio pratico si riprendono i dati di Sec. 2.2.2, relativi alla valutazione di tre diverse cure.
In questo studio i pazienti venivano classificati a seconda del fatto che, in seguito alla cura seguita, fossero o no migliorati. Per condurre l’analisi con la funzioneglmsi inserisce il numero di pazienti nel vettoreconteggi, accompagnato dai fattoristato ecura che tengono traccia del miglioramento/non miglioramento del paziente e della cura somministrata:
> conteggi <- c(10,7,18, 21,30,17)
> stato <- factor(c(rep("migliorato", 3), rep("non migliorato", 3)))
> cura <- factor(rep(c("A","B","C"), 2))
Il testχ2 sulla tabella di contingenza era teso a verificare l’ipotesi di indipendenza fra i due fattori o, in altre parole, che la loro interazione non fosse significativa. Il calcolo svolto in Sec. 2.2.2 mostrava che tale interazione `e in questo caso al limite della alta significativit`a, portando a concludere che le tre cure non sono equivalenti.
Per riprodurre questa analisi fittando un modello log-lineare si usa la funzioneglmcon link di tipo poisson. I modelli senza e con interazione si fittano con le chiamate:
> mod <- glm(conteggi ~ stato + cura, family=poisson())
> mod1 <- glm(conteggi ~ stato * cura, family=poisson())
conteggi ulcera stato aspirina
62 G controllo NU
6 G controllo U
39 G caso NU
25 G caso U
53 D controllo NU
8 D controllo U
49 D caso NU
8 D caso U
Tabella 6.2: Studio caso-controllo per stabilire se l’aspirina `e un fattore di rischio per l’ulcera.
Per valutare la significativit`a dell’interazione si ricorre alla funzioneanovaper paragonare le devianze dei due modelli:
> anova(mod, mod1, test="Chisq") Analysis of Deviance Table Model 1: conteggi ~ stato + cura Model 2: conteggi ~ stato * cura
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1 2 8.6561
2 0 -2.665e-15 2 8.6561 0.0132
Si conclude che, in accordo a quanto trovato precedentemente, l’interazione fra i due fattori `e quasi altamente significativa.
E molto interessante notare che i valori dei conteggi previsti dal modello adittivo coincidono` esattamente con quelli della tabella teorica calcolata durante il testχ2. Infatti questi ultimi sono:
> chisq.test(matrix(conteggi, nc=2))$expected
[,1] [,2]
[1,] 10.53398 20.46602 [2,] 12.57282 24.42718 [3,] 11.89320 23.10680
mentre per il modello log-lineare si possono ottenere con la chiamata:
> e <- mod$fitted # valori previsti dal modello
> matrix(e, nc=2)
[,1] [,2]
[1,] 10.53398 20.46602 [2,] 12.57282 24.42718 [3,] 11.89320 23.10680
Il vantaggio dei modelli log-lineari `e che sono utilizzabili in situazioni pi`u complesse, quando i fattori in gioco sono pi`u di due, come nell’esempio seguente.
Esempio
In uno studio retrospettivo caso-controllo (analizzato in [20]), alcuni pazienti che soffrono di ulcera sono appaiati a pazienti simili che non ne soffrono. I pazienti che soffrono di ulcera sono classificati a seconda del sito dell’ulcera: gastrica (G) o duodenale (D). Si accerta quindi l’uso di aspirina fra i vari pazienti (U = utilizzatori di aspirina, NU = non utilizzatori). I risultati sono riportati in Tab. 6.2.
Si vuole stabilire se l’ulcera `e associata all’uso di aspirina e se l’effetto dell’aspirina `e diverso a seconda del sito dell’ulcera.
Si inizia l’analisi inserendo i dati:
6.5 Regressione di Poisson e modelli log-lineari 125
> conteggi <- c(62,6, 39,25, 53,8, 49,8)
> ulcera <- factor(c(rep("G",4), rep("D",4)))
> stato <- factor(rep(c("cont","cont","caso","caso"),2))
> aspirina <- factor(rep(c("NU","U"),4))
Per stabilire se l’aspirina `e un fattore di rischio per l’ulcera, si deve accertare la significativit`a dell’interazione fra le variabiliaspirinaestatodopo avere corretto per gli effetti delle altre variabili.
I modelli da confrontare sono quindi quello che contiene le variabilistatoeulcera, la loro interazione e la variabileaspirinacon quello che contiene anche l’interazione fra le variabiliaspirinaestato. I due modelli si fittano con le chiamate:
> mod <- glm(conteggi ~ ulcera * stato + aspirina, family=poisson())
> mod2 <- glm(conteggi ~ ulcera * stato + aspirina * stato, family=poisson())
Il modo migliore per stabilire la significativit`a dell’interazione `e paragonare le devianze dei due modelli:
> anova(mod, mod2, test="Chisq") Analysis of Deviance Table
Model 1: conteggi ~ ulcera * stato + aspirina
Model 2: conteggi ~ ulcera * stato + aspirina * stato Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1 3 21.7893
2 2 10.5384 1 11.2508 0.0008
La differenza fra i modelli `e altamente significativa. Si conclude quindi che l’aspirina pu`o essere considerata un fattore di rischio per l’ulcera. Un modo alternativo per verificare la significativit`a del termine di interazione `e quello di analizzare il test di Wald che viene presentato dalla chiamata:
> summary(mod2)
tuttavia, data la sua bassa potenza, per stabilire la significativit`a di un qualunque coefficiente `e preferibile eseguire il test sulle devianze.
Per stabilire se l’aspirina `e associata in modo differete a i siti di ulcera, si fitta il modello che comprende anche l’interazione fra le variabiliaspirinaeulcera:
> mod3 <- glm(conteggi ~ ulcera*stato*aspirina - ulcera:stato:aspirina, + family=poisson())
> anova(mod2, mod3, test="Chisq") Analysis of Deviance Table
Model 1: conteggi ~ ulcera * stato + aspirina * stato
Model 2: conteggi ~ ulcera * stato * aspirina - ulcera:stato:aspirina Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1 2 10.5384
2 1 6.2830 1 4.2555 0.0391
Il confronto di questo modello con il precedente raggiunge la significativit`a. Per interpretare questo risultato si possono esaminare i coefficienti del modello fittato:
> summary(mod3) [...]
Coefficients:
Estimate Std. Error z value Pr(>|z|) (Intercept) 3.81846 0.14515 26.307 < 2e-16 ***
ulceraG -0.06977 0.20415 -0.342 0.73254 statocont 0.21517 0.19172 1.122 0.26174
aspirinaU -1.37910 0.29514 -4.673 2.97e-06 ***
ulceraG:statocont 0.10574 0.26147 0.404 0.68590 ulceraG:aspirinaU 0.70005 0.34603 2.023 0.04306 * statocont:aspirinaU -1.14288 0.35207 -3.246 0.00117 **
(Dispersion parameter for poisson family taken to be 1) Null deviance: 127.749 on 7 degrees of freedom Residual deviance: 6.283 on 1 degrees of freedom AIC: 59.898
Dal fatto che il penultimo coefficiente del modello sia positivo si conclude che l’uso di aspirina `e un fattore di rischio maggiore per l’ulcera gastrica rispetto a quella duodenale.
Per quanto riguarda la bont`a di adattamento del modello finale, i residui di Pearson si ottengono con la chiamata:
> residuals(mod3,"pearson")
1 2 3 4 5 6 7
0.4529949 -1.1264726 -0.5318374 0.7468503 -0.4612175 1.6275938 0.5136050 8
-1.0235214
da cui si ha la statisticax2:
> sum(residuals(mod3,"pearson")^2) [1] 6.48795
Analizzando l’output della funzione summary dato in precedenza si nota che vi `e un solo grado di libert`a residuo, quindi il valoreP per il test di bont`a d’adattamento `e:
> 1 - pchisq(6.48795, 1) [1] 0.01086082
da cui si conclude che il modello non fitta particolarmente bene i dati pur impiegando 7 parametri per descrivere 8 rilevazioni.
Capitolo 7
Analisi della sopravvivenza
In alcuni esperimenti si misurano i tempi a partire da un ben definito istante iniziale fino al verificarsi di un particolare evento (che viene normalmente detto “failure” o “decesso”). Ad esempio, in campo medico rientrano in tale categoria studi longitudinali su pazienti a cui `e stata diagnosticata una malattia fino al momento del loro decesso, mentre in campo ingegneristico si pu`o pensare ai tempi di vita di un particolare componente meccanico o elettronico. Dati di questo genere sono caratterizzati solitamente da una distribuzione fortemente asimmetrica con una lunga coda destra. Dato che alcuni soggetti “sopravvivono” oltre il tempo di osservazione si ha il problema di non conoscere in quale particolare istante futuro essi andranno incontro al “decesso”. In questo caso si parla di dati troncati o censored. Il problema generale `e quello di valutare la probabilit`a di sopravvivenza in funzione del tempo, eventualmente in dipendenza da altre variabili in studio.