Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
0 .2 .4 .6 .8 1
Pr(dfree)
Capitolo 1
Introduzione al modello di regressione logistica
1.1. Premessa
Con la regressione lineare esaminiamo modelli del tipo:
Y = β 0 + β1 x1 + β 2 x2 + ... + β n xn + ε (1.1)
La variabile risposta Y è continua e il nostro scopo è individuare una serie di variabili esplicative che
ci aiutino a predirne il valore medio spiegando, in tal modo, la variabilità osservata dei risultati.
In molte situazioni, però, siamo interessati ad una variabile di risposta Y dicotomicaa. Il risultato di Y
può assumere pertanto solo due possibili valori; in generale, il valore 1 rappresenta un successo e il
valore 0 un insuccesso. La media della variabile casuale dicotomica, indicata con π, è la proporzione
di volte in cui la variabile assume il valore 1.
In questo caso, vorremmo stimare la probabilità π e determinare i fattori o le variabili esplicative
che ne influenzano il valore. A tal fine, utilizzeremo una tecnica nota come regressione logistica.
Per introdurre la necessità di tale modello, consideriamo il data set Chd-Age di seguito descritto:
Tab. 1.1
Code Sheet for the Chd-Age data
Variable Name Values
1 Identification Code (ID) 1-100
2 AGE Years
3 Evidence of Coronary Heart Disease (CHD) 0 = No, 1=Yes
Il nostro interesse consiste nel provare una relazione tra l’età (AGE) e la presenza/assenza di
malattia coronarica (CHD) intesa come variabile dipendente (outcome).
Per prima cosa tracciamo uno scatter-plot con CHD sull’asse delle ordinate e AGE sulle ascisse.
In questo scatter-plot (Fig. 1.1) tutti i punti giacciono su due linee parallele rappresentanti
rispettivamente l’assenza (CHD = 0) e la presenza (CHD = 1) di malattia coronarica.
Come si può vedere c’è una certa tendenza, negli individui con CHD = 0, ad essere più giovani
rispetto ai soggetti che hanno presenza di malattia coronarica (CHD = 1).
Se da un lato questo scatter-plot ben evidenzia la natura dicotomica della variabile risposta,
dall’altro non rende certamente chiaro l’eventuale condizionamento indotto dalla variabile AGE.
Il problema è che la variabilità di CHD, ad ogni età, è molto accentuata.
Un metodo abbastanza comune utilizzato per rimuovere almeno parte detta variabilità, consiste nel
suddividere la variabile indipendente AGE in intervalli e, all’interno di questi, calcolare la media della
variabile risposta, ossia la proporzione di soggetti con presenza di malattia coronarica.
Questo secondo scatter-plot è raffigurato in Fig. 1.2.
a
In realtà il modello logistico, con alcuni aggiustamenti, si dimostra adeguato per studiare
fenomeni in cui la variabile discreta di risposta (ordinale e non) sia classificata su più di due livelli.
1
Fig. 1.1
1
.8
.6
chd
.4
.2
0
20 30 40 50 60 70
age
Tab. 1.2
Frequency Table of Age Group by CHD
CHD
Group agrp count prop
absent present
1 20-29 10 9 1 0.10
2 30-34 15 13 2 0.13
3 35-39 12 9 3 0.25
4 40-44 15 10 5 0.33
5 45-49 13 7 6 0.46
6 50-54 8 3 5 0.63
7 55-59 17 4 13 0.76
8 60-69 10 2 8 0.80
Total 100 57 43 0.43
2
Fig. 1.2
1
.8
.6
prop
.4
.2
0
1 2 3 4 5 6 7 8
agrp
Dalla Fig. 1.2 la relazione tra presenza di malattia coronarica (prop) ed età (agrp) si fa più evidente:
più è elevata l’anzianità nei gruppi, maggiore è la percentuale di soggetti affetti da malattia
coronarica.
a
Nel caso di una variabile dicotomica la media condizionata deve essere compresa tra zero e
uno 0≤E(Yx)≤1
3
Anche questo modello non è tuttavia adeguato: sebbene non può produrre una stima negativa di π
può dar luogo a valori maggiori di 1.
Per correggere questa incongruenza, adottiamo un modello che preveda una sorta di
normalizzazione:
exp ( β 0 + β1 x )
π ( x) = = E ( Y | x ) = P ( Y = 1| x ) (1.4)
1 + exp ( β 0 + β1 x )
π ( x)
g ( x ) = log = β 0 + β1 x (1.6)
1 − π ( x)
La funzione logit, g(x) è lineare nei suoi parametri, è continua, e ha un range da più infinito a meno
infinito.
Tuttavia nel modello di regressione lineare si assume anche che la distribuzione condizionale della
variabile dipendente abbia media E(Y|x) e varianza costante. Nel caso di una variabile dicotomica, la
varianza della distribuzione condizionale della variabile dipendente assume il valore π(x)[1-π(x)], ossia
non è indipendente da x.
Nel modello di regressione si può dimostrare che, una volta assunta la normalità della distribuzione
degli errori, i parametri stimati con il metodo dei minimi quadrati sono anche stime di massima
verosimiglianza. Nel caso del modello logistico, venendo meno la normalità della distribuzione degli
errori, non potremo usare la stima dei minimi quadrati, ma dovremo stimare i parametri con il
metodo più generale della massima verosimiglianza.
Facciamo ora riferimento ad una variabile dicotomica Y codificata 0/1. In questo caso l’espressione di
π(x) data dalla (1.4) fornisce, per un arbitrario vettore β, la probabilità condizionale che Y sia uguale a
1 dato x. Ne consegue che la quantità 1-π(x) esprime la probabilità che Y sia uguale a zero dato x.
a
Si fa riferimento a un campione casuale (con reintroduzione o da popolazione infinita)
4
Quindi per ciascuna coppia (xi,yi), in cui yi =1, il contributo alla funzione di verosimiglianza è π(x), per
quelle coppie in cui yi=0, il contributo alla funzione di verosimiglianza è dato da 1-π(x). Possiamo
pertanto esprimere il contributo alla funzione di verosimiglianza per ogni coppia (xi,yi) attraverso la
seguente espressione:
1− yi
ζ ( xi ; β ) = π ( xi ) 1 − π ( xi )
yi
(1.7)
Poiché si assume che le osservazioni siano indipendenti, la funzione di verosimiglianza l(β) è ottenuta
come prodotto dei contributi singoli.
n
l ( β ) = ∏ π ( xi ) (1 − π ( x ) )
yi 1− yi
i (1.8)
i =1
Le stime di massima verosimiglianza dei parametri saranno quelle che massimizzano la funzione l(β).
Massimizzare direttamente la (1.8) non è agevole, è molto più semplice operare sulla funzione log
trasformata. Si introduce pertanto la funzione di log verosimiglianza e si fa riferimento alla
massimizzazione di quest’ultima per stimare i parametri.
{ }
n
L ( β ) = log l ( β ) = ∑ yi log π ( xi ) + (1 − yi ) log 1 − π ( xi ) (1.9)
i =1
n
∑ yi − π ( xi ) = 0
i =1
n (1.10)
x y − π ( x ) = 0
∑i =1
i i i
Si ottengono, in tal modo, delle equazioni che, a differenza del caso della regressione lineare, non
saranno lineari nei parametri e necessiteranno perciò di una soluzione numerica di tipo iterativo.
Il metodo della massima verosimiglianza fornisce le stime dei parametri della popolazione che con
maggiore probabilità sono in grado di determinare i valori campionari osservati, esso fornisce, in un
certo senso, i 'valori' dei parametri della popolazione che 'meglio si adattano' al campione osservato.
Inoltre, sotto condizioni generali, la stima di massima verosimiglianza presenta le seguenti proprietà
asintotichea:
1) efficienza, poiché ha varianza più piccola di ogni altro stimatore;
2) consistenza, cioè, non distorsione asintotica, con varianza tendente a zero;
a
Una proprietà asintotica è tale quando è verificata per grandi campioni. Nel caso di piccoli
campioni perciò, non è detto che la stima di massima verosimiglianza sia la miglior stima possibile dei
parametri dell'universo
5
3) distribuzione normale.
Una interessante conseguenza della prime delle (1.10) è che:
∑ y = ∑ πˆ ( x )
i i (1.11)
Cioè, la somma dei valori osservati di y è uguale alla somma dei valori attesi (predicted). Ciò sarà
estremamente utile quando si discuterà dell’adeguatezza del modello.
Come esemplificazione utilizziamo ancora il data set Chd-Age e, utilizzando sw ad hoc, realizziamo un
modello di regressione logistica con CHD come variabile dipendente e con AGE come covariata
predittiva. Il modello ottenuto è presentato in Tab.1.3.
Tab. 1.3
Results of Fitting the Logistic Regression Model to the Chd-Age data set
CHD Coef. Std. Err. z P>z [95% Conf.Interval]
AGE 0.110921 0.02406 4.61 0 0.063765 0.158078
_cons -5.30945 1.133655 -4.68 0 -7.53138 -3.08753
Log likelihood = -53.67656
Il valore del Log likelihood fornito dalla Tab. 1.3, è ottenuto dalla (1.9) calcolata usando i valori di
βˆ0 e βˆ1 .
a
I due modelli devono essere 'nested' ossia annidati. Il modello ridotto deve, in altri termini, contenere un
subset di covariate ottenuto dal modello completo. Il modello ridotto non potrà mai prevedere una covariata
che non sia anche inserita nel modello completo
6
possano eliminare, perché poco predittive, 2 (g) covariate. L'ipotesi nulla diventa il questo caso:
H o : β = ( 0,0, β g +1...β p )
ℓ ( reduced model )
G = −2log (1.14)
ℓ ( completed model )
E' ragionevole pensare che se il rapporto dei massimi delle funzioni di verosimiglianza con i due
modelli tende all'unità, e quindi la differenza fra i rispettivi logaritmi tende a zero, il contributo delle
g variabili sotto analisi sia praticamente trascurabile.
In effetti la funzione G si distribuisce, sotto H0, asintoticamente come una χ2 con g gradi di libertà
(numero di covariate perse nel passaggio da modello satured a modello reduced).1
Il valore di G consente, confrontato con il valore limite corrispondente di χ2, di rifiutare o non
rifiutare l'ipotesi nulla H0.
Applichiamo ora la (1.14) nel caso di un modello con una sola covariata. Tenute presente la (1.8) e la
prima delle (1.10) si haa:
n1 n1 n0 n 0
ℓ ( modello senza la variabile ) n n
G = −2log 1 = −2log (1.15)
ℓ 2 ( modello con la variabile )
n
( )
∏ πˆi (1 − πˆi )
yi 1− yi
i =1
n
G = 2 ∑ yi log ( πˆi ) + (1 − yi ) log (1 − πˆi ) − n1 log ( n1 ) + n0 log ( n0 ) − n log ( n ) (1.16)
i =1
a
Per il caso specifico di una singola variabile dipendente, è facile mostrare che, quando la variabile non è nel
modello, la stima di massima verosimiglianza di β0 è log ( n1 n0 ) dove n1 = ∑ yi e n0 = ∑ (1 − yi ) .
Dalla prima delle (1.10) si ha infatti:
exp ( β )
∑ yi − np = 0 → ∑ yi = n 1 + exp ( 0β ) → ∑ yi + exp ( β0 ) ⋅∑ yi = n ⋅ exp ( β0 )
0
e passando ai logaritmi:
∑y
log ( ∑ yi ) = exp ( β 0 ) ( n − ∑ yi ) → log ( ∑ yi ) = exp ( β 0 ) (∑y i
+ ∑ (1 − yi ) − ∑y i )→β 0 = log
i
∑ (1 − y ) i
7
Avvertenza
Particolare attenzione occorre osservare quando il modello prevede l'inserimento di una covariata
categorizzata su più di due valori. In questa situazione è possibile che le procedure automatiche
selezionino come significativo un solo livello categorico escludendo i rimanenti. Accettando questa
soluzione si commetterebbe un grave errore perché si avallerebbe un modello non ipotizzabile in
partenza.
Le variabili categoriche devono sempre essere inserite o escluse in toto dal modello.
A scopo esemplificativo consideriamo ancora il modello logistico applicato al data set Chd-Age e il cui
fitting è riportato in Tab. 1.3.
Sulla base dell’output ottenuto valutiamo se la variabile AGE è predittiva di CHD.
Dalla (1.14) otteniamo:
Poiché i due modelli (nested) differiscono per una sola covariata, il valore di G dovrà essere
confrontato con una distribuzione χ2 con un grado di libertà.
L’ipotesi nulla (AGE non predittiva) è rifiutata, pertanto la variabile AGE è da ritenersi predittiva.
Allo stesso risultato si perviene con l’uso della formula (1.16), ricordando che in questo caso n1 e n0
valgono rispettivamente 43 e 57.
{ }
G = 2 −53.667 − 43 ⋅ log ( 43 ) + 57 ⋅ log ( 57 ) − 100 ⋅ log (100 ) = 29.31 (1.18)
Sotto l’ipotesi nulla che βi = 0, il rapporto espresso dalla (1.19) segue la distribuzione normale
a
Si ricordi che il Wald test alle volte può comportarsi in modo aberrante, fallendo spesso di rifiutare l’ipotesi
nulla quando questa è vera.
8
standard (z).
Con riferimento al modello i cui fitting è riportato in Tab.1.3, il test di Wald, applicato al coefficiente
di AGE, porta al seguente risultato:
Si noti che:
4.612 = 21.25 ≅ G = 29.31
( )
βˆ1 ± z1−α 2 ⋅ se βˆ1 (1.21)
βˆ0 ± z1−α 2 ⋅ se ( βˆ )
0 (1.22)
Come nel caso della regressione lineare il termine costante (β0) fornisce la stima della risposta in
corrispondenza di un valore nullo della variabile indipendente .
Sovente tale valore nullo ha una scarsa rilevanza clinica: avrebbe ad esempio senso valutare la stima
della risposta in corrispondenza di AGE = 0?
E’ questa la ragione per cui, spesso, le covariate vengono centrate rispetto al loro valore medio.
Centrando la variabile AGE rispetto al suo valore medio si ottiene il modello riportato in Tab. 1.4.
Tab. 1.4
Results of Fitting the Logistic Regression Model to the Chd-Age data set and
Covariate Age Centered at the Mean (44.38 years)
CHD Coef. Std. Err. z P>z [95% Conf.Interval]
AGEC 0.110921 0.02406 4.61 0 0.063765 0.158078
_cons -0.38677 0.239719 -1.61 0.107 -0.85661 0.083067
9
Intervallo di confidenza del logit
Noti gli Standar Error (se) dei parametri, l’intervallo di confidenza del logit, in corrispondenza di un
generico valore di x risulta pari a:
gˆ ( x ) ± z1−α 2 ⋅ se gˆ ( x ) (1.23)
Dove se gˆ ( x ) è la radice quadrata positiva della varianza stimata del logit che si ricava dalla (1.24).
( ) ( ) (
gˆ ( x ) = βˆ0 + βˆ1 x → var gˆ ( x ) = var βˆ0 + x 2 var βˆ1 + 2 x ⋅ cov βˆ0 , βˆ1 ) (1.24)
Con riferimento al modello riportato in Tab. 1.3, stimiamo ora il logit e il relativo intervallo di
confidenza in corrispondenza di AGE = 50.
gˆ ( x = 50 ) = −5.31 + 0.111 ⋅ 50 = 0.240
Per calcolare l’intervallo di confidenza del logit si deve valutarne la varianza, e per far ciò
utilizzeremo la (1.24) una volta nota la matrice di covarianza delle stime dei coefficienti. Matrice che
viene di seguito riportata:
Tab. 1.5
Estimated Covariance Matrix of the
Estimated Coefficient in Tab. 1.3
AGE Constant
AGE 0.000579
Constant -0.026677 1.28517
se gˆ ( x = 50 ) = 0.2549
10
Intervalli di confidenza dei valori fittati
Gli intervalli di confidenza dei valori fittati si ricavano, tenuta presente la (1.4), direttamente dalla
(1.23):
exp gˆ ( x ) ± z1−α 2 ⋅ se gˆ ( x )
= exp ( 0.240 ± 1.96 ⋅ 0.2550 ) → 0.435; 0.677
{ } (1.25)
1 + exp gˆ ( x ) ± z1−α 2 ⋅ se gˆ ( x ) 1 + exp ( 0.240 ± 1.96 ⋅ 0.2550 )
Avvertenza
Gli intervalli di confidenza espressi dalla (1.25) non si riferiscono alla osservazione individuale, bensì
rappresentano gli intervalli di confidenza delle medie dei valori predetti in corrispondenza di un
generico valore della variabile indipendente x.
Ricordiamo infine che molti software permettono facilmente di calcolare i valori predetti della
probabilità e del logit, con i rispettivi intervalli di confidenza, in corrispondenza di un generico valore
assunto dalle covariate . Tali intervalli sono riportati rispettivamente in Fig. 1.3 e in Fig. 1.4.
Fig. 1.3
1
.8 .6
Probability
.4 .2
0
20 30 40 50 60 70
age
11
Fig. 1.4
4
2
Logit
0
-2
-4
20 30 40 50 60 70
age
12
Appplicazione Capitolo 1
Fig.1.1
. gen agrp=age
. recode agrp 20/29=1 30/34=2 35/39=3 40/44=4 45/49=5 50/54=6 55/59=7 60/69=8
(agrp: 100 changes made)
. list id age agrp chd
+------------------------+
| id age agrp chd |
|------------------------|
1. | 1 20 1 0 |
2. | 2 23 1 0 |
3. | 3 24 1 0 |
4. | 5 25 1 1 |
5. | 4 25 1 0 |
--------------------------------
--------------------------------
96. | 96 63 8 1 |
97. | 98 64 8 1 |
98. | 97 64 8 0 |
99. | 99 65 8 1 |
100. | 100 69 8 1 |
+------------------------+
Tab. 1.2
. sort agrp
. collapse (count) tot=chd (sum) present=chd, by(agrp)
. gen prop = present / tot
. gen absent = tot - present
. gen count = present + absent
+--------------------------------------------+
| agrp count absent present prop |
|--------------------------------------------|
1. | 1 10 9 1 .1 |
2. | 2 15 13 2 .1333333 |
3. | 3 12 9 3 .25 |
4. | 4 15 10 5 .3333333 |
5. | 5 13 7 6 .4615385 |
|--------------------------------------------|
6. | 6 8 3 5 .625 |
7. | 7 17 4 13 .7647059 |
8. | 8 10 2 8 .8 |
+--------------------------------------------+
Fig. 1.2
13
Tab. 1.3
. use "C:\docb\Scuola\2010\logistic\chapter1.dta", clear
. logistic chd age, coef
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .1109211 .0240598 4.61 0.000 .0637647 .1580776
_cons | -5.309453 1.133655 -4.68 0.000 -7.531376 -3.087531
------------------------------------------------------------------------------
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .1109211 .0240598 4.61 0.000 .0637647 .1580776
_cons | -5.309453 1.133655 -4.68 0.000 -7.531376 -3.087531
------------------------------------------------------------------------------
Formula (1.17)
. logit chd age
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .1109211 .0240598 4.61 0.000 .0637647 .1580776
_cons | -5.309453 1.133655 -4.68 0.000 -7.531376 -3.087531
------------------------------------------------------------------------------
14
Formula (1.18)
. tabulate chd
Formula (1.20)
Si noti che:
Tab. 1.5
. quietly: logit chd age
. matrix vc=e(V)
. matri list vc
symmetric vc[2,2]
age _cons
age .00057888
_cons -.02667702 1.2851728
15
Formula (1.25)
Listato
program ci_log
*******************************************
* CALCOLO DEGLI INTERVALLI DI CONFIDENZA *
*******************************************
quietly logistic chd age
matrix b=e(b)
matrix vc=e(V)
di as text "Variance-Covariance Matrix "
matrix list vc
local b1=b[1,1]
local b0=b[1,2]
local vb1=vc[1,1]
local vb0=vc[2,2]
local covbb=vc[2,1]
local varg50=`vb0'+50^2*`vb1'+2*50*`covbb'
local se50=sqrt(`varg50')
*****************************************
* INTERVALLI CONFIDENZA PARAMETRI *
*****************************************
local L1b1=`b1'+1.96*sqrt(`vb1')
local L0b1=`b1'-1.96*sqrt(`vb1')
local L1b0=`b0'+1.96*sqrt(`vb0')
local L0b0=`b0'-1.96*sqrt(`vb0')
di as text " "
di as txt " Parameters Confidence Intervals" ///
as text _newline _dup(60) "-" ///
as txt _newline _col(6) "intercept = " as result `b0' as txt _col(30)"C.I." as
result `L0b0' as text _col(45) " ; " as result `L1b0' ///
as txt _newline _dup(60) "-" ///
as txt _newline _col(6)"slope = " as result `b1' as txt _col(30)"C.I." as result
`L0b1' as text _col(45)" ; "as result `L1b1' ///
as txt _newline _dup(60) "-"
local g50=`b0'+50*`b1'
local p50=exp(`g50')/(1+exp(`g50'))
local L1p50=exp(`g50'+1.96*`se50')/(1+exp(`g50'+1.96*`se50'))
local L0p50=exp(`g50'-1.96*`se50')/(1+exp(`g50'-1.96*`se50'))
di as txt " "
di as txt " Fitted values Confidence Intervals" ///
as text _newline _dup(60) "-" ///
as txt _newline _col(3) "Fitted value = " as result `p50' as txt _col(30)"C.I."
as result `L0p50' as text _col(45) " ; " as result `L1p50' ///
as txt _newline _dup(60) "-" //
end
16
Output
Variance-Covariance Matrix
symmetric vc[2,2]
age _cons
age .00057888
_cons -.02667702 1.2851728
Calcoliamo i valori predetti della probabilità e del logit, con i rispettivi intervalli di confidenza,
sfruttando la funzione predict.
File.do
17
18
Capitolo 2
Regressione Logistica Multipla
2.1. Introduzione
Nel precedente capitolo ci siamo interessati al modello logistico nel contesto univariato. Nel seguito
estenderemo le nostre considerazioni al modello logistico multivariato ossia al modello che prevede
più variabili esplicative, siano esse numeriche o categoriche.
P (Y = 1| x ) = π ( x ) (2.1)
g ( x ) = β 0 + β1 x1 + β 2 x2 + ... + β p x p (2.2)
exp g ( x )
π (x) = (2.3)
1 + exp g ( x )
Come accennato in precedenza, le variabili indipendenti (variabili esplicative) possono essere anche
di tipo categorico. In tal caso gli eventuali valori numerici utilizzati per definire i vari livelli sono
solamente degli identificatori e, come tali, non hanno un significato numerico e non possono essere
inseriti direttamente nel modello.
Pertanto le variabili categoriche (categorizzate su più di due livelli) devono essere associate a delle
variabili fittizie (dummy variables), codificate su due livelli, che nel loro insieme definiranno le
categorie oggetto di codifica.
Supponiamo che una variabile esplicativa sia la variabile razza codificata 1-bianca, 2-nera, 3-altra (tre
categorie). Alla variabile razza associamo ora due variabili dummy D1 e D2 codificate 0-1. In questo
modo, con due variabili dummy codificate 0-1, identificheremo completamente le categorie
appartenenti alla variabile razza.
19
Tab. 2.1
Dummy variables associate alla
variabile Race
Dummy variables
Race D1 D2
Bianca 0 0
Nera 1 0
Altra 0 1
In generale, se una variabile categorica comprende j livelli, ad essa dovranno essere associate j-1
variabili dummy. Nell’ipotesi che la k-esima variabile sia categorica e codificata su j livelli, il logit
associato al modello si esprime come:
j −1
g ( x ) = β 0 + β1 x1 + ... + ∑β kl Dkl + β p xp (2.4)
l =1
∑ y − π ( x ) = 0
i =1
i i
n
(2.5)
∑x ij yi − π ( xi ) = 0 j = 1, 2,... p
i =1
20
∂2 L (β ) n
∂β 2
j
=− ∑ x π (1 − π )
i =1
2
ij i i
(2.6)
∂2 L (β ) n
∂β j ∂βl
=− ∑ x x π (1 − π )
i =1
ij il i i j , l = 0,1, 2,..., p
Nel seguito la matrice delle derivate parziali seconde definita dalla (2.6) e costituita da p+1 righe e
p+1 colonne, sarà indicata con I ( β ) e chiamata matrice di informazione osservata.a
Le varianze e covarianze dei coefficienti si ottengono semplicemente per inversione della matrice di
informazione:
Var ( β ) = I −1 ( β ) (2.7)
()
Gli stimatori della varianze e delle covarianze, che denoteremo con Var βˆ , si ottengono valutando
la (2.7) in corrispondenza di β̂ .
Le stime degli errori standard dei coefficienti stimati sono espresse da:
( ) ( )
1/ 2
se βˆ j = Var βˆ j (2.8)
generico I ij pari a:
∂2 L (β )
I ij = − E
∂β ∂β
i j β =βˆ
L’informazione osservata esprime la misura del grado di concavità della curva di verosimiglianza in
corrispondenza del suo massimo. L’informazione risulta quindi essere una misura della precisione della stima:
la stima di max verosimiglianza sarà tanto più accurata quanto più accentuata sarà la curvatura corrispondente.
Una diversa valutazione del grado di concavità si può ottenere calcolando la curvatura media (attesa) nel punto
di stima. Tale valutazione corrisponde alla informazione attesa o informazione di Fisher che misurerà pertanto
la precisione “media” che si preveda abbia la stima del parametro se l’esperimento venisse ripetuto , sotto le
stesse condizioni, per una serie di repliche (a differenza dell’informazione osservata che viene definita sul
singolo risultato sperimentale).
A volte può essere più significativa una misura di imprecisione della stima; si definisce pertanto come matrice
varianza osservata o attesa l’inversa rispettivamente della matrice di informazione osservata attesa.
varO ( β ) = ( I ( β ) ) varE ( β ) = ( I ( β ) )
−1 −1
( ) ( ( )) ( ) ( ( ))
−1 −1
var O βˆ = Iˆ βˆ var E βˆ = I βˆ
21
La stima della matrice di informazione, relativa ai coefficienti stimati, vale:
()
Iˆ βˆ = X'VX
Di seguito riportiamo gli standard error e le stime dei coefficienti di un modello logistico multiplo:
Tab. 2.2
Estimated Coefficients for a Multiple Logistic Regression Model Using the
Variables AGE, Weight at Last Menstrual Period (LWT), RACE, and Number of First
Trimester Physician Visits (FTV) from the Low Birth Weight Study
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
AGE -0.02382 0.03373 -0.71 0.48 -0.0899317 0.0422857
LWT -0.01424 0.006541 -2.18 0.029 -0.0270641 -0.0014251
_IRACE_2 1.003898 0.497858 2.02 0.044 0.0281143 1.979681
_IRACE_3 0.433108 0.36224 1.2 0.232 -0.2768684 1.143085
FTV -0.04931 0.167239 -0.29 0.768 -0.3770899 0.2784733
_cons 1.295366 1.071439 1.21 0.227 -0.8046157 3.395347
Log lilkelihood = -111.286
Tab. 2.3
Codifica dummy variable
race _Irace_2 _Irace_3
1 0 0
2 1 0
3 0 1
22
2.4. Valutazione della significatività del modello
Una volta ottenute le stime dei coefficienti del modello, dobbiamo procedere alla valutazione della
sua significatività. In questa fase dobbiamo testare se abbiamo elementi per confutare l’ipotesi nulla
che tutti i parametri (esclusa l’intercetta) siano contemporaneamente nulli.
In questo caso l’ipotesi nulla viene rifiutata: almeno uno dei coefficienti, intercetta esclusa, è diverso
da zero. Infatti:
( )
W j = βˆ j / se βˆ j (2.10)
Sotto l’ipotesi nulla che il coefficiente j-esimo sia nullo, la statistica W segue una distribuzione
normale standard. La Tab 2.2 nella quarta colonna riporta i valori della statistica W per ogni singolo
coefficiente.
Sempre con riferimento alla Tab.2.2, vediamo che la variabile lwt e forseb la variabile race sono
significative, mentre le variabili age e ftv non risultano significative.
a
Il vettore β è costituito da p+1 elementi: p “slopes” e 1 “constant”
b
La variabile RACE è categorica (su tre livelli). E’ stata inserita nel modello tramite due variabili dummy:
_IRACE_2 e _IRACE_3. Di queste due variabili una risulta significativa (_IRACE_2),mentre l’altra (_IRACE_3) no.
Come già detto in precedenza, tuttavia, le dummy associate ad una variabile categorica possono venire inserite
o escluse dal modello IN TOTO. Sulla base del solo Wald test non potremo, in questo caso, trarre una
conclusione definitiva. Un modo semplice per decidere se un set di variabili dummy sia da inserire o escludere
dal modello è quello di impostare un LRT.
23
()
−1
W = βˆ ' Var βˆ βˆ = βˆ ' ( X'VX ) βˆ (2.11)
La statistica W, sotto l’ipotesi nulla che tutti i coefficienti siano nulli, è distribuita come una
chi-quadro con p+1 gradi di libertà . Per testare se tutte le “slope” sono nulle si deve eliminare βˆ 0
dal vettore β̂ e le corrispondenti riga (prima o ultima) e colonna (prima o ultima) della matrice X . Si
ottiene così una statistica W che è distribuita come una chi-quadro con p gradi di libertà. L’approccio
mediante il Wald test multiplo non offre vantaggio rispetto all’uso di LRT.
Il Wald test multivariato consente tuttavia di testare un set qualsiasi di ipotesi lineari sui parametri.
Sia
R ⋅b' = r
il set di q ipotesi lineari da testare congiuntamente, la statistica di Wald vale:
Come esemplificazione, testiamo l’ipotesi che siano contemporaneamente nulli tutti i coefficienti del
modello riportato in Tab. 2.2.
I vari passaggi sono riporati nella parte applicativa nel paragrafo Applicazione formule (2.11) e(2.12).
Tab. 2.4
Estimated Coefficients for a Multiple Logistic Regression Model Using the
Variables LWT and RACE from the Low Birth Weight Study
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
LWT -0.01522 0.006439 -2.36 0.018 -0.02784 -0.0026
_IRACE_2 1.081066 0.488051 2.22 0.027 0.124503 2.037629
_IRACE_3 0.480603 0.356673 1.35 0.178 -0.21846 1.17967
_cons 0.805754 0.845163 0.95 0.34 -0.85073 2.462241
Log likelihood = -111.62955
a
La decisione circa l’inserimento o meno di una variabile nel modello deve essere assunta non solo su basi
statistiche ma anche, se non soprattutto, su base clinica.
24
Allo scopo testeremo, tramite il likelihood ratio test, l’ipotesi nulla che il modello completo e il
modello ridotto, prima definito, siano “equivalenti”.a
In questo caso l’ipotesi nulla non viene rifiutata, pertanto non abbiamo elementi per ritenere che il
modello ridotto sia meno informativo del modello completo. Infatti:
P χ 22gl > 0.688 = 0.709 > 0.05
Non c’è alcun vantaggio nell’inserimento delle covariate AGE e FTV nel modello finale.
Tab. 2.5
Estimated Coefficients for a Multiple Logistic Regression Model Using the
Variable LWT from the Low Birth Weight Study
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
LWT -0.01406 0.00617 -2.28 0.023 -0.02615 -0.00197
_cons 0.998314 0.785289 1.27 0.204 -0.54082 2.537452
Log likelihood = -114.345
Poiché i due modelli non sono significativamente diversi la variabile RACE potrebbe, su questa base,
essere esclusa.
a
Avremmo potuto utilizzare anche il Wald test nella versione multivariata.
25
βˆ ± 1.96 ⋅ se → −0.02832 ± 1.96 ⋅ 0.03373 = ( −0.0899317; 0.0422857 )
Var gˆ ( x ) = ∑ x 2j Var ( β j ) + ∑ ∑ 2 x x C ov ( β , βk )
p p p
j k j (2.14)
j =0 j = 0 k = j +1
Dalle (2.7) e (2.9) si ottiene facilmente l’espressione della varianza in forma matriciale:
()
Var βˆ = ( X'VX )
−1
(2.15)
Da cui:
()
Var gˆ ( x ) = x'Var βˆ x = x' ( X'VX ) x
−1
(2.16)
Fortunatamente tutti i software statistici offrono la possibilità di creare facilmente nuove variabili
contenenti i valori stimati dalla (2.16) per tutti i soggetti appartenenti al data set evitando,
all’operatore, calcoli matriciali laboriosi.
A scopo puramente didattico riportiamo comunque i calcoli che, in assenza di software specifici, si
dovrebbero effettuare .
Con riferimento al modello presentato in Tab. 2.4, determiniamo il logit relativo ad una donna di
razza bianca (RACE = White) e con peso, al tempo dell’ultima mestruazione, pari a 150 pound (LWT =
150)
gˆ ( LWT = 150, RACE =White ) = 0.806 − 0.015 ⋅ 150 + 1.081 ⋅ 0 + 0.481 ⋅ 0 = −1.444 (2.17)
exp ( −1.444 )
πˆ ( LWT = 150, RACE = White ) = = 0.191
1 + exp ( −1.444 )
La proporzione stimata di nascite a basso peso, tra le donne bianche con peso, all’ultima
mestruazione, di 150 pound vale 0.191.
Per determinare la varianza stimata del logit, in accordo con la (2.14) è necessario utilizzare la
matrice di covarianza riportata in Tab. 2.6
Tab. 2.6
26
Estimated Covariance Matrix of the Estimated
Coefficients in Tab. 2.4
LWT _IRACE_2 _IRACE_3 _cons
LWT 4.15E-05
_IRACE_2 -0.00065 0.238194
_IRACE_3 0.000356 0.0532 0.127216
_cons -0.00521 0.022602 -0.1035 0.7143
27
Applicazione Capitolo 2
Tab. 2.2
. use "E:\logistic\chapter2.dta", clear
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | -.023823 .0337295 -0.71 0.480 -.0899317 .0422857
lwt | -.0142446 .0065407 -2.18 0.029 -.0270641 -.0014251
_Irace_2 | 1.003898 .4978579 2.02 0.044 .0281143 1.979681
_Irace_3 | .4331084 .3622397 1.20 0.232 -.2768684 1.143085
ftv | -.0493083 .1672386 -0.29 0.768 -.3770899 .2784733
_cons | 1.295366 1.071439 1.21 0.227 -.8046157 3.395347
------------------------------------------------------------------------------
Tab. 2.4
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwt | -.0152231 .0064393 -2.36 0.018 -.0278439 -.0026023
_Irace_2 | 1.081066 .4880512 2.22 0.027 .1245034 2.037629
_Irace_3 | .4806033 .3566733 1.35 0.178 -.2184636 1.17967
_cons | .8057535 .8451625 0.95 0.340 -.8507345 2.462241
------------------------------------------------------------------------------
28
Tab. 2.5
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwt | -.0140583 .0061696 -2.28 0.023 -.0261504 -.0019661
_cons | .9983143 .7852889 1.27 0.204 -.5408235 2.537452
------------------------------------------------------------------------------
Test della nullità di tutti i parametri (intercetta esclusa) effettuato secondo la (2.11)
Prima soluzione
. use "E:\logistic\chapter2.dta"
. quietly xi: logit low age lwt i.race ftv
. mat b=e(b)
. mat br=b[1,1..5]
. mat vc=e(V)
. mat vcr=vc[1..5,1..5]
. mat W=br*inv(vcr)*br'
. mat list W
symmetric W[1,1]
y1
y1 10.696725
. display " p = "chi2tail(1,W[1,1])
p = .00107331
Seconda soluzione
. use "E:\logistic\chapter2.dta", clear
. quietly xi: logit low age lwt i.race ftv
. generate const=1
. mkmat age lwt _Irace_2 _Irace_3 ftv const,mat(X)
. predict pr
(option pr assumed; Pr(low))
. generate vel=pr*(1-pr)
. mkmat vel,mat(D)
. mat V=diag(D)
. mat vci=X'*V*X
. mat b=e(b)
. mat br=b[1,1..5]
. mat vc=inv(vci)
. mat vcr=vc[1..5,1..5]
. mat W=br*inv(vcr)*br'
. mat list W
symmetric W[1,1]
y1
y1 10.696619
. display " p = "chi2tail(5,W[1,1])
p = .05773588
29
Test della nullità di tutti i parametri (intercetta esclusa) effettuato secondo la (2.12)
. mat r=(0\0\0\0\0)
. mat R=1,0,0,0,0,0\0,1,0,0,0,0\0,0,1,0,0,0\0,0,0,1,0,0\0,0,0,0,1,0
. mat list R
R[5,6]
c1 c2 c3 c4 c5 c6
r1 1 0 0 0 0 0
r2 0 1 0 0 0 0
r3 0 0 1 0 0 0
r4 0 0 0 1 0 0
r5 0 0 0 0 1 0
. mat b=e(b)
. mat V=e(V)
. mat W=(R*b'-r)'*inv(R*V*R')*(R*b'-r)
. mat list W
symmetric W[1,1]
c1
c1 10.696725
( 1) age = 0
( 2) lwt = 0
( 3) _Irace_2 = 0
( 4) _Irace_3 = 0
( 5) ftv = 0
chi2( 5) = 10.70
Prob > chi2 = 0.0577
30
Tab. 2.6
. use "E:\logistic\chapter2.dta", clear
. quietly xi: logit low lwt i.race
. vce
symmetric V[4,4]
lwt _Irace_2 _Irace_3 _cons
lwt .00004146
_Irace_2 -.00064703 .23819397
_Irace_3 .00035585 .05320001 .12721584
_cons -.00521365 .02260223 -.1034968 .71429959
symmetric vc[6,6]
age lwt _Irace_2 _Irace_3 ftv const
age .00109286
lwt -.00003623 .00004304
_Irace_2 .00337842 -.00077281 .24914731
_Irace_3 .00146083 .00028074 .05870124 .13107707
ftv -.00093123 -.00006795 .00076814 .00581983 .02694772
const -.0209561 -.00447735 -.04371696 -.1344865 .00683369 1.1207947
31
Risultato formule (2.17) e (2.18)
. mat varg=x*Var*x'
. display g[1,1]+1.96*(sqrt(varg[1,1]))
-.91248516
. display g[1,1]-1.96*(sqrt(varg[1,1]))
-2.0429386
32
Capitolo 3
Interpretazione del modello
3.1 Introduzione
L’interpretazione del modello logistico richiede preliminarmente che si attribuisca un significato ai
coefficienti del modello. In altri termini dobbiamo comprendere bene che cosa i coefficienti stimati ci
dicono rispetto alle argomentazioni che hanno motivato il nostro studio.
I coefficienti stimati delle variabili indipendenti rappresentano la “pendenza” (tasso di variazione) di
una funzione della variabile dipendente per unità di variazione della variabile indipendente.
Nella regressione logistica , i coefficienti delle variabili indipendenti esprimono la variazione del logit
conseguente alla variazione di una unità della associata variabile indipendente.
βi = g ( xi + 1) − g ( xi ) (3.1)
Pertanto possiamo interpretare correttamente un modello logistico solo se siamo in grado di
interpretare il significato della differenza tra due logit.
Nel seguito illustreremo appunto tale interpretazione con riferimento sia al modello univariato, sia al
modello multivariato.
1 1
y =0 1 − π (1) = π (1) =
1 + exp ( β 0 + β1 ) 1 + exp β 0
Total 1 1
Il rapporto tra gli odds associati rispettivamente al valore uno e al valore zero della variabile
indipendente, prende il nome di odds ratio. Si ha quindi:
π (1) / 1 − p (1) exp ( β 0 + β1 )
OR ≡ = = exp β1 (3.2)
π ( 0 ) / 1 − p ( 0 ) exp β 0
Passando alle stime si ha:
OR = exp βˆ ( ) 1 (3.3)
Con riferimento al modello semplice in esame, l’odds ratio può essere stimato semplicemente dal
33
prodotto crociato:
Tab. 3.2
x=1 x=0
y=1 a b
y=0 c d
a⋅d
OR = (3.4)
b⋅c
L’Odds Ratio può essere stimato tramite un altro approccio: data una tabella di risultati come la Tab.
3.2, l’Odds Ratio potrebbe essere determinato cercandone il valore che massimizzi la probabilità, a
marginali fissi, di ottenere la tabella assegnata. Si parla in questo caso di stima di max verosimiglianza
dell’Odds Ratioa.
E’ importante sottolineare che le due stime tendono a coincidere solo per tabelle di grande
numerosità, in generale la stima dell’OR, tramite il prodotto crociato, sovrastima l’OR ottenuto
tramite il metodo di massima verosimiglianzab3.
Con riferimenti ad OR rispettivamente maggiori e minori dell’unità di ha pertanto:
a
E’ una stima di max verosimiglianza che fa riferimento ad una distribuzione ipergeometrica. .
b
… we can conclude that studies employing logistic regression as analytical tool to study the association of
exposure variables and the outcome overestimate the effect in studies with small to moderate samples size.
34
Tab. 3.3
agec
chd 0 1 Total
0 51 6 57
1 22 21 43
Total 73 27 100
A conclusione di questo paragrafo è importante sottolineare che (3.3) è valida solo nel caso che la
variabile dicotomica sia codificata 0/1. In caso contrario, la stima dell’OR deve essere condotta
valutando la differenza tra i logit in corrispondenza dei due livelli di codifica. Supponiamo che una
variabile dicotomica X sia codificata a/b, in questo caso avremo:
ln OR ( a, b ) = gˆ ( x = a ) − gˆ ( x = b ) = βˆ1 ( a − b ) (3.5)
OR ( a, b ) = exp βˆ1 ( a − b ) (3.6)
Se ad esempio la variabile dicotomica è codificata -1/+1 la relazione tra odds ratio e il coefficiente β1
diventa:
OR ( −1; +1) = exp ( 2β1 ) (3.7)
35
Tab. 3.4
Tab. 3.5
Specification of the Design Variables for RACE Using
Reference Cell Coding with White as Reference Group
Design Variables (Dummy Variables)
RACE(Code) _IRACE_2 _IRACE_3 _IRACE_4
White(1) 0 0 0
Black(2) 1 0 0
Hispanic(3) 0 1 0
Other(4) 0 0 1
Nell’ultima riga della Tab. 3.4 sono riportati i log(OR) con gruppo di riferimento White. Le stesse
stime possono ottenersi dal modello logistico con una scelta coerente della codifica delle Dummy
Variables (Tab. 3.6). Se ad esempio il gruppo di riferimento deve essere la razza White, allora occorre
imporre pari a zero i valori delle Dummy Variables che lo identifica (Tab.3.5)
Tab. 3.6
Results of Fitting the Logistic Regression Model to the Data in the Tab. 3.4
Using the Design Variables in Tab.3.5
CHD Coef. Std. Err. z P>z [95% Conf.Interval]
_IRACE_2 2.079442 0.632452 3.29 0.001 0.839858 3.319026
_IRACE_3 1.791759 0.645494 2.78 0.006 0.526614 3.056905
_IRACE_4 1.386294 0.670818 2.07 0.039 0.071516 2.701072
_cons -1.38629 0.499996 -2.77 0.006 -2.36627 -0.40632
36
log OR ( Black ,White) ) = log ( 8 ) = 2.079 = βˆ1
( )
0.5
1 1 1 1
se βˆ1 = + + + = 0.635
5 20 20 10
Il limiti di confidenza dei coefficienti, e degli odds ratio, si ottengono con lo stesso procedimento
usato per le variabili dicotomiche.
CI
95% ( )
βˆ = βˆ ± z
j j se βˆ
1−α 2 ( )
j
37
Di seguito riportiamo il modello fittato coerente con la nuova codifica.
Tab. 3.8
Results of Fitting the Logistic Regression Model to data in Tab 3.4 Using
the Design Variables in Tab. 3.7
chd Coef. Std. Err. z P>z [95% Conf. Interval]
race_2 0.765068 0.350594 2.18 0.029 0.077915 1.45222
race_3 0.477386 0.362284 1.32 0.188 -0.23268 1.187449
race_4 0.071921 0.384599 0.19 0.852 -0.68188 0.825721
_cons -0.07192 0.218898 -0.33 0.742 -0.50095 0.357112
Per interpretare i coefficienti stimati del nuovo modello, calcoliamo, con riferimento alla Tab. 3.4 i
logit corrispondenti a ciascuna delle quattro categorie in cui è suddivisa la variabile RACE e ne
calcoliamo la media.
5 / 25 5
gˆ1 = log = log = −1.386
20 / 25 20
gˆ 2 = 0.693 gˆ 3 = 0.405 gˆ 4 = 0
g=
∑ gˆ i
= −0.072
4
Il coefficiente stimato della variabile race_2 è pari a:
β1 = gˆ 2 − g = 0.693 − ( −0.072 ) = 0.765
In generale, i coefficienti stimati per la generica variabile race_i esprimono la differenza tra il logit
corrispondente e il logit medio.
race _ j = gˆ j − g
L’interpretazione di tali coefficienti stimati non è, in questo caso agevole. Infatti, con riferimento al
coefficiente della variabile race_2, passando agli esponenziali, si ha:
exp ( gˆ 2 ) ( 20 /10 )
exp ( 0.765 ) = exp ( gˆ 2 − g ) = = = 2.15
exp
∑ gˆ i ( 5/ 20 )( 20 /10 )(15 /10 )(10 /10 )
0.25
4
Questo numero, 2.15, non rappresenta un vero odds ratio perché le quantità a numeratore e
denominatore non rappresentano gli odds riferiti a due distinte categorie. Gli esponenziali dei
coefficienti stimati, in questo caso, esprimono gli odds relativi alla media geometrica degli odds
totali.
Con alcuni passaggi, comunque, anche questi coefficienti stimati permettono di risalire agli odds ratio
di una categoria rispetto a quella di riferimento.
log OR ( Black ,White ) = gˆ ( Black ) − gˆ (White ) =
= βˆ0 + βˆ1 ( race _ 2 = 1) + βˆ2 ( race _ 3 = 0 ) + βˆ3 ( race _ 4 = 0 ) +
− βˆ0 + βˆ1 ( race _ 2 = −1) + βˆ2 ( race _ 3 = −1) + βˆ3 ( race _ 4 = −1) =
38
= 2βˆ1 + βˆ2 + βˆ3 (3.8)
Per ottenere l’intervallo di confidenza del log(OR) prima definito, dobbiamo stimare la varianza della
somma dei coefficienti presenti nella (3.8).
{ } ( ) ( )
Var log OR ( Black ,White ) = 4 ⋅ Var βˆ1 + Var βˆ2 + Var βˆ3
( ) (3.9)
( ) ( ) (
+4 ⋅ Cov βˆ1 , βˆ2 + 4 ⋅ Cov βˆ1 , βˆ3 + 2 ⋅ Cov βˆ2 , βˆ3 )
E passando ai valori numerici si ha:
log OR ( Black ,White ) = 2 ⋅ 0.765 + 0.477 + 0.072 = 2.079
{
Var log OR ( Black ,White ) = 0.400
}
{ }
se log OR ( Black ,White ) = 0.6325
Abbiamo ottenuto, pur con una nuova codifica delle Dummy Variables, gli stessi risultati trovati con
la vecchia codifica.
( )
CI 95% {OR ( c )} = exp c βˆ1 ± z1−α / 2 se βˆ1
Con riferimento al data set trattato nel Capitolo 1, il modello logistico fittato risulta:
Tab. 3.9
chd Coef. Std. Err. z P>z [95% Conf.Interval]
age 0.110921 0.02406 4.61 0 0.063765 0.158078
_cons -5.30945 1.133655 -4.68 0 -7.53138 -3.08753
39
Il logit stimato è pertanto:
gˆ ( age ) = −5.310 + 0.111 ⋅ age
L’odds ratio stimato, corrispondente ad un aumento di 10 anni di età, vale quindi:
OR ( ∆age = 10 ) = exp (10 ⋅ 0.111) = 3.03
E il suo intervallo di confidenza:
{ }
CI 95% OR ( ∆age = 10 ) = exp (10 ⋅ 0.111 ± 1.96 ⋅ 10 ⋅ 0.024 ) = {1.90; 4.86}
Questo indica che per ogni incremento di 10 anni di età il rischio di chd aumenta di circa 3.03 volte.
Se questa affermazione è valida dal punto di vista teorico, non è in genere altrettanto accettabile dal
punto di vista clinico. Con riferimento al nostro data set, appare piuttosto evidente che l’incremento
di rischio di chd nel passare da 30 a 40 anni (Δage = 10) è presumibilmente diverso dall’incremento di
rischio di un soggetto che passa 50 a 60 anni (Δage = 10).
Quando abbiamo buone ragioni, cliniche o biologiche, per ritenere che la relazione tra logit e
covariata non sia lineare dobbiamo impostare diversamente il modello. In particolare potremo:
1. Categorizzare la variabile e fare uso di Dummy Variables;
2. Inserire la covariata come termine di ordine superiore (x2,x3..)
3. Usare una funzione della covariata (logaritmica…)
In questo modello β1 rappresenta la vera differenza in peso tra i due gruppi (misura il cosiddetto
effetto gruppo) e β2 esprime la variazione del peso corrispondente all’incremento di un anno di età.
Supponiamo che le età medie del primo e secondo gruppo siano rispettivamente a1 e a2 .
Il confronto “crudo” del peso medio dei due gruppi è rappresentato dalla differenza tra w2 e w1.
Con riferimento al modello, tale differenza è espressa da:
( w2 − w1 ) = β1 + β 2 ( a2 − a1 )
Ossia il confronto “crudo” tra i pesi medi dei due gruppi non comprende solo la “vera” differenza tra i
gruppi (effetto di gruppo: misurato da β1), bensì anche una componente, β 2 ( a2 − a1 ) , che riflette la
differenza tra le età medie dei due gruppi.
Il processo di aggiustare statisticamente per l’età si effettua comparando i due gruppi in
corrispondenza di qualsiasi valore comune di età. Con riferimento all’età media comune dei due
gruppi, tale confronto è espresso dalla differenza ( w4 − w3 ) , che in termini di modello vale:
( w4 − w3 ) = β1 + β 2 ( a − a ) = β1
e misura la vera differenza tra i due gruppi.
Con riferimento alla Fig.3.1, immaginiamo ora di sostituire la variabile dipendente “peso” con una
variabile dipendente dicotomica e di porre il valore della funzione logit sull’asse delle ordinate. La Fig.
3.1, in queste condizioni, rappresenta pertanto un modello del tipo:
g ( x.a ) = β 0 + β1 x + β 2 a
41
Come esemplificazione, valuteremo la probabilità di avere un bimbo sottopeso alla nascita in due
gruppi di madri (fumatrici/non fumatrici) di cui abbiamo registrato le età.
Tab. 3.10
Età e numero di nascite sottopeso in due gruppi di donne
(87 non fumatrici e 66 fumatrici)
smoke = 0; n=87 smoke = 1; n=66
Mean Std. Dev. Mean Std. Dev.
low 0.241379 0.430401 0.409091 0.495434
age 25.47126 4.630132 21.80303 4.012364
Con i dati di Tab. 3.10, il log odds ratio univariato (crudo) delle fumatrici vs le non fumatrici vale:
( )
log OR = log
0.409091 0.241379
− log
1 − 0.409091
= 0.77741 → OR = 2.1758
1 − 0.241379
Le fumatrici pertanto hanno una maggiore probabilità di avere un neonato di basso peso. Tuttavia le
fumatrici sono mediamente più giovani delle non fumatrici, e questa discrepanza potrebbe
sovrastimare il rischio.
In effetti applicando ai dati di Tab.3.10 un modello logistico bivariato si ottiene:
Tab. 3.11
Results of Fitting the Logistic Regression Model to the Data Summarized in Table 3.10
Variable Odds Ratio Std. Err. z P>z [95% Conf. Interval]
age 0.937164 0.041807 -1.45 0.146 0.858704 1.022792
smoke 1.743155 0.66931 1.45 0.148 0.821306 3.699706
Quindi, controllando per l’età (age), l’Odds Ratio stimato passa da 2.1758 a 1.743 avvalorando il
sospetto che l’Odds Ratio crudo (fumatrice vs non fumatrice) sia amplificato dalla diversa
distribuzione delle età nei due gruppi.
Con riferimento alla Fig. 3.1, esaminiamo ora più in dettaglio l’aggiustamento effettuato.
Una approssimazione dell’Odds Ratio a non aggiustato si ottiene esponenziando la differenza
w2 − w1 .
a
Questa stima (2.21) si basa sulla differenza dei logit valutati in corrispondenza delle età medie dei due gruppi
e differisce dall’Odds Ratio (2.1758) ottenuto dal modello univariato e calcolato sulla base delle probabilità
logistiche dei due gruppi.
42
[0.484959 + 0.555697 − 0.0649 ⋅ 21.80303] − [ 0.484959 − 0.0649 ⋅ 25.47126] =
= 0.555697 + 0.0649 ( 25.47126 − 21.80303)
OR = exp 0.555697 + 0.0649 ( 25.47126 − 21.80303) = 2.21
L’Odds Ratio, aggiustato per l’età, è ottenuto esponenziando la differenza w4 − w3 che corrisponde al
coefficiente stimato per la variabile smoke.
[0.484959 + 0.555697 − 0.0649 ⋅ 23.9] − [0.484959 − 0.0649 ⋅ 23.9] =
OR = exp [ 0.555697 ] = 1.743
Un criterio abbastanza accettato per classificare una variabile come confondente è verificare se il suo
inserimento nel modello multivariato induce una variazione di almeno il 10% dell’Odds Ratio crudo,
mentre è di scarsa utilità la eventuale significatività del coefficiente associatoa. Nel nostro esempio ,
ritenuto valido questo criterio, age può essere considerata un confondente perché il suo inserimento
nel modello multivariato provoca una abbattimento dell’Odds Ratio crudo di circa il 20% (da 2.1758 a
1.743) anche se il coefficiente ad essa associato (-0.0649) non è affatto significativo (p = 0.146).
Infine ribadiamo un concetto essenziale: l’efficacia del processo di aggiustamento è interamente
dipendente dall’adeguatezza delle assunzioni del modello: linearità e costanza di pendenza. Se tali
assunzioni cadono, il processo di aggiustamento sarà privo di ogni utilità.
a
Come vedremo in seguito questo criterio del 10% è puramente indicativo e vale se non abbiamo criteri clinici
per confutarlo.
43
3.6 Interazione e Confondimento
Nella sezione precedente abbiamo introdotto il termine confondente, indicando con esso una
covariata che è associata sia alla variabile risposta, sia a una variabile indipendente (fattore di
rischio).
In questa sezione introdurremo il concetto di interazione e vedremo come controllarne i suoi
effetti nell’ambito del modello logistico. Infine illustreremo con un esempio come confondimento
e interazione influiscono sulle stime dei coefficienti del modello.
Fig. 3.2.
Plot of the logits under three different models showing the presence and absence of interaction
44
In Fig. 3.2 sono rappresentati i grafici di tre differenti logita che utilizzeremo per spiegare il
significato e gli effetti dell’interazione.
Consideriamo un modello in cui la variabile risposta sia presenza o assenza di CHD, il fattore di rischio
sia sex e la covariata sia age.
Supponiamo che la linea l1 esprima l’andamento del logit in funzione di age all’interno del gruppo
female. La linea l2, infine, supponiamo rappresenti il logit riferito al gruppo male.
Le due linee sono parallele, esprimendo con ciò che la relazione tra age e CHD è la stessa sia per le
femmine sia per i maschi. In questa situazione non c’è interazione e il log odds ratio riferito al sesso
(male vs female), controllato per l’età, è dato dalla distanza verticale tra le due linee, ed è la stessa
indipendentemente dall’età.
Immaginiamo ora che il logit relativo ai maschi sia rappresentato dalla linea l3. Questa linea è più
pendente rispetto alla linea l1, esprimendo che la relazione tra CHD ed age è differente nei due
gruppi (male vs female). In una tale situazione siamo in presenza di una interazione tra age e sex.
La stima del log-odds ratio relativa al sesso (male vs female)controllato per age è ancora dato dalla
distanza verticale tra le linee l3 e l1, distanza che questa volta dipende dall’età rispetto alla quale il
confronto viene effettuato.
Pertanto non potremo stimare l’odds ratio relativo al sesso senza prima specificare a che età il
confronto viene effettuato. In altri termini, la variabile age è una modificatrice d’effetto.
Le Tab. 3.12 e 3.13 presentano una serie di modelli logistici implementati su due differenti data set
ipotetici. Le variabili di ciascun data set sono identiche: sex, age e CHD (variabile risposta).
L’interazione è stata modellata inserendo nel modello una variabile pari al prodotto di sex per age.
Tab. 3.12
Estimated Logistic Regression Coefficients, Deviances, and the Likelihood Ratio Test Statistic (G) from
an Example Showing Evidence of Confounding but no Interaction (n = 400)
Model Constant sex age sex•age Deviance G
1 0.060 1.981 419.816
2 -3.374 1.356 0.082 407.780 12.036
3 -4.216 4.239 0.013 -0.062 406.392 1.388
Tab. 3.13
Estimated Logistic Regression Coefficients, Deviances, and the Likelihood Ratio Test Statistic (G) from
an Example Showing Evidence of Confounding and Interaction (n = 400)
Model Constant sex age sex•age Deviance G
1 0.201 2.386 376.712
2 -6.672 1.274 0.166 338.688 38.024
3 -4.825 -7.838 0.121 -0.205 330.654 8.034
a
Per render e più agevole la lettura del grafico, a ciascun logit è stato aggiunto il valore 4.
45
Esaminando i risultati della Tab. 3.12 vediamo che il coefficiente stimato per la variabile sex varia da
1.981 nel modello 1 (solo variabile sex) a 1.356 nel modello 2 (variabile age e sex). Poiché
l’inserimento della variabile age ha prodotto una diminuzione del coefficiente di sex di circa il 46%,
diremo che siamo in presenza di un evidente effetto confondente dovuto ad age.
Quando il termine di interazione è aggiunto nel modello 3,vediamo che la variazione di devianza è
solo 1.388 e che, con riferimento ad una distribuzione chi quadro con un grado di libertà, porta ad un
p value di 0.24, chiaramente non significativo.
E’ da notare che il coefficiente relativo a sex cambia da 1.356 (modello 2) a 4.239 (modello 3). Questo
non deve sorprendere perché l’inclusione del termine di interazione, specialmente quando coinvolge
variabili continue, produce variazioni molto marcate nelle stime dei coefficienti delle variabili
dicotomiche interessati dall’interazione.
Ribadiamo pertanto che quando è presente il termine di interazione non possiamo valutare l’effetto
confondente tramite la variazione dei coefficienti. Con riferimenti a questo data set si darà pertanto
la preferenza al modello 2 che suggerisce age come confondente e non come modificatore d’effetto.
Con riferimento alla Tab. 3.13, confrontando il modello 1 con il modello 2 vediamo che il coefficiente
di sex varia da 2.386 a 1.274 con un diminuzione dell’87%. Quando nel modello 3 viene aggiunto il
termine di interazione sex·age, vediamo che la devianza diminuisce di 8304 con un p-value di 0.005.
Poiché la variazione della devianza è significativa il modello 3 è preferibile al modello2, pertanto la
variabile age deve essere interpretata sia come confondente sia come modificatrice d’effetto.
La stima dell’odds ratio, relativo alla variabile sex, deve essere calcolata in corrispondenza di una
specifica età.
Concludiamo questo paragrafo riassumendo i criteri utili per stabile se una variabile possa essere
trattata come confondente e/o modificatrice di effetto:
1. Qualsiasi modificazione clinicamente rilevante nella stima del coefficiente del fattore di
rischio suggerisce che la covariata è un confondente e come tale deve essere inserita nel
modello indipendentemente dalla significatività statistica del coefficiente ad essa associato.
2. Dobbiamo ritenere che una covariata sia una modificatrice di effetto solo se il termine di
interazione abbia un significato clinico e il suo coefficiente sia statisticamente significativo.
Infine ribadiamo che quando una variabile è classificata come modificatrice di effetto, stabilire se sia
anche un confondente ha uno scarso significato dato che la stima dell’effetto del fattore di rischio
dipende dallo specifico valore assunto della covariata.
46
3.7. Stima dell’Odds Ratio in presenza di interazione
Come abbiamo visto al paragrafo precedente, quando è presente un termine di interazione la stima
dell’odds ratio relativo al fattore di rischio dipende dal valore della variabile che con esso interagisce.
In tale situazione pertanto non possiamo stimare l’odds ratio semplicemente esponenziando il
coefficiente associato al fattore di rischio.
Per illustrare in dettaglio come valutare l’odds ratio in presenza di interazione ci riferiremo ad un
modello costituto da un fattore di rischio F, da una covariata X e dal termine di interazione F·X.
Il logit di questo modello, valutato per F = f ed X = x vale:
g ( f , x ) = β 0 + β1 ⋅ f + β 2 ⋅ x + β3 ( f ⋅ x ) (3.10)
Assumendo di valer calcolare l’odds ratio (F = f1 vs F = f0) in corrispondenza di X = x, si calcolano i
relativi logit:
g ( f1 , x ) = β 0 + β1 ⋅ f1 + β 2 ⋅ x + β3 ( f1 ⋅ x )
g ( f 0 , x ) = β0 + β1 ⋅ f 0 + β 2 ⋅ x + β3 ( f 0 ⋅ x )
{
var log OR ( F = f1 , F = f 0 , X = x ) =
} (3.13)
2
( )
2
( )
= ( f1 − f 0 ) var β 1 + x 2 ( f1 − f 0 ) var β 3 + 2 x ( f1 − f 0 ) cov β 1 , β 3
2
( )
Il limiti dell’intervallo di confidenza del log-odds ratio risultano pertanto:
β 1 ( f1 − f 0 ) + β 3 ⋅ x ( f1 − f 0 ) ± z1−α 2 se β 1 ( f1 − f 0 ) + β 3 ⋅ x ( f1 − f 0 ) (3.14)
dove se , lo standard error nella (3.14), è la radice quadrata positiva della varianza stimata nella
(3.13).I limiti dell’intervallo di confidenza dell’odds ratio si ottengono infine esponenziando la (3.14).
Le stime del log-odds ratio e della sua varianza si semplificano notevolmente nel caso in cui il fattore
di rischio sia una variabile dicotomica. Se ad esempio f1 =1 e f0 =0 la stima del log-odds ratio diventa:
log OR ( F = f1 , F = f 0 , X = x ) = β 1 + β 3 ⋅ x (3.15)
La varianza stimata vale:
47
{ } ( ) ( ) (
var log OR ( F = f1 , F = f 0 , X = x ) = var β 1 + x 2 var β 3 + 2 xcov β 1 , β 3
) (3.16)
Come esemplificazione consideriamo una serie di modelli logistici associati ad un data set già
esaminato in precedenza (low birth weight data).
Tab. 3.14
Estimated Logistic Coefficients, Deviance, the Likelihood Ratio Test Statistic (G),
and p-value for the Change for Models Cointaning LWD and AGE from the Low
Birth Weight Data (n= 189)
Model Constant LWD AGE LWD•AGE ln[l(β)] G p
0 -0.790 -117.34
1 -1.054 1.054 -113.12 8.44 0.004
2 -0.027 1.010 -0.044 -112.14 1.96 0.160
3 0.774 -1.944 -0.080 0.132 -110.57 3.14 0.076
Dal modello 1 l’odds ratio di avere un neonato a basso peso (LWD =1 vs LWD =0)a è 2.87
(exp[1.054]).
Dal confronto del modello 1 con il modello2, vediamo che l’inserimento della variabile AGE porta ad
una diminuzione di circa il 4% del coefficiente di LWD (1.054 vs 1.010): possiamo lecitamente
dedurre che AGE non sia un confondenteb.
Dal confronto del modello 3 con il modello 2, vediamo che l’inserimento del termine di interazione
produce un significativo miglioramento del modello (p = 0.076): deduciamo che tra LWD ed AGE vi
possa essere interazione.
Quindi l’odds ratio di avere un neonato a basso peso (LWD =1 vs LWD =0) non è costante rispetto
all’età.
Un modo efficace per vedere la presenza di interazione consiste nell’esaminare, per via grafica i logit
stimati dal modello 3. La linea superiore nella Fig. 3.3 corrisponde al logit stimato per madri con LWD
=1 e la linea inferiore corrisponde al logit stimata per madri con LWD = 0.
Il log-odds ratio stimato per LWD = 1 vs LWD = 0 all’età AGE = x, dalla (3.15), è uguale alla distanza
verticale tra le due linee misurata in corrispondenza di un’ascissa AGE = x.
Dalla Fig. 3.3 vediamo che tale distanza è prossima a zero a 15 anni di età e poi progressivamente
aumenta. Poiché la distanza verticale non è costante dovremo scegliere alcune specifiche età a cui
fare riferimento per poter stimare l’effetto del basso pesso nell’ultimo periodo mestruale.
Sempre dalla Fig. 3.3 vediamo come nessuna madre LWD =1 ha più di 33 anni. Quindi pare logico
restringere le nostre stime dell’effetto del basso peso della madre in un range da 14 a 33 anni.
a
La variabile dicotomica LWD assume il valore 1 se il peso della madre in corrispondenza dell’ultima
mestruazione è inferiore a 110 pounds, altrimenti assume il valore zero.
b
A patto ovviamente che una modifica del 4% del coefficiente associato ad LWD sia clinicamente ininfluente.
48
Fig. 3.3.
1
LWD =1
0
Estimated Logit
-1-2
LWD = 0
-3
10 20 30 40 50
AGE
Plot of the estimated logit for women with lwd = 1 and for women with lwd = 0 from Model 3 in Tab. 3.14
Dalla (3.15) e dai risultati forniti dal modello 3, il log-odds ratio stimato (LDW =1 vs LWD =0) in
corrispondenza di un’età AGE = a, vale:
Per stimare la varianza, dobbiamo utilizzare la matrice di covarianza dei parametri stimati.
Tab. 3.15
Tab. 3.16
Dall’esame della Tab. 3.16 si nota come l’effetto di LWD sull’odds di avere un neonato di basso peso
alla nascita cresce esponenzialmente con l’età. Inoltre l’aumento di tale rischio diviene significativo
per un’età superiore o uguale a 25 anni.
3.8 Confronto tra Regressione Logistica e Analisi Stratificata per tabelle 2x2
Molti utilizzatori del modello logistico, specialmente coloro con un background di tipo
epidemiologico, hanno effettuato, ed effettuano tuttora, delle analisi stratificate di tabelle 2x2 per
valutare l’interazione e controllare il confondente. L’obiettivo principale di tali analisi stratificate è
quello di determinare se gli odds ratio sono costanti, o meglio omogenei, tra gli strati. Se gli odds
ratio sono omogenei, e solo in questo caso, è lecito calcolare successivamente un odds ratio globale
ottenuto con il metodo di Mantel-Haenszel o tramite una media pesata dei logit.
La stessa analisi può essere effettuata più semplicemente utilizzando il modello logistico secondo le
indicazioni fornite ai paragrafi 3.6 e 3.7.
In questa sezione, utilizzando il solito data set (low birth weight data), illustreremo analogie e
differenze tra i due approcci.
Consideriamo un’analisi del fattore di rischio smoking (SMOKE =1) rispetto al basso peso alla nascita
(LOW=1). Dalla Tab. 3.17, l’odds ratio crudo (non aggiustato) risulta:
30 ⋅ 86
OR = = 2.02
44 ⋅ 29
Tab. 3.17
50
La Tab. 3.18 presenta gli stessi dati stratificati in base alla razza della madre consentendo, come
vedremo, di calcolare l’odds ratio globale sia con il metodo di Mantel-Haenszel sia con la media
pesata dei logit.
Tab. 3.18
Lo stimatore di Mantel-Haenszel, con riferimento a dati tabulati secondo la Tab. 3.19 è la media
pesata degli odds ratio strato specifici ORi con pesi wi pari a:
bc
wi = i i
Ni
Tab. 3.19
Strato i-esimo
SMOKE
ai bi
LOW
ci di
Ni
51
Si ha pertanto:
bi ci ai di
∑ OR i ⋅
Ni
∑ Ni
OR MH = i
= i (3.19)
bc bc
∑i Ni i ∑i Ni i
i i
19 ⋅ 40 6 ⋅ 11 5 ⋅ 35
+ +
OR MH = 96 26 67 = 13.067 = 3.09
4 ⋅ 33 4 ⋅ 5 7 ⋅ 20 4.234
+ +
96 26 67
Lo stimatore dell’odds ratio globale, basato sulla media dei logit, è una media pesata, strato specifica,
dei log odds ratio con pesi wi pari al reciproco della loro varianzaa.
−1
1 1 1 1
wi = + + +
ai bi ci di
∑ w log OR i
i ( )
OR L = exp i (3.20)
∑i wi
La Tab.3.20 mostra le stime degli odds ratio, dei log-odds ratio, delle varianze dei log-odds ratio e dei
pesi con riferimento ai dati di Tab. 3.18.
Tab. 3.20
( )
log OR 1.751 1.194 0.223
Con i dati di Tab. 3.20, lo stimatore dell’odds ratio globale, basato sulla media dei logit, vale:
a
Quando un elemento della cella è nullo, la varianza non è definita. In tal caso si può aggirare il problema
aggiungendo il valore 0.5 al contenuto di ogni cella.
52
1.751 ⋅ 2.794 + 1.194 ⋅ 1.413 + 0.223 ⋅ 2.375 7.109
OR L = exp = exp = 2.95
2.794 + 1.413 + 2.375 6.582
L’elevata fluttuazione tra gli strati suggerisce che la variabile RACE può comportarsi come
confondente e/o come modificatrice d’effetto.
E’ importante sottolineare che questi stimatori forniscono un odds ratio globale attendibile solo se gli
odds ratio sono omogenei tra gli strati. Tale assunzione può essere verificata comparando le stime
strato specifiche con la stima globale calcolata appunto sotto l’ipotesi che l’odds ratio si mantenga
costante tra gli strati.
Il modo più semplice per verificare statisticamente l’omogeneità degli odds ratio è basato sulla
somma pesata delle deviazioni al quadrato dei log-odds ratio strato specifici rispetto alla stima
globale (ottenuta o con il metodo di Mantel-Haenszel o tramite la media pesata dei logit).
Il test statistico valuterà la seguente sommatoria:
( ) ( )
2
X H2 = ∑ w1 log OR i − log OR G (3.21)
i
che, sotto l’ipotesi nulla che gli odds ratio siano costanti tra gli strati, si distribuisce come una chi
quadro con gradi di libertà pari al numero dgli strati meno 1.
Rifiuteremo pertanto l’assunzione di omogeneità quando X H2 è sufficientemente elevato.
Con i dati di Tab. 3.20 si ottiene:
X H2 = 3.017 ∼ χ 22 fd → p = 0.221
Quindi, nonostante la apparente differenza tra glo odds ratio nei vari strati, il test indica che tale
fluttuazione è giustificabile dal campionamento.a
La stessa analisi può essere condotta in modo senz’altro più agevole fittando tre modelli logistici.
Tab. 3.20
Estimated Logistic Regression Coefficients for the Variable SMOKE, Log-Likelihood Ratio
Test Statistic (G), and Resulting p-Value for Estimation of the Stratified Odds Ratio and
Assessment of Homogeneity of Odds Ratios Across Strata Defined by RACE
Model SMOKE Log-Likelihood G df p
1 0.704 -114.90
2 1.116 -109.99 9.83 2 0.007
3 1751 -108.41 3.16 2 0.206
Nel modello 1 è stata inclusa solo la variabile SMOKE, nel modello 2 è stata aggiunta la variabile
RACE, infine nel modello 3 è stato inserito anche due termini di interazione SMOKExRACEb.
L’odds ratio crudo (non aggiustato) risulta:
a
Si deve notare che questo test statistico fornisce risultati attendibili solo se la numerosità campionaria nei
vari strati non è eccessivamente ridotta. Nell’esempio qui proposta tale assunzione è verificata.
b
Dato che la variabile RACE è su tre livelli, deve essere codificata con due variabili dummy. I termini di
interazione sono SMOKExRACE2 e SMOKExRACE3
53
OR NA = exp ( 0.704 ) = 2.02
Aggiustando per la variabile RACE, l’odds ratio stimato è:
OR ARACE = exp (1.116 ) = 3.05
Questo valore è molto simile all’odds ratio calcolato con il metodo di Mantel-Haenszel (3.086) e con il
metodo basato sulla media pesata dei logit (2.95)
La notevole differenza tra l’odds ratio crudo (2.02) e l’odds ratio aggiustato (3.05) indica che la
variabile RACE ha un elevato effetto confondente.
La verifica della omogeneità degli odds ratio tra i vari strati si conduce tramite un likelihood ratio test
del modello 2 verso il modello 3 in cui si sono aggiunti i due termini di interazione.
Il valore di questa statistica è G = 3.156. Sotto l’ipotesi nulla tale statistica si distribuisce come una chi
quadro con due gradi di libertà (i due termini di interazione aggiunti nel modello 3 e determina un
p-value di 0.206. Si conclude pertanto che l’interazione non è statisticamente significativa
giustificando l’utilizzo dell’odds ratio globale (aggiustato per RACE).
Come si vede l’utilizzo del modello logistico fornisce un mezzo rapido ed efficiente per ottenere la
stima dell’odds ratio stratificato e per valutare l’assunzione di omogeneità tra gli strati.
Tab. 3.21
g ( LWT = 150, RACE = White ) = 0.806 − 0.015 ⋅150 + 1.081 ⋅ 0 + 0.481 ⋅ 0 = −1.444 (3.22)
54
exp ( −1.444 )
π ( LWT = 150, RACE = White ) = = 0.191 (3.23)
1 + exp ( −1.444 )
L’interpretazione del valore fittato è la proporzione stimata di neonati a basso peso tra le donne di
razza White aventi un peso di 150 pounds.
Ora vogliamo tracciare un grafico che illustri gli effetti del peso della madre, di razza White, in
corrispondenza dell’ultimo periodo mestruale sul peso del neonato. Dovremo ottenere via software i
valori fittati per tutti i soggetti del data set (in questo caso di razza White)
La Fig.3.4 e la Fig. 3.5 mostrano gli andamenti delle stime rispettivamente dei logit e delle probabilità
associate con i relativi intervalli di confidenza.
Fig. 3.4
0
-1
Estimated Logit
-2
-3
-4
Graph of the estimated logit of low weight birth and 95 percent confidence intervals as a function of weight at
the last menstrual period for white women
55
Fig. 3.5
.5 .4
Estimated Probability
.2 .3
.1
0
Graph of the estimated probability of low weight birth and 95 percent confidence intervals as a function of
weight at the last menstrual period for white women
Utilizziamo ora il modello per stimare la probabilità di aver un neonato a basso peso per madri non
rappresentate nel campione di 189 soggetti. Supponiamo ad esempio di voler determinare tale
probabilità in una madre con un peso di 150 pounds e di razza Black.
Dalle (3.22) e (3.23) si ha:
g ( LWT = 150, RACE = Black ) = 0.806 − 0.015 ⋅150 + 1.081 ⋅1 + 0.481 ⋅ 0 = −0.363
exp ( −0.363)
π ( LWT = 150, RACE = Black ) = = 0.41
1 + exp ( −0.363)
Per ottenere gli intervalli di confidenza delle stime dobbiamo risolvere la (2.16) con la matrice di
covarianza riportata in Tab. 3.22 e un vettore dati x = [150,1,0,1].
56
Tab. 3.22
Estimated Covariance Matrix of the Estimated Coefficients in Tab. 3.21
LWT RACE_2 RACE_3 Constant
LWT 0.000041
RACE_2 -0.000647 0.2382
RACE_3 0.000036 0.0532 0.1272
Constant -0.005210 0.0226 -0.1035 0.7143
()
var g ( LWT = 150, RACE = Black ) = x ⋅ var βɵ ⋅ x ' = 0.1724 (3.24)
L’intervallo di confidenza, al 95%, del logit vale:
0.451
CI 95% ( Logit ) = −0.363 ± 1.96 ⋅ se = −0.363 ± 1.96 ⋅ 0.415 =
−1.176
0.611
CI 95% ( Probability ) =
0.235
Come nel caso di ogni modello di regressione, dobbiamo prestare attenzione a non estendere le
nostre inferenze al di fuori del range dei dati. Il range di LWT relativo alle 26 madri di sesso Black è
98-241 pounds. Notiamo come un peso di 150 pounds si trovi all’interno del range dei dati.
57
Applicazione Capitolo 3
Tab. 3.3
. use "C:\docb\Scuola\2010\logistic\chapter1.dta"
. generate agec=0
. replace agec=1 if age >=55
(27 real changes made)
| agec
chd | 0 1 | Total
-----------+----------------------+----------
0 | 51 6 | 57
1 | 22 21 | 43
-----------+----------------------+----------
Total | 73 27 | 100
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
agec | 2.093546 .5285335 3.96 0.000 1.057639 3.129453
_cons | -.8407832 .2550733 -3.30 0.001 -1.340718 -.3408487
------------------------------------------------------------------------------
Tab. 3.5
. clear
. input race chd cnt
race chd cnt
1 1 5
2 1 20
3 1 15
4 1 10
1 0 20
2 0 10
3 0 10
4 0 10
. end
. expand cnt
58
(92 observations created)
| race
chd | 1 2 3 4 | Total
-----------+--------------------------------------------+----------
0 | 20 10 10 10 | 50
1 | 5 20 15 10 | 50
-----------+--------------------------------------------+----------
Total | 25 30 25 20 | 100
------------------------------------------------------------------------------
chd | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
race_2 | 8 5.059619 3.29 0.001 2.316037 27.63341
race_3 | 6 3.872965 2.78 0.006 1.69319 21.26165
race_4 | 4 2.68327 2.07 0.039 1.074136 14.8957
------------------------------------------------------------------------------
. logit
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
race_2 | 2.079442 .6324524 3.29 0.001 .8398576 3.319026
race_3 | 1.791759 .6454942 2.78 0.006 .5266141 3.056905
race_4 | 1.386294 .6708175 2.07 0.039 .0715163 2.701072
_cons | -1.386294 .4999961 -2.77 0.006 -2.366269 -.4063201
------------------------------------------------------------------------------
59
Tab. 3.6
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
race_2 | 2.079442 .6324524 3.29 0.001 .8398576 3.319026
race_3 | 1.791759 .6454942 2.78 0.006 .5266141 3.056905
race_4 | 1.386294 .6708175 2.07 0.039 .0715163 2.701072
_cons | -1.386294 .4999961 -2.77 0.006 -2.366269 -.4063201
------------------------------------------------------------------------------
Tab. 3.7
drop race_1 - race_4
. gen race_2=race
. gen race_3=race
. gen race_4=race
. recode race_2 1=-1 2=1 3/4=0
(race_2: 100 changes made)
. recode race_3 1=-1 2=0 3=1 4=0
(race_3: 100 changes made)
. recode race_4 1=-1 2=0 3=0 4=1
(race_4: 100 changes made)
+---------------------------------+
| race race_2 race_3 race_4 |
|---------------------------------|
1. | 1 -1 -1 -1 |
2. | 2 1 0 0 |
3. | 3 0 1 0 |
4. | 4 0 0 1 |
+---------------------------------+
Tab. 3.8
60
Logistic regression Number of obs = 100
LR chi2(3) = 14.04
Prob > chi2 = 0.0028
Log likelihood = -62.293721 Pseudo R2 = 0.1013
------------------------------------------------------------------------------
chd | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
race_2 | .7650677 .3505944 2.18 0.029 .0779153 1.45222
race_3 | .4773856 .3622841 1.32 0.188 -.2326781 1.187449
race_4 | .0719205 .384599 0.19 0.852 -.6818797 .8257208
_cons | -.0719205 .2188982 -0.33 0.742 -.5009531 .3571121
------------------------------------------------------------------------------
Tab. 3.14
. use "E:\logistic\chapter2.dta",clear
. gen lwd=(lwt<110)
. gen lwdage=lwd*age
. logit low lwd age lwdage
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwd | -1.944089 1.724804 -1.13 0.260 -5.324643 1.436465
age | -.0795722 .0396343 -2.01 0.045 -.157254 -.0018904
lwdage | .1321967 .0756982 1.75 0.081 -.0161691 .2805626
_cons | .7744952 .9100949 0.85 0.395 -1.009258 2.558248
------------------------------------------------------------------------------
. estimates store A
61
Logistic regression Number of obs = 189
LR chi2(2) = 10.39
Prob > chi2 = 0.0056
Log likelihood = -112.14338 Pseudo R2 = 0.0443
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwd | 1.010122 .3642627 2.77 0.006 .2961806 1.724064
age | -.044232 .0322248 -1.37 0.170 -.1073913 .0189274
_cons | -.026891 .7621481 -0.04 0.972 -1.520674 1.466892
------------------------------------------------------------------------------
. estimates store B
. lrtest A B
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwd | 1.053762 .3615635 2.91 0.004 .3451102 1.762413
_cons | -1.053762 .1883882 -5.59 0.000 -1.422996 -.6845277
------------------------------------------------------------------------------
. estimates store C
. lrtest B C
. logit low
Iteration 0: log likelihood = -117.336
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_cons | -.789997 .156976 -5.03 0.000 -1.097664 -.4823297
------------------------------------------------------------------------------
62
. estimates store D
. lrtest C D
Fig. 3.3
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | -.0795722 .0396343 -2.01 0.045 -.157254 -.0018904
lwd | -1.944089 1.724804 -1.13 0.260 -5.324643 1.436465
lwdage | .1321967 .0756982 1.75 0.081 -.0161691 .2805626
_cons | .7744952 .9100949 0.85 0.395 -1.009258 2.558248
------------------------------------------------------------------------------
. predict el, xb
. graph twoway scatter el age, xlabel(10(5)45) ylabel(-3 .6)
Tab. 3.15
. estat vce
Tab. 3.16
. logit low age lwd lwdage
63
Logistic regression Number of obs = 189
LR chi2(3) = 13.53
Prob > chi2 = 0.0036
Log likelihood = -110.56997 Pseudo R2 = 0.0577
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | -.0795722 .0396343 -2.01 0.045 -.157254 -.0018904
lwd | -1.944089 1.724804 -1.13 0.260 -5.324643 1.436465
lwdage | .1321967 .0756982 1.75 0.081 -.0161691 .2805626
_cons | .7744952 .9100949 0.85 0.395 -1.009258 2.558248
------------------------------------------------------------------------------
( 1) lwd + 15 lwdage = 0
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.039627 .6865828 0.06 0.953 .284927 3.79334
------------------------------------------------------------------------------
( 1) lwd + 20 lwdage = 0
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 2.013443 .81264 1.73 0.083 .9128263 4.441098
------------------------------------------------------------------------------
( 1) lwd + 25 lwdage = 0
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 3.899427 1.636664 3.24 0.001 1.712913 8.877003
------------------------------------------------------------------------------
( 1) lwd + 30 lwdage = 0
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 7.552007 5.210013 2.93 0.003 1.953582 29.19397
------------------------------------------------------------------------------
64
Tab. 3.17
| SMOKE
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 86 44 | 130
1 | 29 30 | 59
-----------+----------------------+----------
Total | 115 74 | 189
Tab. 3.18
. sort race
. by race: tabulate low smoke
--------------------------------------------------
-> race = 1
| SMOKE
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 40 33 | 73
1 | 4 19 | 23
-----------+----------------------+----------
Total | 44 52 | 96
---------------------------------------------------
-> race = 2
| SMOKE
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 11 4 | 15
1 | 5 6 | 11
-----------+----------------------+----------
Total | 16 10 | 26
---------------------------------------------------
-> race = 3
| SMOKE
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 35 7 | 42
1 | 20 5 | 25
-----------+----------------------+----------
Total | 55 12 | 67
65
Tab. 3.20
. xi i.race
i.race _Irace_1-3 (naturally coded; _Irace_1 omitted)
. gen race2sm = _Irace_2*smoke
. gen race3sm = _Irace_3*smoke
. logit low smoke _Irace_2 _Irace_3 race2sm race3sm
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
smoke | 1.750517 .5982759 2.93 0.003 .5779173 2.923116
_Irace_2 | 1.514128 .7522689 2.01 0.044 .0397077 2.988548
_Irace_3 | 1.742969 .5946183 2.93 0.003 .5775389 2.9084
race2sm | -.556594 1.032235 -0.54 0.590 -2.579738 1.46655
race3sm | -1.527373 .8828152 -1.73 0.084 -3.257659 .202913
_cons | -2.302585 .5244039 -4.39 0.000 -3.330398 -1.274772
------------------------------------------------------------------------------
. lincom smoke, or
( 1) smoke = 0
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 5.757576 3.444619 2.93 0.003 1.782322 18.59915
------------------------------------------------------------------------------
. lincom smoke
( 1) smoke = 0
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.750517 .5982759 2.93 0.003 .5779173 2.923116
------------------------------------------------------------------------------
. lincom smoke+race2sm, or
Nota
(smoke (1) +_Irace_2(1) +_Irace_3(0)+ race2sm(1)+ race2sm3(0)) -(smoke(0)+_Irace_2(1)
+_Irace3(0)+race2sm(0)+reac3sm(0))=0
smoke(1)+race2sm=0
dacui lincom smoke+race2sm
Fine nota
( 1) smoke + race2sm = 0
66
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 3.3 2.775878 1.42 0.156 .6346062 17.16025
------------------------------------------------------------------------------
. lincom smoke+race2sm
( 1) smoke + race2sm = 0
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.193922 .8411752 1.42 0.156 -.4547507 2.842596
------------------------------------------------------------------------------
. lincom smoke+race3sm, or
( 1) smoke + race3sm = 0
------------------------------------------------------------------------------
low | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.25 .8114691 0.34 0.731 .350212 4.461584
------------------------------------------------------------------------------
. lincom smoke+race3sm
( 1) smoke + race3sm = 0
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | .2231436 .6491753 0.34 0.731 -1.049217 1.495504
------------------------------------------------------------------------------
cc low smoke,by(race)
67
Fig. 3.4
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwt | -.0152231 .0064393 -2.36 0.018 -.0278439 -.0026023
_Irace_2 | 1.081066 .4880512 2.22 0.027 .1245034 2.037629
_Irace_3 | .4806033 .3566733 1.35 0.178 -.2184636 1.17967
_cons | .8057535 .8451625 0.95 0.340 -.8507345 2.462241
------------------------------------------------------------------------------
. predict p1, xb
. predict sep1, stdp
. gen ulp1 = p1+1.96*sep1
. gen llp1 = p1-1.96*sep1
. twoway (connected p1 lwt if race==1, sort) (line ulp1 lwt if race==1, sort) (line llp1
lwt if race==1, sort)
Fig. 3.5
. twoway (connected prob1 lwt if race==1, sort) (line ulprob1 lwt if race==1, sort) (line
llprob1 lwt if race==1, sort)
Tab. 3.21
68
------------------------------------------------------------------------------
low | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwt | -.0152231 .0064393 -2.36 0.018 -.0278439 -.0026023
_Irace_2 | 1.081066 .4880512 2.22 0.027 .1245034 2.037629
_Irace_3 | .4806033 .3566733 1.35 0.178 -.2184636 1.17967
_cons | .8057535 .8451625 0.95 0.340 -.8507345 2.462241
------------------------------------------------------------------------------
Tab. 3.22
. estat vce
Formula 3.24
. mat x =[150,1,0,1]
. mat varcov=e(V)
. mat list varcov
symmetric varcov[4,4]
lwt _Irace_2 _Irace_3 _cons
lwt .00004146
_Irace_2 -.00064703 .23819397
_Irace_3 .00035585 .05320001 .12721584
_cons -.00521365 .02260223 -.1034968 .71429959
. mat var=x*varcov*x'
. mat list var
symmetric var[1,1]
r1
r1 .17245375
. svmat var, name(se)
. replace se1=sqrt(se1)
. di se1
.41527551
69
70
Capitolo 4
Metodi e Strategie per la Costruzione del Modello Logistico
4.1 Introduzione
Nei capitoli precedenti abbiamo centrato l’attenzione sulle stime e sulle interpretazioni dei
coefficienti di un modello di regressione logistica. Gli esempi che abbiamo discusso erano
caratterizzati da poche variabili indipendenti che si ritenevano le sole variabili esplicative.
Nella parica quotidiana ci troveremo invece spesso di fronte a una gran mole di variabili
potenzialmente esplicative tra cui scegliere quelle da inserire nel modello.
Ecco la necessità di:
1. stabilire un metodo con cui decidere quali variabili inserire nel modello;
2. approntare delle strategie atte a valutare l’adeguatezza del modello sia in termini di variabili
individuali, sia in termini globali.
Step 2
Una volta completata l’analisi univariata, selezioneremo le variabili da inserire nell’analisi
multivariata. Qualsiasi variabile, di rilevanza clinica, che il test univariato ha associato ad un p-value
<0.25 è da considerarsi candidata all’inserimento nel modello multivariato4. Un problema legato
all’approccio univariato consiste nel fatto che in tal modo si ignora la possibilità che un sub-set di
71
variabili tutte, a livello individuale, debolmente associate alla variabile risposta, possa essere un
predittore importante quando considerato nel suo insieme.a
Un altro approccio per selezionare le variabili consiste nell’affidarsi agli algoritmi disponibili sul
mercato (stepwise method). Tale approccio è tuttora oggetto di critiche in quando potrebbe portare
all’inserimento di variabili di nessun valore clinico e/o biologico5. Il problema tuttavia non è insito
tanto nelle procedure automatiche, quanto in chi esamina i risultati. Ribadiamo che l’analista, non il
computer, è il responsabile ultimo della la revisione e valutazione di un modello.
Step 3
Una volta definite le variabili da inserire nel modello multivariato dovremo procedere alla
valutazione dell’importanza di ciascuna variabile inserita. Dovremo pertanto:
1. valutare la Wald statistic per ciascuna variabile;
2. confrontare ciascun coefficiente stimato con il coefficiente riferito alla singola variabile nel
modello univariato.
Le variabili che non contribuiscono al modello, secondo i criteri prima illustrati, dovrebbero essere
eliminate e si dovrebbe procedere alla costruzione di un nuovo modello più parsimonioso che dovrà
essere confrontato con il precedente tramite il likelihood ratio test.
Successivamente dovremo anche confrontare i coefficienti stimati delle variabili appartenenti al
nuovo modello con i relativi coefficienti del modello completo. Particolare attenzione dovrà essere
posta alle variabili i cui coefficienti hanno subito, nel passaggio dal modello completo a quello
ridotto, una variazione notevole. Ciò indica che una o più delle variabili escluse svolge un importante
ruolo di confondente e pertanto deve essere mantenuta nel modello finale. Questo processo di
uscita e rientro delle variabili dovrà continuare fino a che tutte le variabili escluse siano clinicamente
e/o statisticamente ininfluenti.
Il modello ottenuto alla fine di questo step è denominato preliminary main effects model.
Step 4
Una volta ottenuto il preliminary main effects model dovremo controllare, per le variabili continue,
l’assunzione di linearità rispetto al logit e, se del caso, riparametrizzare la variabile. In seguito
illustreremo alcuni metodi specifici per riparametrizzare le variabili.
Il modello ottenuto alla fine di questo step è denominato main effect model.
Step 5
Una volta ottenuto il main effect model dovremo valutare le eventuali interazioni tra le variabili
inserite nel modello. Ricordiamo che la presenza di interazione tra due variabili implica che l’effetto
di una non si mantiene costante nei vari livelli dell’altra. Per esempio l’interazione tra sex ed age
implica che il coefficiente relativo ad age è diverso nei gruppi male e female.
La variabili di interazione saranno create come prodotto aritmetico delle coppie di variabili coinvolte.
Inseriremo le variabili di interazione individualmente e ne valuteremo la significatività statistica
mediante il consueto likelihood ratio test.
Il modello ottenuto alla fine di questo step è denominato preliminary final model e in seguito
dovremo discuterne l’adeguatezza.
a
Nel seguito vedremo come risolvere, almeno parzialmente, questo problema.
72
4.2.1 Scelta delle Scale di Rappresentazione delle Variabili Continue
La scala (lineare, quadratica, logaritmica…) più opportuna con cui inserire una variabile nel modello
può essere determinata secondo varie metodologie. In questa sede ci occuperemo di tre metodi tra i
più usati nella pratica:
1. l’analisi dello scattter plot (logit vs scale);
2. l’analisi dei quartili;
3. l’uso dei polinomi frazionali.
Analisi dello scatterplot
Si effettua analizzando visivamente se il plot logit vs scale (vedi Fig. 4.1) assume o meno un aspetto
lineare. Questo metodo viene utilizzato principalmente in presenza di modelli univariati , mentre è di
scarsa utilità quando ci troviamo, come nella maggioranza dei casi, ad esaminare modelli multivariati.
g ( x, β ) = β 0 + β1 ⋅ x (4.1)
dove al solito β è il vettore dei coefficienti del modello.
73
Un modo di generalizzare tale espressione del logit consiste nel parametrizzare la covariata tramite
una serie di funzioni di potenza che saranno in seguito definite.
J
g ( x, β ) = β 0 + ∑ Fj ( x ) ⋅ β j (4.2)
j =1
Prima di illustrare una esemplificazione del metodo proposto, dobbiamo ancora discutere come
inserire un “certo tipo di variabile” che si incontra con frequenza nella pratica clinica. Consideriamo
uno studio nel quale si chiede ai partecipanti di specificare il numero x di sigarette presumibilmente
fumate durante l’intero arco della loro vita. I non fumatori specificano tutti il valore zero, mentre ad
a 0
con con x si intende il logaritmo della variabile.
Le coppie distinte ( p1 , p2 ) ∈℘×℘ sono 36.
b
c
Si noti che ciascun termini contenente un polinomio frazionario contribuisce per due gradi di libertà: uno
associato al coefficiente e uno associato al termine di potenza (6).
74
esempio, un fumatore da 20 anni di mezzo pacchetto di sigarette al giorno dovrà specificare un
valore di circa 73000.
Ciò che rende questa variabile “anomala” è che il valore zero è molto più frequente di quanto ci
attenderemmo in presenza di una distribuzione continua. Inoltre, considerando i valori non nulli, è
evidente che avranno una coda a destra molto accentuata.
In questa situazione, con riferimento al modello univariato, è consigliabile utilizzare la seguente
modellizzazione7:
0 per x = 0
g ( x, β ) = β 0 + β1 ⋅ d + β 2 ⋅ x d = (4.4)
1 per x > 1
Con la parametrizzazione proposta dalla (4.4) si rende possibile il calcolo di due differenti odds ratio.
( ) (
OR x = xɶ , x = 0 = exp β1 + β 2 ⋅ xɶ ) (4.5)
OR ( x = x + c, x = x ) = exp ( β 2 ⋅ c )
Tab. 4.1
Description of Variables in the UMARU IMPACT Study
Lo studio ha lo scopo di determinare se c’è una differenza tra due programmi di trattamento, dopo
aver aggiustato per eventuali confondenti e aver considerato le varie interazioni. L’outcome
considerato in questa analisi è la condizione “libero dall’uso di droghe per almeno un anno”(dfree).
La Tab. 4.2 mostra i risultati di tutti i modelli fittati con un’analisi univariata.
Tab. 4.2
75
Univariable Logistic Models for the UIS (n = 575)
Variable Coeff. Std. Err. OR 95%CI G p
§
AGE 0.018 0.0153 1.20 0.89; 1.62 1.40 0.237
$
BECK -0.008 0.0103 0.96 0.87; 1.06 0.64 0.425
NDRGTX -0.075 0.0247 0.93 0.88; 0.97 11.84 <0.001
IVHX_2 -0.481 0.2657 0.62 0.37; 1.04
IVHX_3 -0.775 0.2166 0.46 0.30; 0.70 13.5 0.001
RACE 0.459 0.2110 1.58 1.04; 2.39 4.62 0.032
TREAT 0.437 0.1931 1.55 1.06; 2.26 5.15 0.023
SITE 0.264 0.2034 1.30 0.87; 1.94 1.67 0.197
§ Odds Ratio for a 10 years increase in AGE
$ Odds Ratio for a 5 point incease in BECK
Con l’eccezione di beck (p = 0.425) tutte le variabili mostrano una certa associazione (p<0.25) con
l’outcome, giustificando il loro inserimento in un modello multivariato (Tab. 4.3).
Tab. 4.3
Results of Fitting a Multivariable Model Containing the
Covariate Significant at 0.25 level in Tab. 4.2
Variable Coeff Std.Err. z P>|z|
AGE 0.050 0.0173 2.91 0.004
NDRGTX -0.062 0.0256 -2.40 0.016
IVHX_2 -0.0603 0.2873 -2.10 0.036
IVHX_3 -0.733 0.2523 -2.90 0.004
RACE 0.226 0.2233 1.01 0.311
TREAT 0.443 0.1993 2.22 0.026
SITE 0.149 0.2172 0.68 0.494
Constant -2.405 0.5548 -4.34 <0.001
Log likelihood = -309.6241
Nel modello multivariato si vede come le variabili site e race perdano il loro valore predittivo
originario e quindi siano candidabili all’esclusione dal modello finale. Tuttavia la variabile site è stata
mantenuta dato che rispetto ad essa è stata effettuata la randomizzazione, la variabile race è stata
mantenuta nel modello dato che molti studi precedenti ne hanno verificato l’importante valore
predittivo.
Una volta definito il modello multivariato dobbiamo valutare la scala di inserimento delle variabili
continue age e ndrgtx. Valuteremo prima la scala di age (p = 0.004) e successivamente quella di
ndrgtx (p = 0.16).
Come visto nel precedente paragrafo, effettueremo la valutazione delle scala tramite tre metodi:
1. metodo visivo: esame del plot “logit vs covariata”;
2. metodo dei quartili o altro tipo di suddivisione;
3. metodo dei polinomi frazionari.
• Valutazione della scala rappresentativa della variabile age
76
Metodo visivo
Fig. 4.2
.5
0
Smoothed Logit
-.5
-1
-1.5
20 30 40 50 56
age
Dall’esame del grafico si nota evidente un andamento lineare, a modesta pendenza, da 20 a 40 anni.
Successivamente l’andamento, pur mantenendosi lineare, accentua la sua pendenza. L’esame
d’insieme del grafico supporta l’idea che il legame tra il logit e la covariata age sia di tipo lineare, ma
le diverse pendenze nel gruppo <40 vs il gruppo >40 potrebbero giustificare una nuova codifica della
variabile age tramite l’inserimento di una variabile dummy (<40 = 0; > 40 = 1).
77
Fig. 4.3
.75
.5
coef
.250
-.25
20 30 40 50
age
Plot of estimated logistic regression coefficients versus approximate quartile midpoints of age.
L’esame del plot non è conclusivo: l’ipotesi di una relazione lineare tra i coefficienti e la covariata
age, suddivisa per quartili, non può essere pienamente sopportata.
Potrebbe essere presa in considerazione l’ipotesi di ricodificare la covariata age tramite una variabile
dicotomica centrata sulla mediana. Questa proposta si giustifica con due osservazioni:
1. i coefficienti riferibili al primo e secondo quartile sono entrambi prossimi allo zero, mentre i
restanti coefficienti sono abbastanza distanti dal valore comune dei due precedenti;
2. gli intervalli di confidenza dei coefficienti relativi al terzo e quarto quartile sono
parzialmente sovrapposti.
78
Metodo dei polinomi frazionari
Il risultato dell’analisi condotta tramite i polinomi frazionari è parzialmente riportato nella Tab. 4.5
Tab. 4.5
Summary of the Use of the Method of Fractional Polynomials for age
df Deviance G p-Value Powers
Not in model 0 627.801
Linear 1 619.248 0.000 0.003# 1
J=1 2 618.882 0.366 0.545¥ 3
J=2 4 618.769 0.479 0.945¶ -2,3
# Compares linear model to model without age
¥ Compares the J=1 model to the linear model
¶ Compares the J=2 model to the J=1 model
Dettaglio dell’analisi:
1. il valore p = 0.003 corrisponde ad un likelihood ratio test, ad un grado di libertà, del modello
non contenente la covariata age verso il modello che la contiene come singolo termine
lineare (il modello fittato in Tab. 4.3). Notiamo che i due modelli sono gerarchici (nested).
2. Il valore p = 0.545 corrisponde ad un likelihood ratio test, ad un grado di libertà, del modello
contenente age come singolo predittore lineare verso il modello contenente age3 .
G = 619.248-618.882 = 0.366 e Pr χ12 ≥ 0.366 = 0.545
3. Il valore p = 0.945 corrisponde ad un likelihood ratio test, a due gradi di libertà, del modello
contenente age3 verso il modello contenente age-2 e age3.
G = 618.882-618.769 = 0.113 e Pr χ 22 ≥ 0.113 = 0.945
4. Il likelihood ratio test per il miglior modello J = 2 verso il modello lineare conduce ai
seguenti valori: G = 619.248 – 618.769 = 0.479 e Pr χ 32 ≥ 0.479 = 0.923
(dato non riportato in Tab. 4.5).
Per i gradi di libertà associati a questi likelihood ratio test si veda la nota c di pag.74
Si vede pertanto che il miglior modello non lineare, quello corrispondente a J = 2 con potenze -2 e 3,
non è significativamente diverso dal modello lineare: si conclude pertanto che l’analisi con i polinomi
frazionari suggerisce di inserire nel modello la covariata age come singolo termine lineare.
79
• Valutazione della scala rappresentativa della variabile ndrgtx
Ora utilizzeremo gli stessi tre metodi per scegliere la scala più opportuna con cui inserire nel modello
la variabile ndrgtx (numero di precedenti trattamenti).
Metodo visivo
Fig. 4.4
-.7306
Smoothed Logit
-1.9305
012 5 10 15 20 25 30 35 40
Number of Previous Drug Treatments (ndrugtx)
Univariable lowess smoothed logit versus number of previous drug treatments (ndrgtx)
La fig. 4.4 mostra un iniziale incremento del logit fino a 1 e 2 trattamenti. Segue una decrescita fino
15 trattamenti, mentre da 15 in poi il logit può ritenersi costante. Di particolare interesse è
determinare se l’iniziale crescita sia reale e non un artefatto conseguente all’algoritmo di
“addolcimento” (smoothing).
80
Tab. 4.6
Results of the Design Variable Analysis of Number of Previous Drug
Treatments (ndrgtx) from the Multivariable Model Containing the
Variables Shown in the Model in Tab. 4.3
Group 1 2 3 4
Interval 0 1-2 3-15 16-40
Number 79 173 294 29
Midpoint 0 1.5 9 28
Coeff. 0.0 0.406 -0.154 -0.585
95% CI 0.20, 1.01 -0.76, 0.46 -1.80, 0.63
Fig. 4.5
Plot of estimated logistic regression coeffcients from Tab 4.5 versus midpoints of number of previous drug
treatment groups.
I risultati presentati in Tab. 4.6 e Fig. 4.5 sono in accordo con quando dedotto dall’esame della Fig.
4.4. Il coefficiente cresce per un primo tratto per poi decrescere. Poiché il valore zero è compreso in
ciascun intervallo di confidenza, nessuno dei coefficienti è significativamente diverso da zero: ciò è in
contrasto con la significatività della covariata ndrgtx ottenuta dal modello logistico multiplo fittato in
Tab. 4.3.
81
Metodo dei polinomi frazionari
Di seguito riportiamo il risultato parziale dell’analisi condotta con il metodo dei polinomi frazionari.
Tab. 4.7
Summary of the Use of the Method of Fractional Polynomials for ndrgtx
df Deviance G p-Value Powers
Not in model 0 626.176
Linear 1 619.248 0.000 0.008# 1
J=1 2 618.818 0.43 0.512¥ 0.5
J=2 4 613.451 5.797 0.068¶ -1, -1
# Compares linear model to model without age
¥ Compares the J=1 model to the linear model
¶ Compares the J=2 model to the J=1 model
I risultati dell’analisi suggeriscono che il modello con J = 2 potrebbe rappresentare una possibile
trasformazione non lineare della covariata ndrgtx. Questo modello è significativamente differente dal
modello J = 1 a livello p = 0.10 (0.068<0.10).
Confrontando il modello J = 2 con il modello lineare si ha:
G = 619.248 – 613.451 = 5.797 Pr χ 32 ≥ 5.797 = 0.122
Pertanto il modello J = 2 offre soltanto un piccolo miglioramento rispetto al modello lineare.
Fig. 4.6
82
Adesso possiamo vedere se il modello J = 2 è in grado di ottenere una curva Logit vs ndrgtx simile a
quella ottenuta in Fig. 4.4: la Fig.4.6 mostra che le due curve possono ritenersi quasi sovrapponibili.
I clinici da noi interpellati hanno confermato che l’andamento del logit rappresentato in Fig. 4.4
(aumento da 0 a 2 e successivo decremento) è in perfetto accordo con la loro esperienza e si sono
mostrati interessati alla possibilità di descrivere il fenomeno con una funzione parametrica.
Abbiamo deciso pertanto di procedere inserendo nel modello i due termini suggeriti dall’utilizzo dei
polinomi frazionari.
In Tab. 4.8 riportiamo il fitting del modello finale e di seguito le trasformazioni polinomiali.
Tab. 4.8
Results of Fitting the Multivariable Model with the Two Fractional
Polynomial Transformation of ndrgtx (scaled transformation)
Variable Coeff. Std. Err. z P>|z| [95% Conf.Interval]
age 0.054446 0.017488 3.11 0.002 0.02017 0.088721
ndrgfp1 0.981453 0.288847 3.4 0.001 0.415323 1.547584
ndrgfp2 0.361125 0.109859 3.29 0.001 0.145806 0.576445
_Iivhx_2 -0.60883 0.291106 -2.09 0.036 -1.17939 -0.03827
_Iivhx_3 -0.72381 0.255564 -2.83 0.005 -1.22471 -0.22292
race 0.247703 0.224215 1.1 0.269 -0.19175 0.687156
treat 0.422367 0.200365 2.11 0.035 0.029658 0.815075
site 0.173214 0.220976 0.78 0.433 -0.25989 0.606319
_cons -4.31381 0.792453 -5.44 <0.001 -5.86699 -2.76063
In effetti STATA, se non altrimenti specificato, utilizza una codifica centrata per le nuove variabili. Di
seguito riportiamo il fitting del modello effettuato da STATA nelle condizioni di default (scaled and
central version) e le nuove codifiche della variabilia.
a
I due modelli riportati in Tab. 4.8 e Tab. 4.9 differiscono solamente per il termine relativo all’intercetta
83
Tab. 4.9
Results of Fitting the Multivariable Model with the Two Fractional
Polynomial Transformation of ndrgtx (scaled and central transformation)
Variable Coeff. Std. Err. z P>z [95% Conf.Interval]
age 0.054446 0.017488 3.11 0.002 0.02017 0.088721
Indrg__1 0.981453 0.288847 3.4 0.001 0.415323 1.547583
Indrg__2 0.361125 0.109859 3.29 0.001 0.145806 0.576445
_Iivhx_2 -0.60883 0.291106 -2.09 0.036 -1.17939 -0.03827
_Iivhx_3 -0.72381 0.255564 -2.83 0.005 -1.22471 -0.22292
race 0.247703 0.224215 1.1 0.269 -0.19175 0.687156
treat 0.422367 0.200365 2.11 0.035 0.029658 0.815075
site 0.173214 0.220976 0.78 0.433 -0.25989 0.606319
_cons -2.92756 0.586653 -4.99 0 -4.07738 -1.77774
ndrgtx + 1
x=
10
x −1 = 1.804204581 (x −1
⋅ log ( x ) ) = −1.064696882
Dobbiamo ora valutare la necessità di includere uno o più termini di interazione. Si prepara una lista
di interazioni clinicamente plausibili che può comprendere o meno tutte le possibili interazioni.
84
Il modello degli effetti principali contiene sei covariate da cui si ottengono 15 possibili interazioni
(5+4+3+2+1) che riterremo tutte di importanza clinica. La Tab. 4.11 mostra i risultati delle aggiunte
individuali dei termini di interazione sul modello degli effetti principali.
Tab. 4.11
Log-Likelihood, Likelihood-Ratio Test Statistic (G), Degrees of
Freedom (df), and p-Value for Interaction of Interest When Added
to the Main Effects Model in Tab. 4.8
Interaction¥ Log-Likelihood G df p-value
Main Effects Model -306.7256
age*ndrgtx -302.8314 7.79 2 0.020
age*ivhx -306.3559 0.74 2 0.691
age*race -306.6269 0.20 1 0.657
age*treat -305.3410 2.76 1 0.096
age*site -305.92.65 1.60 1 0.206
ndrgtx*ivhx -304.0092 5.43 4 0.246
ndrgtx*race -304.6541 4.14 2 0.126
ndrgtx*treat -305.2580 2.94 2 0.231
ndrgtx*site -306.7239 0.01 2 0.998
ivhx*race -305.8361 1.78 2 0.411
ivhx*treat -306.7051 0.04 2 0.980
ivhx*site -306.2910 0.87 2 0.648
race*treat -306.2541 0.94 1 0.332
race*treat -302.4533 8.54 1 0.004
treat*site -306.7087 0.03 1 0.854
¥ All Interactions involving ndrgtx and ivhx are formed using ndrgfp1,
ndrgfp2 and _Iivhx_1, _Iivhx_2 respectively.
La Tab. 4.11 mostra che solamente le interazioni agexndrgtx, agextreat e racexsite sono sgnificative
ad un livello di fiducia del 10%.
Adesso inseriamo queste tre interazioni nel modello degli effetti principali. Il fitting di questo modello
è presentato in Tab. 4.12.
Dalla Tab. 4.12 vediamo come i due coefficienti relativi all’interazione agexndrgtx non sono
significativi (p = 0.401 e p = 0.611 rispettivamente). Tuttavia se effettuiamo un likelihood ratio test
per valutare la possibilità di una loro esclusione dal modello otteniamo un p =0.026, altamente
significativo. Ci troviamo pertanto di fronte a questo paradosso: il Wald test individuale sui
coefficienti propone una esclusione dell’interazione agexndrgtx, mentre il likelihood ratio test ci
indirizza verso un loro mantenimento.
Questa situazione potrebbe essere dovuta all’alta correlazione (-0.99) tra Indru__1 e Indru__2.
85
Proviamo pertanto a fittare un nuovo modello in cui, oltre alle interazioni agextreat e racexsite,
manteniamo solo l’interazione agexndrgfp1 (0.401<0.611) escludendo l’interazione agexndrgfp2.a
Tab. 4.12
Results of Fitting the Multivariable Model with Thee Interactions (four terms)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
Indrg__1 2.487709 1.596674 1.56 0.119 -0.64171 5.617132
Indrg__2 0.744835 0.604305 1.23 0.218 -0.43958 1.929252
age 0.062275 0.02814 2.21 0.027 0.007121 0.117429
_Iivhx_2 -0.62437 0.299615 -2.08 0.037 -1.2116 -0.03713
_Iivhx_3 -0.69054 0.262741 -2.63 0.009 -1.2055 -0.17557
race 0.699639 0.266764 2.62 0.009 0.17679 1.222488
treat -1.27405 1.07897 -1.18 0.238 -3.38879 0.840692
site 0.497761 0.256343 1.94 0.052 -0.00466 1.000184
agextreat 0.05207 0.032438 1.61 0.108 -0.01151 0.115648
racexsite -1.41688 0.531819 -2.66 0.008 -2.45922 -0.37453
agexndrgfp1 -0.03877 0.046132 -0.84 0.401 -0.12919 0.051643
agexndrgfp2 -0.009 0.017702 -0.51 0.611 -0.0437 0.025691
_cons -3.44592 0.95939 -3.59 0 -5.32629 -1.56555
Tab. 4.13
Results of Fitting the Multivariable Model with Thee Interactions (three terms)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
Indru__1 1.705601 0.410632 4.15 0 0.900777 2.510425
Indru__2 0.444059 0.117593 3.78 0 0.213581 0.674536
age 0.0609 0.028044 2.17 0.03 0.005933 0.115866
_Iivhx_2 -0.62991 0.299436 -2.1 0.035 -1.21679 -0.04302
_Iivhx_3 -0.69488 0.262544 -2.65 0.008 -1.20946 -0.1803
race 0.686927 0.265402 2.59 0.01 0.166748 1.207105
treat -1.25279 1.080874 -1.16 0.246 -3.37126 0.865688
site 0.490383 0.256008 1.92 0.055 -0.01138 0.99215
agextreat 0.051597 0.032536 1.59 0.113 -0.01217 0.115367
racexsite -1.40161 0.530916 -2.64 0.008 -2.44218 -0.36103
agexndrgfp1 -0.01553 0.006092 -2.55 0.011 -0.02747 -0.00359
_cons -3.37246 0.946332 -3.56 0 -5.22723 -1.51768
Il fitting di questo modello è presentato in Tab. 4.13: la statistica di Wald riferita all’interazione
agextreat non è significativa (p = 0.113) e il likelihood ratio test propone coerentemente l’esclusione
di tale interazione (p = 0.111). Conseguentemente il modello finale preliminare (preliminary final
a
La variabile agexndrgfp1 è ottenuta moltiplicando age per Indrg__1
86
model) conterrà gli effetti principali e i due termini di interazione reacexsite e agexndrgfp1 e il suo
fitting è presentato in Tab. 4.14.
Tab. 4.14
Preliminary Final Model Containing Significant Main Effects and
Interactions
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
Indru__1 1.669035 0.407152 4.1 0 0.871032 2.467038
Indru__2 0.433689 0.116905 3.71 0 0.204559 0.662818
age 0.089089 0.021531 4.14 0 0.046889 0.131288
_Iivhx_2 -0.63463 0.298719 -2.12 0.034 -1.22011 -0.04915
_Iivhx_3 -0.70495 0.261581 -2.69 0.007 -1.21764 -0.19226
race 0.684107 0.264136 2.59 0.01 0.166411 1.201803
treat 0.434926 0.20376 2.13 0.033 0.035564 0.834287
site 0.516201 0.254888 2.03 0.043 0.016629 1.015773
racexsite -1.42946 0.529781 -2.7 0.007 -2.46781 -0.39111
agexndrgfp1 -0.01527 0.006027 -2.53 0.011 -0.02708 -0.00346
_cons -4.29433 0.751474 -5.71 0 -5.76719 -2.82147
Ricordiamo che il preliminary final model sarà soggetto, successivamente, ad una valutazione della
bontà del fitting (goodness fit) e dell’adeguatezza del modello (model adeguacy).
a
Si tratta ovviamente di valori solamente indicativi.
b
Ovviamente solo se pmin < pE..
87
c) Una volta ottenuto il modello con due covariate si pone sotto esame la prima covariata
inserita: se il valore di p ad essa associato è maggiore di pR, la covariata già inserita al punto
precedente viene rimossa, in caso contrario viene mantenuta nel modello
2) Procedura backward
a) Si fitta un modello comprendente tutte le covariate. Si seleziona la covariata con p maggiore
e la si esclude dal modello.a
b) Si fitta un modello con tutte le n-1 covariate. Si selezione la covariata con p maggiore e la si
esclude dal modello.
c) Una volta ottenuto il modello con n-2 covariate si pone sotto esame la prima covariata
esclusa. La si reinserisce nel modello e se ne valuta il valore di p: se tale valore è inferiore a pE
la covariata in precedenza esclusa viene reinserita nel modello.
Di seguito mostriamo il risultato di due stepwise (forward e backward) applicate al data set descritto
in Tab.4.1
Tab. 4.15
Forward: begin with empty model
p = 0.0014 <0.15 adding _Iivhx_2, _Iivhx_3
p = 0.0072 <0.15 adding age
p = 0.0141 <0.15 adding ndrugtx
p = 0.230 <0.15 adding treat
a
Ovviamente solo se pMAX > pR
88
Tab. 4.16
Backward: begin with full model
p = 0.4939 >=0.20 removing site
p = 0.3473 >=0.20 removing race
a) Celle vuote
Consideriamo la seguente tabella di contingenza
Tab. 4.17
A Contingency Table with Zero Cell Count
Variable x
Outcome Total
1 2 3
1 7 12 20 39
0 13 8 0 21
Total 20 20 20 60
OR 1 0.359 ?
Qualora sottoponessimo questi dati ad un’analisi logistica, non otterremmo dei risultati: l’odds
rattio del gruppo 3 verso il gruppo 1 assume un valore infinitamente grande.
Una soluzione semplicistica, ma in concreto scarsamente utile, potrebbe consistere nel sommare,
in ogni cella il valore 0.5.
b) Completa separazione
La cosiddetta completa separazione si ha quando il valore di una covariata permette di risalire
inequivocabilmente all’outcome. Ad esempio consideriamo il legame tra accidente coronarico ed
età dei soggetti: se nel nostro data base tutti i soggetti con accidente coronarico avessero una età
superiore a 50 anni e per contro tutti i soggetti senza accidente coronarico avessero un’età
89
inferiore a 50 anni, ci troveremmo di fronte ad un caso di completa separazione. In questa
situazione la stima di massima verosimiglianza non esiste: affinché la stima di massima
verosimiglianza esista, finita, occorre che ci sia un certo overlap tra i valori delle covariate e
l’outcome considerato.
La presenza di una completa separazione è condizionata dalla numerosità del campione, dal
numero di soggetti in cui l’outcome è presente e dal numero di variabili incluse nel modello.
La probabilità che il modello degli effetti principali mostri una completa separazione aumenta
all’aumentare del numero di variabili inserite nel modello. Pertanto tutte le strategie che
includono tutte le variabili nel modello (ad esempio una stepwise backward) sono
particolarmente sensibili alla separazione completa.
c) Collinearità
Il fitting del modello logistico è sensibile alla collinearità tra le variabili indipendenti. Molti
software implementano una serie di test per controllare il grado di collinearità tra le covariate.
Particolare cautela dovrà prestarsi a quelle situazioni in cui si hanno un numero elevato di
variabili indipendenti. All’aumentare del numero delle variabili indipendenti, a parità di ogni altra
condizione, aumenta la probabilità di imbatterci in problemi di collinearità. Sotto questo punto di
vista l’approccio Backward, che prevede di partire con il modello pieno, risulta più sfavorevole
rispetto all’approccio Forward.
In generale i problemi numerici legati al valore zero di alcune celle, alla separazione completa e
alla collinearità sono evidenziati da errori standard stimati esagerati e, qualche volta, anche da
stime dei coefficienti molto elevate. In tali situazioni, occorre porre particolare cautela
nell’interpretazione dei risultati .
90
Applicazione Capitolo 4
Tab. 4.2
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0181723 .015344 1.18 0.236 -.0119014 .048246
_cons | -1.660226 .5110844 -3.25 0.001 -2.661933 -.6585194
------------------------------------------------------------------------------
------------------------------------------------------------------------------
dfree | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | 1.018338 .0156254 1.18 0.236 .9881691 1.049429
------------------------------------------------------------------------------
. estimates store A
. logit dfree
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_cons | -1.068691 .095599 -11.18 0.000 -1.256061 -.88132
------------------------------------------------------------------------------
91
. estimates store B
. lrtest A B
logit dfree
estimates store A
logit dfree beck
estimates store B
lrtest A B
……
Tab. 4.3
xi:logit dfree age ndrugtx i.ivhx race treat site
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0503708 .0173224 2.91 0.004 .0164196 .084322
ndrugtx | -.0615121 .0256311 -2.40 0.016 -.1117481 -.0112761
_Iivhx_2 | -.6033296 .2872511 -2.10 0.036 -1.166331 -.0403278
_Iivhx_3 | -.732722 .252329 -2.90 0.004 -1.227278 -.2381662
race | .2261295 .2233399 1.01 0.311 -.2116087 .6638677
treat | .4425031 .1992909 2.22 0.026 .0519002 .8331061
site | .1485845 .2172121 0.68 0.494 -.2771434 .5743125
_cons | -2.405405 .5548058 -4.34 0.000 -3.492805 -1.318006
------------------------------------------------------------------------------
Fig. 4.2
92
Tab. 4.4
. summarize age
-- Binom. Interp. --
Variable | Obs Percentile Centile [95% Conf. Interval]
-------------+-------------------------------------------------------------
age | 575 25 27 27 28
| 50 32 32 33
| 75 37 36 37
. sort age
. gen age1= (_n<=148)
. gen age2= (_n>148 & _n<=292)
. gen age3= (_n>292 & _n<=458)
. gen age4= (_n>458)
. xi:logit dfree age2 age3 age4 ndrugtx i.ivhx race treat site
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age2 | -.165864 .2909137 -0.57 0.569 -.7360444 .4043163
age3 | .4693399 .27066 1.73 0.083 -.0611439 .9998237
age4 | .595771 .3124964 1.91 0.057 -.0167108 1.208253
ndrugtx | -.0587551 .0254688 -2.31 0.021 -.108673 -.0088371
_Iivhx_2 | -.5545193 .2853626 -1.94 0.052 -1.11382 .0047811
_Iivhx_3 | -.6725536 .2518601 -2.67 0.008 -1.16619 -.1789169
race | .2787172 .2238499 1.25 0.213 -.1600205 .7174549
treat | .4430577 .2000427 2.21 0.027 .0509812 .8351343
site | .1582001 .2188293 0.72 0.470 -.2706974 .5870976
_cons | -1.054837 .2705875 -3.90 0.000 -1.585179 -.5244956
------------------------------------------------------------------------------
. di (27+20)/2
23.5
. di (32+27)/2
93
29.5
. di (32+37)/2
34.5
. di(37+56)/2
46.5
Fig. 4.3
input age coef
. 23.5 0
. 29.5 -.165864
. 34.5 .4693399
. 46.5 .595771
. end
Tab. 4.5
xi: fracpoly logit dfree age ndrugtx i.ivhx race treat site, degree(2) compare
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
-> gen double Indru__1 = ndrugtx-4.542608696 if e(sample)
........
-> gen double Iage__1 = X^-2-.0953622163 if e(sample)
-> gen double Iage__2 = X^3-33.95748331 if e(sample)
(where: X = age/10)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Iage__1 | -1.538626 4.575934 -0.34 0.737 -10.50729 7.43004
Iage__2 | .0116581 .0080977 1.44 0.150 -.0042132 .0275293
Indru__1 | -.0620596 .0257223 -2.41 0.016 -.1124744 -.0116447
_Iivhx_2 | -.6057376 .2881578 -2.10 0.036 -1.170517 -.0409587
_Iivhx_3 | -.7263554 .2525832 -2.88 0.004 -1.221409 -.2313014
race | .2282107 .224089 1.02 0.308 -.2109957 .6674171
treat | .4392589 .1996983 2.20 0.028 .0478573 .8306604
site | .1459101 .217491 0.67 0.502 -.2803644 .5721846
_cons | -1.082342 .2416317 -4.48 0.000 -1.555931 -.6087524
------------------------------------------------------------------------------
Deviance: 618.77. Best powers of age among 44 models fit: -2 3.
94
Fractional polynomial model comparisons:
---------------------------------------------------------------
age df Deviance Dev. dif. P (*) Powers
---------------------------------------------------------------
Not in model 0 627.801 9.032 0.060
Linear 1 619.248 0.480 0.923 1
m = 1 2 618.882 0.114 0.945 3
m = 2 4 618.769 -- -- -2 3
---------------------------------------------------------------
(*) P-value from deviance difference comparing reported model with m = 2 model
Fig. 4.4
. lowess dfree ndrugtx, logit gen(low)
. sort ndrugtx
. twoway line low ndrugtx, ylabel(-1.9305 -.7306) xlabel(0 1 2 5(5)40)
Tab. 4.6
. gen group = .
. replace group = 1 if ndrugtx==0
. replace group = 2 if ndrugtx==1 | ndrugtx==2
. replace group = 3 if ndrugtx>=3 & ndrugtx<16
. replace group = 4 if ndrugtx>15
xi: logit dfree age i.group i.ivhx race treat site
i.group _Igroup_1-4 (naturally coded; _Igroup_1 omitted)
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0505779 .0172932 2.92 0.003 .0166838 .084472
_Igroup_2 | .4060124 .3090247 1.31 0.189 -.1996649 1.01169
_Igroup_3 | -.1536915 .3116762 -0.49 0.622 -.7645655 .4571825
_Igroup_4 | -.5852777 .6205672 -0.94 0.346 -1.801567 .6310117
_Iivhx_2 | -.6477825 .2898193 -2.24 0.025 -1.215818 -.079747
_Iivhx_3 | -.7955052 .2542323 -3.13 0.002 -1.293791 -.2972191
race | .2411928 .2244176 1.07 0.282 -.1986576 .6810432
treat | .4199453 .1996789 2.10 0.035 .0285818 .8113087
site | .1618909 .2206026 0.73 0.463 -.2704822 .594264
_cons | -2.660089 .6059571 -4.39 0.000 -3.847743 -1.472435
------------------------------------------------------------------------------
Fig. 4.5
. input midpt coeff
. 0 0
. 1.5 .406
95
. 9 -.154
. 28 -.585
. end
. graph twoway scatter coeff midpt, yline(0) connect(l) xlabel(0 1 2 5(5)20 28)
Tab. 4.7
xi: fracpoly logit dfree ndrugtx age i.ivhx race treat site, degree(2) compare
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
-> gen double Iage__1 = age-32.3826087 if e(sample)
........
-> gen double Indru__1 = X^-1-1.804204581 if e(sample)
-> gen double Indru__2 = X^-1*ln(X)+1.064696882 if e(sample)
(where: X = (ndrugtx+1)/10)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Indru__1 | .981453 .2888474 3.40 0.001 .4153226 1.547583
Indru__2 | .3611251 .1098589 3.29 0.001 .1458057 .5764445
Iage__1 | .0544455 .0174877 3.11 0.002 .0201703 .0887208
_Iivhx_2 | -.6088269 .2911064 -2.09 0.036 -1.179385 -.0382689
_Iivhx_3 | -.7238122 .2555643 -2.83 0.005 -1.224709 -.2229154
race | .2477026 .2242152 1.10 0.269 -.1917512 .6871564
treat | .4223666 .200365 2.11 0.035 .0296584 .8150748
site | .1732142 .2209758 0.78 0.433 -.2598905 .6063189
_cons | -1.164471 .2454818 -4.74 0.000 -1.645607 -.6833356
------------------------------------------------------------------------------
Deviance: 613.45. Best powers of ndrugtx among 44 models fit: -1 -1.
96
Fig. 4.6
. lowess dfree ndrugtx, logit gen(low)
. generate ndrgfp1 = ((ndrugtx+1)/10)^(-1)
. generate ndrgfp2 = ndrgfp1*log((ndrugtx+1)/10)
. generate lgtfp = -4.314 + 0.981*ndrgfp1 + 0.361*ndrgfp2 (vedi Tab.4.8)
. summarize lgtfp
. summarize low
Tab. 4.8
xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0544455 .0174877 3.11 0.002 .0201703 .0887208
ndrgfp1 | .9814532 .2888474 3.40 0.001 .4153227 1.547584
ndrgfp2 | .3611252 .1098589 3.29 0.001 .1458057 .5764446
_Iivhx_2 | -.6088269 .2911064 -2.09 0.036 -1.179385 -.0382689
_Iivhx_3 | -.7238122 .2555643 -2.83 0.005 -1.224709 -.2229154
race | .2477026 .2242152 1.10 0.269 -.1917512 .6871564
treat | .4223666 .200365 2.11 0.035 .0296584 .8150748
site | .1732142 .2209758 0.78 0.433 -.2598905 .6063189
_cons | -4.313812 .7924526 -5.44 0.000 -5.866991 -2.760634
------------------------------------------------------------------------------
97
Tab. 4.9
. generate x= (ndrugtx+1)/10
. summarize x
. global xm=r(mean)
. global xm1=1/$xm
. global xx=($xm1*log($xm))
. generate Indrg_1=((1/x)-$xm1)
. generate Indrg_2=((1/x)*log(x))-$xx
. xi: logit dfree age Indrg_1 Indrg_2 i.ivhx race treat site
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0544455 .0174877 3.11 0.002 .0201703 .0887208
Indrg_1 | .9814531 .2888474 3.40 0.001 .4153226 1.547583
Indrg_2 | .3611251 .1098589 3.29 0.001 .1458057 .5764445
_Iivhx_2 | -.6088269 .2911064 -2.09 0.036 -1.179385 -.0382689
_Iivhx_3 | -.7238122 .2555643 -2.83 0.005 -1.224709 -.2229154
race | .2477026 .2242152 1.10 0.269 -.1917512 .6871564
treat | .4223666 .200365 2.11 0.035 .0296584 .8150748
site | .1732142 .2209758 0.78 0.433 -.2598905 .6063188
_cons | -2.927559 .586653 -4.99 0.000 -4.077377 -1.77774
------------------------------------------------------------------------------
Tab. 4.10
xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site beck
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
98
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .054307 .0175625 3.09 0.002 .0198852 .0887288
ndrgfp1 | .9820291 .2889329 3.40 0.001 .415731 1.548327
ndrgfp2 | .3614253 .1099194 3.29 0.001 .1459872 .5768634
_Iivhx_2 | -.6077552 .2914082 -2.09 0.037 -1.178905 -.0366057
_Iivhx_3 | -.7208158 .2579356 -2.79 0.005 -1.22636 -.2152714
race | .2481128 .2242878 1.11 0.269 -.1914831 .6877087
treat | .4225399 .2003758 2.11 0.035 .0298106 .8152692
site | .1722939 .2212548 0.78 0.436 -.2613576 .6059454
beck | -.0009263 .0108648 -0.09 0.932 -.0222209 .0203683
_cons | -4.295011 .8223368 -5.22 0.000 -5.906762 -2.683261
------------------------------------------------------------------------------
Tab. 4.11
. xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site
. estimates store A
. gen agendrgtx1=age* ndrgfp1
. gen agendrgtx2=age* ndrgfp2
. xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgtx1 agendrgtx2
. estimates store B
. lrtest A B
Tab. 4.12
. gen agextreat =age*treat
. gen racexsite=race*site
. gen agexndrgfp1=age* Indru__1
. gen agexndrgfp2=age* Indru__2
. xi: logit dfree Indru__1 Indru__2 age i.ivhx race treat site agextreat racexsite
agexndrgfp1 agexndrgfp2
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Indru__1 | 2.487709 1.596674 1.56 0.119 -.6417147 5.617132
99
Indru__2 | .7448351 .6043053 1.23 0.218 -.4395816 1.929252
age | .0622748 .0281403 2.21 0.027 .0071208 .1174288
_Iivhx_2 | -.6243653 .2996152 -2.08 0.037 -1.2116 -.0371303
_Iivhx_3 | -.6905352 .2627414 -2.63 0.009 -1.205499 -.1755716
race | .6996389 .2667644 2.62 0.009 .1767903 1.222488
treat | -1.274051 1.07897 -1.18 0.238 -3.388793 .840692
site | .4977606 .2563434 1.94 0.052 -.0046632 1.000184
agextreat | .0520701 .0324382 1.61 0.108 -.0115076 .1156477
racexsite | -1.416875 .5318186 -2.66 0.008 -2.459221 -.3745301
agexndrgfp1 | -.0387742 .0461319 -0.84 0.401 -.1291912 .0516428
agexndrgfp2 | -.0090046 .017702 -0.51 0.611 -.0436998 .0256906
_cons | -3.445924 .9593902 -3.59 0.000 -5.326294 -1.565553
------------------------------------------------------------------------------
Tab. 4.13
. xi: logit dfree Indru__1 Indru__2 age i.ivhx race treat site agextreat racexsite
agexndrgfp1
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Indru__1 | 1.705601 .4106322 4.15 0.000 .9007768 2.510425
Indru__2 | .4440586 .1175928 3.78 0.000 .2135809 .6745363
age | .0608995 .0280444 2.17 0.030 .0059334 .1158656
_Iivhx_2 | -.6299072 .2994363 -2.10 0.035 -1.216792 -.0430227
_Iivhx_3 | -.694879 .262544 -2.65 0.008 -1.209456 -.1803021
race | .6869266 .265402 2.59 0.010 .1667483 1.207105
treat | -1.252787 1.080874 -1.16 0.246 -3.371262 .8656875
site | .4903829 .2560081 1.92 0.055 -.0113838 .9921497
agextreat | .0515973 .0325362 1.59 0.113 -.0121726 .1153672
racexsite | -1.401606 .5309161 -2.64 0.008 -2.442183 -.3610301
agexndrgfp1 | -.0155328 .0060924 -2.55 0.011 -.0274737 -.0035918
_cons | -3.372456 .9463322 -3.56 0.000 -5.227233 -1.517679
------------------------------------------------------------------------------
100
Tab. 4.14
. xi: logit dfree Indru__1 Indru__2 age i.ivhx race treat site racexsite agexndrgfp1
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
Indru__1 | 1.669035 .4071519 4.10 0.000 .8710319 2.467038
Indru__2 | .4336885 .1169051 3.71 0.000 .2045586 .6628184
age | .0890888 .0215308 4.14 0.000 .0468893 .1312883
_Iivhx_2 | -.6346306 .2987192 -2.12 0.034 -1.220109 -.0491518
_Iivhx_3 | -.7049475 .2615805 -2.69 0.007 -1.217636 -.1922591
race | .6841068 .2641355 2.59 0.010 .1664107 1.201803
treat | .4349255 .2037596 2.13 0.033 .035564 .834287
site | .516201 .2548881 2.03 0.043 .0166294 1.015773
racexsite | -1.429457 .5297806 -2.70 0.007 -2.467808 -.3911062
agexndrgfp1 | -.0152697 .0060268 -2.53 0.011 -.0270819 -.0034575
_cons | -4.29433 .7514735 -5.71 0.000 -5.767191 -2.821469
------------------------------------------------------------------------------
Tab.4.15
. xi: sw logit dfree age ndrugtx i.ivhx beck race treat site, pe(0.15) pr(0.20) forward
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
begin with empty model
p = 0.0020 < 0.1500 adding _Iivhx_3
p = 0.0159 < 0.1500 adding ndrugtx
p = 0.0117 < 0.1500 adding age
p = 0.0302 < 0.1500 adding treat
p = 0.0285 < 0.1500 adding _Iivhx_2
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Iivhx_3 | -.8056123 .2445359 -3.29 0.001 -1.284894 -.3263307
ndrugtx | -.0637598 .0256279 -2.49 0.013 -.1139896 -.01353
age | .0525934 .0172105 3.06 0.002 .0188614 .0863254
treat | .4513352 .1985966 2.27 0.023 .0620929 .8405774
_Iivhx_2 | -.6236554 .2847028 -2.19 0.028 -1.181663 -.0656482
_cons | -2.332764 .5483861 -4.25 0.000 -3.407581 -1.257947
------------------------------------------------------------------------------
101
Tab. 4.16
xi: sw logit dfree age ndrugtx i.ivhx beck race treat site, pe(0.15) pr(0.20)
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
begin with full model
p = 0.9796 >= 0.2000 removing beck
p = 0.4939 >= 0.2000 removing site
p = 0.3473 >= 0.2000 removing race
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .0525934 .0172105 3.06 0.002 .0188614 .0863254
ndrugtx | -.0637598 .0256279 -2.49 0.013 -.1139896 -.01353
_Iivhx_2 | -.6236554 .2847028 -2.19 0.028 -1.181663 -.0656482
_Iivhx_3 | -.8056123 .2445359 -3.29 0.001 -1.284894 -.3263307
treat | .4513352 .1985966 2.27 0.023 .0620929 .8405774
_cons | -2.332764 .5483861 -4.25 0.000 -3.407581 -1.257947
------------------------------------------------------------------------------
102
Capitolo 5
Valutazione del Fitting del modello
5.1 Introduzione
Una volta costruito il modello secondo quanto specificato nei capitoli precedenti, dobbiamo valutare
in che modo, effettivamente, il modello riesce a prevedere la variabile outcome (goodness- of- fit).
Supponiamo che i valori campionari della variabile outcome siano rappresentate dal vettore y,
y ' = ( y1 , y2 , y3 ,..... yn )
Supponiamo inoltre che i valori predetti dal modello (fitted values) siano rappresentati dal vettore yɵ
(
yɵ = ɵy1 , ɵy 2 , ɵy 3 .... ɵy n )
Diremo che il modello ha un buon fitting se:
1. misure globali di “distanza” tra y e yɵ sono convenientemente “piccole”
2. i contributi di ciascuna coppia ( y , ɵy ) alle misure globali di cui sopra, siano non sistematici
i i
103
∑y j = n1 numero totale di soggetti con y =1
rj ≡
(y j − mjπ j ) (5.1)
mjπ j 1−π j ( )
Se il modello logistico è corretto, e m j π j non è nè troppo piccolo, né troppo grandea, allora:
X 2 = ∑ rj2 ∼ χ J2−( p +1) (5.2)
In tali condizioni il modello può essere rifiutato se il valore di P associato alla statistica chi-quadro è
minore di 0.05.
Quando è presente una covariata continua, il valore di m j π j si mantiene basso anche aumentando
la numerosità campionaria, pertanto non è più valida l’affermazione che la variabile casuale X2 si
distribuisce secondo una chi-quadro con J-p-1 gradi di libertà.
In questo caso, volendo utilizzare la statistica di Pearson prima definita, dovremo raggruppare i dati
in modo da far rientrare il valore di m j π j entro i termini ammessi.
In linea di massima m j π
a
j dovrebbe essere maggiore di 5 e non superiore a nj-5
Dupont W.D. (2002). Statistical Model for Biomedical Researchers Cambridge pag.181
104
d ( y j , πˆ j ) = − 2m j log (1 − πˆ j )
d ( y j , πˆ j ) = 2m j log (πˆ j )
La statistica globale basata sulla devinza residua è la devianza di seguito definita:
D ≡ ∑ d ( y j , πˆ j ) ∼ χ J2−( p +1)
J
2
(5.4)
j =1
Anche in questo caso, in presenza di una covariata continua, almeno teoricamente, non è da ritenersi
più valida la distribuzione asintotica presente nella (5.4)
Cˆ = k (5.5)
n 'k ⋅ π k (1 − π k )
dove n 'k è il numero totale dei soggetti nel k-esimo decile, ck numero di covariate pattern nel
k-esimo decile,
Ck Ck m jπˆ j
ok = ∑ y j è il numero di risposte nelle ck covariate pattern del k-esimo decile, e π k = ∑ è
j =1 j =1 n 'k
la probabilità stimata media nel k-esimo decile.
Se il modello prevede almeno una covariata continua, allora si haa:
( Ok − Ek )
g 2
dove n 'k è il numero di soggetti nel k-esimo gruppo, Ok è il numero totale di eventi nel k-esimo
gruppo ed Ek è il numero atteso di casi nel k-esimo gruppo.
Quando J = n e il modello logistico in esame è corretto, la statistica Ĉ si distribuisce
approssimativamente come una chi-quadro con (g-2) gradi di libertà.8
Anche se non dimostrato, è plausibile ritenere che Cˆ ∼ χ 2 anche quando J ≈ n .b
g −2
Nel seguito riportiamo il risultato del partizionamento in 10 gruppi, con i relativi eventi osservati ed
attesi, con riferimento al modello fittato in Tab. 4.14.
b
Le proprietà distributive della statistica Ĉ sono valide se le frequenze attese sono superiori a 5 in ogni
gruppo.
105
Tab.5.1
Observed (Obs) and Estimated Expected (Exp) Frequencies Within
Each Decile of Risk, Define by Fitted Value for dfree = 1 and dfree=0
Unsing the Fitted Logistic Regression Model in Tab. 4.14
dfree=1 dfree=0
Decile Prob.¥ Total
Obs Exp Obs Exp
1 0.094 4 4.1 54 53.9 58
2 0.126 5 6.2 52 50.8 57
3 0.163 8 8.5 50 49.5 58
4 0.204 11 10.4 46 46.6 57
5 0.234 16 12.7 42 45.3 58
6 0.279 11 14.5 46 42.5 57
7 0.324 18 17.5 40 40.5 58
8 0.376 24 19.8 33 37.2 57
9 0.459 23 23.9 35 34.1 58
10 0.728 27 29.3 30 27.7 57
Dalla Tab.5.1 si vede che la statistica di Hosmer-Lemeshow assume il valore 4.39, a cui si associa una
probabilità 0.8199. Poiché 0.8199 > 0.05 non ci sono elementi per rifiutare il modello per
insufficiente capacità di fitting.
106
Tab.5.2
Classification Table Based on the
Logistic Model in Tab. 4.14 Using a
Cutpoint of 0.5
Observed
Classified dfree = 1 dfree = 0 Total
dfree = 1 16 11 27
dfree = 0 131 417 548
Total 147 428 575
In precedenza avevamo visto che la capacità discriminante di un modello poteva essere dedotta
dall’esame di una tabella (come la Tab.5.2) osservati/classificati ottenuta in corrispondenza di un
determinato cutpoint. Se il nostro obiettivo fosse l’individuazione di un cutpoint ottimo, potrebbe
sembrare logico sceglierlo in modo tale da massimizzare sia la sensibilità sia la specificitàa. Allo scopo
sarà utile calcolare sensibilità e specificità in corrispondenza di cutpoint via a via crescenti, tabulare
(Tab. 5.3) e graficare i risultati ottenuti. (Fig. 5.1)
a
In realtà la scelta del cutpoint ottimo è molto più complessa ed è funzione, tra l’altro, della prevalenza
dell’outcome.
107
Tab. 5.3
Summary Sensitivity, Specificity, and 1-Specificity for Classification Tables Based on the Logistic
Regression Model in Tab. 4.14 using a Cutpoint of 0.05 to 0.6 in increments of 0.05
Cutpoint Sensitivity Specificity 1-Specificity Cutpoint Sensitivity Specificity 1-Specificity
0.05 0.9932 0.0257 0.9743 0.35 0.4014 0.8201 0.1799
0.10 0.9592 0.1519 0.8481 0.40 0.2925 0.8738 0.1262
0.15 0.9048 0.3178 0.6822 0.45 0.1837 0.9206 0.0794
0.20 0.8163 0.4626 0.5374 0.50 0.1088 0.9743 0.0257
0.25 0.6599 0.6121 0.3879 0.55 0.0544 0.9930 0.0070
0.30 0.5714 0.7220 0.2780 0.60 0.0340 1 0.0000
Dalla Tab. 5.3, si può facilmente realizzare anche la curva ROC la cui area sottesa, come detto in
precedenza, esprime la capacità discriminante del modelloa.
Fig. 5.1
1.00
Specificity
0.75
Sensitivity/Specificity
0.25 0.50
Sensibility
0.00
a
L’area sottesa dalla curva ROC può essere anche immaginata come la probabilità che, presi casualmente due
soggetti di cui uno con y=1 e l’altro con y=0, la probabilità predetta del primo sia maggiore della probabilità
predetta del secondo.
108
Fig. 5.2
1.00
0.75
Sensitivity
0.50
0.25
0.00
Plot of Sensitivity versus 1-Specificity for all possible cutpoint. The resulting curve is called the ROC curve
109
in esame. Minore è tale rapporto maggiore è la prestazione del modello fittato rispetto a quello
nullo e maggiore è pure il valore di R-sqaured.
3) Quadrato del coefficiente di correlazione
Il valore di R-squared è da ritenersi pari al quadrato del coefficiente di correlazione tra i valori
predetti dal modello e i valori osservati.
Tab. 5.4
Commonly Encountered Pseudo R-Squareds and Information Measures (AIC & BIC)¥
Name Formula Description
Efron's mirrors approaches 1 and 3 from the list
above--the model residuals are squared,
summed, and divided by the total variability in
the dependent variable, and this R-squared is
also equal to the squared correlation between
∑( y − πˆi ) the predicted values and actual values.
2
i
R 2= 1 − i When considering Efron's, remember that
∑( y − y)
2
Efron’s i
model residuals from a logistic regression are
i
not comparable to those in OLS. The dependent
πˆ model predicted probabilities
variable in a logistic regression is not continuous
and the predicted value (a probability) is. In OLS,
the predicted values and the actual values are
both continuous and on the same scale, so their
differences are easily interpreted.
110
Name Formula Description
McFadden's mirrors approaches 1 and 2 from
the list above. The log likelihood of the
intercept model is treated as a total sum of
squares, and the log likelihood of the full
model is treated as the sum of squared errors
(like in approach 1).
The ratio of the likelihoods suggests the level
log Lˆ ( M FULL ) of improvement over the intercept model
R2 = 1 − offered by the full model (like in approach
log Lˆ ( M )
INT
2). A likelihood falls between 0 and 1, so the
McFadden’s M FULL Model with predictors log of a likelihood is less than or equal to
M INT Model without predictors zero. If a model has a very low likelihood,
then the log of the likelihood will have a
Lˆ Estimated likelihood
larger magnitude than the log of a more likely
model. Thus, a small ratio of log likelihoods
indicates that the full model is a far better fit
than the intercept model.
If comparing two models on the same data,
McFadden's would be higher for the model
with the greater likelihood.
McFadden's adjusted mirrors the adjusted
R-squared in OLS by penalizing a model for
including too many predictors.
If the predictors in the model are effective,
then the penalty will be small relative to the
log Lˆ ( M FULL ) − K added information of the
2
RADJ =1−
McFadden’s log Lˆ ( M )INT predictors. However, if a model contains
(adjusted) K number of parameters predictors that do not add sufficiently to the
model, then the penalty becomes noticeable
including the intercept
and the adjusted R-squared can decrease with
the addition of a predictor, even if the
R-squared increases slightly.
Note that negative McFadden's adjusted
R-squared are possible.
111
Name Formula Description
McFadden's adjusted mirrors the adjusted
R-squared in OLS by penalizing a model for
including too many predictors.
If the predictors in the model are effective,
then the penalty will be small relative to the
log Lˆ ( M FULL ) − K added information of the
2
RADJ =1−
McFadden’s log Lˆ ( M )
INT predictors. However, if a model contains
(adjusted) K number of parameters predictors that do not add sufficiently to the
model, then the penalty becomes noticeable
including the intercept
and the adjusted R-squared can decrease with
the addition of a predictor, even if the
R-squared increases slightly.
Note that negative McFadden's adjusted
R-squared are possible.
Cox & Snell's mirrors approach 2 from the list
above. The ratio of the likelihoods reflects the
improvement of the full model over the
intercept model (the smaller the ratio, the
greater the improvement).
112
Name Formula Description
Nagelkerke/Cragg & Uhler's mirrors approach 2
from the list above. It adjusts Cox & Snell's so
that the range of possible values extends to 1.
To achieve this, the Cox & Snell R-squared is
L ( M INT )
2/ N
Nagelkerke divided by its maximum possible value,
1− 1-L(MIntercept)2/N. Then, if the full model perfectly
(Cragg & L ( M FULL )
R =
2
predicts the outcome and has a likelihood of 1,
1 − L ( M INT )
2/ N
Uhler’s) Nagelkerke/Cragg & Uhler's R-squared = 1.
However, if the full model does not improve upon
the intercept model, Nagelkerke/Cragg & Uhler's
R-squared >0, so the full [0,1] range seen in OLS
R-squareds is still not covered.
McKelvey & Zavoina's mirrors approach 1 from
the list above, but its calculations are based on
predicting a continuous latent variable underlying
R =
2
( )
Var Yˆ * the observed 0-1 outcomes in the data. The
Var Yˆ( ) + Var (ε )
* model predictions of the latent variable can be
calculated using the model coefficients (NOT the
Var ( ε ) log-odds) and the predictor variables.
R2 = 1 −
McKelvey Var (Y * ) McKelvey & Zavoina's also mirrors approach
3. Because of the parallel structure between
Var (Y * ) variance latent variable
& Zavoina’s
McKelvey & Zavoina's and OLS R-squareds, we
( )
can examine the square root of McKelvey &
Var Yˆ * explained variance Zavoina's to arrive at the correlation between the
Var ( ε ) variance of error latent continuous variable and the predicted
probabilities.
( )
Var Yˆ * + Var ( ε ) = Var (Y * ) Note that, because y* is not observed, we cannot
calculate the variance of the error (the second
term in the denominator). It is assumed to be
π2/3 in logistic models.
Count R-Squared does not approach goodness of
fit in a way comparable to any OLS approach. It
transforms the continuous predicted probabilities
into a binary variable on the same scale as the
outcome variable (0-1) and then assesses the
predictions as correct or incorrect.Count R-Square
treats any record with a predicted probability of
n. Correct .5 or greater as having a predicted outcome of 1
Count R2 =
Total Count and any record with a predicted probability less
than .5 as having a predicted outcome of
0. Then, the predicted 1s that match actual 1s
and predicted 0s that match actual 0s are
tallied. This is the number of records correctly
predicted, given this cutoff point of .5. The
R-square is this correct count divided by the total
count.
113
Name Formula Description
The Adjusted Count R-Square mirrors approach 2
from the list above. This adjustment is unrelated
to the number of predictors and is not comparable
to the adjustment to OLS or McFadden's
R-Squared.
Consider this scenario: If you are asked to predict
who in a list of 100 random people is left-handed
or right-handed, you could guess that everyone in
Correct -m the list is right handed and you would be correct
R2 = for the majority of the list. Your guess could be
Adjusted Total -m
thought of as a null model.
Count m Count of most frequent
The Adjusted Count R-Squared controls for such a
outcome null model. Without knowing anything about the
predictors, one could always predict the more
common outcome and be right the majority of the
time. An effective model should improve on this
null model, and so this null model is the baseline
for which the Count R-Square is adjusted. The
Adjusted Count R-squared then measures the
proportion of correct predictions beyond this
baseline.
Dev ( Model ) + 2 K AIC is often used to compare models across
AIC =
N different samples or to compare non-nested
Akaike’s
K number of parameters models that cannot be compared with the LR test.
Information
including intercept All else being equal, the model with the smaller
Criterion
AIC is considered the better fitting mode.
(AIC)
Not all authors divide by N, i.e. they would report
the above AIC measures as AIC•N
The BIC is a measure that assesses the overall fit of a
Bayesian BIC = Dev( Model ) + log ( N ) ⋅ f model and allows the comparison of both nested
Information f N-number of parameters and non-nested models. It is based on a Bayesian
Criterion (including intercept) comparison of models. The more negative the BIC,
(BIC) the better the fit.
BIC ' = −G ( Model ) + log ( N ) ⋅ f
BIC’ is a second version of BIC and is based on the
Model Chi-Square, with the degrees of freedom
BIC’ f number of regressors
equal to the number of regressors (intercept not
(intercept not included)
included).
¥ Scalar Measures of Fit: Pseudo R2 and Information Measures (AIC & BIC)
from http://www.nd.edu/~rwilliam/xsoc73994/L04.pdf (accessed September 29, 2011)
114
5.3 Diagnostiche della Regressione Logistica
a
Nel modello lineare il leverage è proporzionale alla distanza di xj dalla media dei dati
115
Fig. 5.3
.025
.02
.015
Leverage
.01 .005
0
0 .2 .4 .6 .8 1
Estimated Logistic Probability
Plot of the leverage values versus estimated probability for a sample of 100 observations from a
logistic model with g(x)=0.8x and x∼N(0,9)
Fig. 5.4
2
1.5
Distance
1 .5
0
0 .2 .4 .6 .8 1
Estimated Logistic Probability
Plot of the distance portion of leverage (b) versus estimated probability for a sample of 100
observations from a logistic model with g(x)=0.8x and x∼N(0,9)
116
I residui relativi al jth pattern di covariate sono legati ai relativi leverage tramite la seguente relazione
approssimata10:
y j − m j πˆ ( x j ) ≈ (1 − h j ) y j (5.11)
Dalla (5.11) segue che la varianza dei residui può porsi pari a:
Var ( Res ) = m jπˆ ( x j ) 1 − πˆ ( x j ) (1 − h j )
Ciò implica che i residui di Pearson, definiti dalla (5.1) non hanno varianza unitaria a meno di
standardizzarli ulteriormente come di seguito indicato:
rj
rsj = (5.12)
1 − hj
Altre diagnostiche di regressione utilizzano la delezione delle singole osservazioni o pattern di
covariate e ne stimano l’effetto sulle statistiche di GOF come X2 e D definite rispettivamente dalle
(5.2)e (5.4)
Si può dimostrare che la diminuzione della statistica chi-squared di Pearson, dovuta alla delezione di
un pattern di covariate, vale:
rj2
∆X 2 = = rsj2 (5.13)
(1 − h ) j
Analogamente, la variazione della devianza D, dovuta alla delezione di un pattern di covariate, vale:
rj2 h j
∆D = d 2j + (5.14)
(1 − h ) j
E approssimando rj2 con d 2j si ottiene un’espressione della variazione del tutto simile alla (5.13).
d 2j
∆D = (5.15)
(1 − h ) j
Infine un’altra statistica molto utilizzata è la distanza di Cook che misura la differenza per ogni
coefficiente tra il valore stimato nel modello con tutte le osservazioni e quello che si otterrebbe
eliminando un determinato pattern di covariate11.
La distanza di Cook si ottiene come differenza tra i valori standardizzati di β̂ e βˆ ( − j ) , ossia delle
stime di massima verosimiglianza calcolate rispettivamente considerando tutte i J pattern di
covariate ed escludendo gli m j soggetti con pattern x j , standardizzate tramite la matrice delle
covarianze stimate di β̂ . Tale differenza vale10:
( ) ( )
' rj2 h j rsj2 h j
∆βˆ j = βˆ − βˆ ( − j ) ( X'VX ) βˆ - βˆ ( − j ) = =
(1 − h ) (1 − h )
2
j j
117
5.4 Uso delle Statistiche Diagnostiche e relativi Plot
Nei paragrafi precedenti abbiamo introdotto sette statistiche diagnostiche che possono essere divise
in tre categorie:
1. le statistiche di base che possono essere valutate direttamente o utilizzate per realizzare
altre statistiche diagnostiche. (rj , d j , h j )
2. statistiche diagnostiche derivate che misurano l’effetto di ciascun pattern di covariate sulla
capacità di fit del modello. ( rsj , ∆X 2j , ∆D j )
3. statistiche diagnostiche derivate che misurano l’effetto, sulle stime dei parametri, dovuto a
ciascun pattern di covariate. (∆βˆ ) j
Per agevolare l’interpretazione della diagnostica del modello, sono stati proposti numerosi plot di cui
i più utilizzati sono:
1. ∆X 2j vs πˆ j
2. ∆D j vs πˆ j
3. ∆β j vs πˆ j
Altri che alle volte possono essere utili sono:
4. ∆X 2j vs h j
5. ∆D j vs h j
6. ∆β j vs h j
L’analisi di questi plot, come vedremo, non è immediato e soprattutto preliminarmente richiede di
conoscere come le statistiche ∆X 2 , ∆βˆ , h variano “normalmente” in funzione della probabilità
stimata.
Tab. 5.5
Likely Values of Each of Diagnostic Statistic ∆X 2 , ∆βˆ , h Within Each of
Five Regions Defined by the Value of the Estimated Logistic Probability (πˆ )
Diagnostic Statistic
πˆ ∆X 2
∆βˆ h
<0.1 Large o small Small Small
0.1-0.3 Moderate Large Large
0.3-0.7 Moderate to Small Moderate Moderate to Small
0.7-0.9 Moderate Large Large
>0.9 Large or Small Small Small
Nel seguito illustreremo l’utilizzo dei plot diagnostici con riferimento al modello definito in Tab. 4.14
di cui riportiamo le stime dei coefficienti ottenute basandoci sui valori scalati e non centrati della
variabile NDRUGTX.
118
Tab. 5.6
Preliminary Final Model Containing Significant Main Effects and
Interactions
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
ndrgfp1 1.669035 0.407152 4.1 0 0.871032 2.467038
ndrgfp2 0.433689 0.116905 3.71 0 0.204559 0.662818
age 0.116638 0.021531 4.04 0 .0600446 .1732323
_Iivhx_2 -0.63463 0.298719 -2.12 0.034 -1.22011 -0.04915
_Iivhx_3 -0.70495 0.261581 -2.69 0.007 -1.21764 -0.19226
race 0.684107 0.264136 2.59 0.01 0.166411 1.201803
treat 0.434926 0.20376 2.13 0.033 0.035564 0.834287
site 0.516201 0.254888 2.03 0.043 0.016629 1.015773
racexsite -1.42946 0.529781 -2.7 0.007 -2.46781 -0.39111
agexndrgfp1 -0.01527 0.006027 -2.53 0.011 -0.02708 -0.00346
_cons -6.843864 1.219316 -5.61 0 -9.23368 -4.454048
Il coefficiente stimato di age è diverso da quanto riportato in Tab.4.14. Questo
perché è stata tolta una compente di interazione (agexndrgfp2). Se il modello
prevedesse l’interazione completa age-ndrgfp (agexndrgfp1 e agendrgfp2) i
coefficienti stimati di age sarebbero gli stessi indipendentemente dalla centratura
della variabile ndrgfp.
Fig. 5.5
30
20
H-L dX^2
10
0
0 .2 .4 .6 .8 1
Pr(dfree)
Plot of ∆X 2 versus the estimated probability from the fitted model in Tab. 5.5 (J = 521 covariate pattern)
119
Fig. 5.6
7
H-L dD
3.5
0
0 .2 .4 .6 .8 1
Pr(dfree)
Plot of ∆D versus the estimated probability from the fitted model in Tab.5.5 (J = 521 covariate patterns)
I grafici di fig. 5.5 e 5.6 sono sostanzialmente simili e mostrano entrambi un andamento quadratico.
Su ciascun grafico si individuano due curve:
• una decrescente da sinistra verso i cui punti corrispondono ai pattern di covariate y j = m j .
( )
2
Le ordinate di questi punti sono proporzionali a 1 − πˆ j poiché m j = 1 per la maggioranze
dei pattern di covariate.
• una crescente da sinistra verso destra i cui punti corrispondono ai pattern di covariate per cui
( 0 − πˆ )
2
y j = 0 . Le ordinate di questi punti sono proporzionali a j
Nella Fig. 5.5 notiamo la presenza di due punti il cui fit è particolarmente scarso, uno in
corrispondenza di ∆X 2 ≈ 30 e l’altro in corrispondenza di ∆X 2 ≈ 12 . Gli stessi punti si individuano
facilmente anche sulla Fig. 5.6.
A parte questi due punti, i grafici di Fig. 5.5 e Fig. 5.6 sopportano l’ipotesi che il fit del modello sia
soddisfacente: la gran parte dei punti ha un’ordinata minore di 4.a
Le variazioni di effetto sulle stime dei parametri relative ai vari pattern di covariate sono
rappresentate in Fig. 5.7
a
Il valore di riferimento 4 è una approssimazione del 95° percentile della distribuzione di chi-squared
χ1,0.95
2
= 3.84
120
Fig. 5.7
.3
Pregibon's dbeta
.15
0
0 .2 .4 .6 .8 1
Pr(dfree)
Plot of ∆βˆ versus the estimated probability from the fitted model in Tab.5.5 (J=521 covariate pattern)
Si può notare che almeno quattro punti sembrano distaccarsi rispetto ai rimanenti. I loro valori
tuttavia non sono particolarmente elevati essendo tutti minori di 0.3.a
La Fig. 5.8 riporta il plot ∆X 2 vs πˆ con dimensione dei simboli proporzionali a ∆βˆ .
Il cerchio in alto a sinistra corrisponde al pattern di covariate con il massimo valore di ∆X 2 ;
inoltre si intravede un altro cerchio di grosso diametro in corrispondenza di πˆ ≈ 0.4 .
Anche ∆βˆ è una misura, in certo senso, globale : infatti misura la variazione indotta da un pattern
di covariate su tutte le stime dei coefficienti del modello. Sarebbe quindi importante anche
esaminare gli effetti che un determinato pattern di covariate esercita su un singolo coefficiente.
I dati relativi ai pattern di covariate “anomali” sono presentate in Tab.5.7. In questa tabella P# è il
numero identificativo del pattern di covariate. Questo numero è , in un certo senso, arbitrario e
dipende da come i dati sono stati aggregati. Deve essere chiaro comunque che P# non
corrisponde al codice identificativo del soggetto in studio.
Esaminiamo ora i pattern di covariate riportati in Tab.5.7. Consideriamo il pattern 31: se questo
pattern fosse escluso dal data set ci aspetteremmo una sostanziale diminuzione di X 2 e una
xvvxx xxcv
Secondo Hosmer & Lemeshow per avere un certo effetto sulle stime dei coefficienti, i valori di ∆βˆ
a
dovrebbero essere maggiori di 1. Tuttavia, sempre secondo Hosmer & Lemeshow, ciò non vale in generale e
sarebbe buona norma analizzare i valori anomali di ∆βˆ senza soffermarsi troppo sulla loro ampiezza.
121
Fig. 5.7
30
H-L dX^2
15
0
0 .2 .4 .6 .8 1
Pr(dfree)
Plot of ∆X versus the estimated probability from the fitted model in Tab.5.5 with size of the
2
122
diminuzione, in misura minore, di D. In effetti il chi-square di Pearson diminuisce di 7, valore molto
inferiore di quanto suggerito dalla corrispondente statistica diagnostica ( ∆X 2
≈ 30 ) . Per contro, la
devianza diminuisce di circa 22 anche se la corrispondente statistica diagnostica suggerirebbe una
diminuzione intorno a 7 ( ∆D ≈ 7 ) . E’ importante quindi, per verificare le variazioni reali di effetto
indotte, fittare sempre il modello privato del pattern di covariate e confrontarlo con il modello
fittato di originario.
Tab. 5.9
Estimated Coefficients from All Data, the Percent Change when the Covariate Pattern Is
Deleted, and Values of Goodness-of-Fit Statistics for Each Model
Model of Tab. 5.6 Covariate Pattern Deleted
Variable Coeff. 31 477 105 468 All four
ndrgfp1 1.669035 8.9 5.3 -2.8 4.8 18.0
ndrgfp2 0.433689 9.6 6.3 -1.6 5.7 22.4
age 0.116638 9.4 4.1 2.1 3.8 21.1
_Iivhx_2 -0.63463 8.8 0.4 0.3 0.7 10.6
_Iivhx_3 -0.70495 0.5 5.6 <-0.1 5.8 12.9
race 0.684107 1.3 -5.8 8.5 -5.9 -20.3
treat 0.434926 5.2 3.6 7.3 3.6 20.8
site 0.516201 -5.6 <0.1 2.9 0.1 -2.3
racexsite -1.42946 9.9 14.6 -8.3 13.1 33.6
agexndrgfp1 -0.01527 -0.5 -3.6 -4.2 -3.6 -12.5
_cons -6.843864 7.7 3.3 -1.3 3.0 14.0
Goodness-of-Fit
X2 511.78 489.94 511.57 508.70 511.61 482.63
D 530.74 523.62 526.85 526.88 526.94 511.11
Ĉ 4.39 5.55 6.36 6.69 6.36 6.86
Tornando al pattern 31, notiamo che ha il più elevato valore di ∆βˆ , valore che tuttavia non
raggiunge valori tali da far prevedere sostanziali mutamenti nelle stime dei coefficienti. In effetti,
dalla Tab. 5.9, vediamo che la variazione massima dei coefficienti, per effetto della delezione del
pattern 31, non supera il 10%.
I pattern 477, 105, 468 mostrano tutti livelli bassi e sovrapponibili di ∆βˆ , ∆X 2 , ∆D, h : in effetti,
dalla Tab. 5.9 , vediamo che ad una delezione individuale di ciascuno di questi tre pattern
corrispondono variazioni minime delle stime dei coefficienti.
L’ultima colonna di Tab. 5.9 mostra invece le variazione delle stime dei coefficienti conseguenti ad
una eliminazione contemporanea dei quattro pattern: le variazioni sono notevoli raggiungendo
valori anche superiori al 20%.
A questo punto potremmo valutare la possibilità di escludere definitivamente queste osservazioni dal
modello. Dovremo valutare attentamente ogni pattern e giudicare la loro attendibilità clinica e/o
biologica. E solo nel caso che tali attendibilità si rivelassero scarse o del tutto assenti potremmo, con
123
cautela, procedere alla rimozione dei pattern oggetti di osservazione, esplicitando e motivando
chiaramente le scelte effettuate.
Comunque sia la strategia da adottare nei confronti eventuali pattern anomali non è univoca: occorre
cautela e soprattutto buon senso!
Statistica di Hosmer-Lemeshow
Con un data set esterno, considerando i coefficienti del modello come costanti fisse e non come
valori stimati, si può calcolare la consueta statistica di Hosmer-Lemeshow (5.5).
Supponiamo che il data set utilizzato per la validazione sia suddiviso in 10 gruppi (decili di rischio) e
indichiamo con nk la numerosità nel k-esimo decile di rischio.
Sia inoltre:
ok = ∑ y j
il numero di risposte positive osservate tra i pattern di covariate appartenenti al k-esimo decile di
rischio.
La stima del valore atteso delle risposte positive, all’interno del k-esimo decile, sotto l’assunto che il
modello sia corretto, vale:
ek = ∑ m jπ j
Con riferimento ad un data set suddiviso in g gruppi, la statistica di Hosmer-Lemeshow è calcolata
come seguea:
( ok − ek ) ∼ χ 2
g 2
Cv = ∑ (5.16)
k =1 nk π k (1 − π k )
(g)
a
si noti che la statistica si distribuisce secondo una chi-quadro con g gradi di libertà, diversamente dalla
statistica definita dalla (5.5) che si distribuiva con (g-2) gradi libertà.
124
5.6 Interpretazione e presentazione dei risultati
Una volta valutato il fit del modello, possiamo utilizzarlo per procedere alle analisi inferenziali in
accordo con gli obiettivi dello studio. Quasi sempre queste analisi conducono alle stime degli odds
ratio sulla base dei coefficienti stimati dal modello.
Riprendiamo, in Tab. 5.10, il modello definito e utilizzato precedentemente.
Tab. 5.10
Estimated Coefficients, Standard Errors, z-Scores, Two-Tailed p-Values and
95% Confidence Intervals for the Final Logistic Regression Model (n=575)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
age 0.116639 0.028875 4.04 0 0.060045 0.173232
ndrgfp1 1.669035 0.407152 4.1 0 0.871032 2.467038
ndrgfp2 0.433689 0.116905 3.71 0 0.204559 0.662819
_Iivhx_2 -0.63463 0.298719 -2.12 0.034 -1.22011 -0.04915
_Iivhx_3 -0.70495 0.261581 -2.69 0.007 -1.21764 -0.19226
race 0.684107 0.264136 2.59 0.01 0.166411 1.201803
treat 0.434926 0.20376 2.13 0.033 0.035564 0.834287
site 0.516201 0.254888 2.03 0.043 0.01663 1.015773
agendrgfp1 -0.01527 0.006027 -2.53 0.011 -0.02708 -0.00346
racesite -1.42946 0.529781 -2.7 0.007 -2.46781 -0.39111
_cons -6.84386 1.219316 -5.61 0 -9.23368 -4.45405
Dai coefficienti del modello è immediato risalire ai relativi odds ratio ricordando che:
OR = exp ( coeff )
125
L’odds ratio stimato per la variabile treat è 1.54: ciò significa che l’odds di rimare libero da droghe
(drug free) per 12 mesi per un soggetto sottoposto ad un trattamento di lunga durata è 1.54 volte
maggiore dell’odds relativo ad un analogo soggetto sottoposto ad un trattamento di breve durata
(categoria di riferimento).
Più brutalmente, e in modo non corretto, alle volte si usa dire che la probabilità di rimanere libero da
droghe per 12 mesi è 1.54 volte superiore alla probabilità di un analogo soggetto sottoposto ad un
trattamento di breve durata.
Questa seconda interpretazione poggia sul fatto che “l’odds ratio approssima il rischio relativo”.
Affronteremo in seguito (vedi Appendice 5.1) e più dettagliatamente questo problema, per adesso ci
limitiamo ad osservare che ciò può essere vero in presenza di eventi rari.
Con riferimento ad uno studio di coorte indicando con P1 l’incidenza dell’evento negli esposti e con P0
quella nei non esposti, il legame tra rischio relativo (RR) e odds ratio è espresso dalla seguente
relazione:
OR
RR = (5.17)
(1 − P0 ) + ( P0 ⋅ OR )
La (5.17) dimostra che quando P0→0 allora RR ≅ OR e fornisce uno strumento per calcolare il RR
dall’OR anche in presenza di venti che non possono essere considerati rari.12
Il grafico sotto riportato facilita un immediato passaggio dall’OR al RR senza uso di formule12.
Dal grafico è facile riconoscere che l’OR sovrastima sempre il RR e che tale sovrastima risulta
particolarmente evidente in corrispondenza di OR maggiori di 2.5 o minori di 0.5
Fig. 5.8
Gli intervalli di confidenza dei RR possono calcolarsi sempre dalla (5.17) inserendo gli estremi
dell’intervallo di confidenza dell’OR.
Questo passaggio dall’OR al RR è il più delle volte accettabile: in molti studi infatti saremo interessati
a misurare delle tendenza piuttosto che a misurate con precisione gli effetti.
Torniamo agli OR di Tab. 5.10: la significatività del coefficiente relativo all’odds ratio (treatment short
vs long) è significativo (p = 0.33) il valore dell’OR maggiore di uno (1.54) indica che il trattamento long
126
è favorevole. Non siamo interessati a quantificare con precisione né l’OR né tanto meno il RR e i
relativi intervalli di confidenza.
In altre situazioni, anche se meno frequenti, la quantificazione degli effetti potrebbe essere cruciale e
l’approssimazione proposta da Zhang e Yu, in presenza di eventi comuni, può non risultare
accettabile.13
Sempre dalla Tab. 5.10, con riferimento agli OR relativi alla variabile ivhx, notiamo che gli odds ratio
delle categorie Previous e Recent, rispettivamente pari a 0.53 e 0.49, sono praticamente
sovrapponibili. Ciò suggerisce che, sempre nell’ottica di realizzare un modello performante e
parsimonioso, potrebbe essere opportuno ricodificare la variabile ivhx in modo dicotomico (never,
ever) .
Tab. 5.12
Estimated Odds Ratio and 95% Confidence Intervals for
Race within Site (n = 575)
Site Race Odds Ratio 95% CI
Site A (0)
White (0) 1
Other (1) 1.98 1.18-3.33
Site B (1)
White (0) 1
Other (1) 0.47 0.19-1.18
Per interpretare correttamente gli odds ratio riportati in Tab. 5.12, può essere utile riportare alcuni
passaggi partendo dal modello finale:
( )
log Odds = βˆ0 + .... + βˆr ⋅ race + βˆs ⋅ site + βˆrs ⋅ site ⋅ race
log ( OR ) = βˆ → OR
race , site = 0 r = exp ( βˆ ) = exp ( 0.684 ) = 1.982
race , site = 0 r
( )
log Odds = βˆ0 + .... + βˆr ⋅ race + βˆs ⋅ site + βˆrs ⋅ site ⋅ race
log ( OR ) = βˆ → OR
race , site =1 r = exp ( βˆ + βˆ ) = exp ( 0.684 − 1.429 ) = 0.475
race , site =1 r rs
127
In modo speculare potremmo calcolare gli odds ratio di site all’interno dei livelli di race.
( )
log Odds = βˆ0 + .... + βˆr ⋅ race + βˆs ⋅ site + βˆrs ⋅ site ⋅ race
log ( OR ) = βˆ → OR
site , race = 0 = exp ( β ) = exp ( 0.516 ) = 1.675
s site , race = 0 s
( )
log Odds = βˆ0 + .... + βˆr ⋅ race + βˆs ⋅ site + βˆrs ⋅ site ⋅ race
log ( OR ) = βˆ + βˆ → OR
site , race =1 s = exp ( βˆ + βˆ ) = exp ( 0.516 − 1.429 ) = 0.401
rs site , race =1 s rs
( )
log Odds age,ndrgtx = βˆ0 + ... + βˆa ⋅ age + βˆndr1 ⋅ ndrgfp1 + βˆndr 2 ⋅ ndrgfp 2 + βˆint ⋅ agendrgfp1 (5.18)
log ( Odds age + 5, ndrgtx ) = βˆ 0 + ... + βˆa ⋅ ( age + 5 ) + βˆndr1 ⋅ ndrgfp1 + βˆndr 2 ⋅ ndrgfp 2 + βˆint ⋅ ( age + 5 ) ⋅ ndrgfp1
( ) ndrgtx + 1
log OR age + 5 v sage, ndrgtx = cost = 5 ⋅ βˆa + 5 ⋅ βˆint ⋅ ndrgfp1 = 5 ⋅ βˆa + 5 ⋅ βˆint ⋅
10
(5.19)
E la varianza stimata della differenza tra i due logit espressa dalla (5.19) valea:
( (
var log OR age + 5 vs age , ndrgtx = cost )) = 5 ⋅ var ( βˆ ) + (5 ⋅ ndrgp1) ⋅ var ( βˆ )
2
a
2
int
(5.20)
+ 2 ⋅ 5 ⋅ 5 ⋅ ndrgfp1 ⋅ cov βˆa , βˆint ( )
La Tab. 5.13 e la Fig.5.9 riportano gli odds ratio ed i relativi intervalli confidenza calcolati in
corrispondenza di valori di ndrgtx da 1 a 10.
a
Le varianze e la covarianza contenute nella (5.20) si ottengono dalla matrice di varianza e covarianza del
modello.
128
Tab. 5.13
Estimated odds ratio (OR) and 95% confidence limits (UL, LL) for a five-year
increase in age based on the model in Table. 5.10
ndrgtx ndrgfp1 log(OR) OR 1.96 SE UL LL
0 10 -0.18029 0.835026 0.41096484 1.259447 0.553631
1 5 0.20145 1.223175 0.19307741 1.483683 1.008408
2 3.333333 0.328698 1.389158 0.17934684 1.662038 1.16108
3 2.5 0.392321 1.480413 0.19202999 1.793827 1.221759
4 2 0.430496 1.538019 0.20500513 1.887967 1.252937
5 1.666667 0.455945 1.577664 0.21547722 1.957019 1.271844
6 1.428571 0.474123 1.606605 0.22371912 2.009412 1.284544
7 1.25 0.487757 1.628659 0.23027081 2.050385 1.293674
8 1.111111 0.498361 1.646021 0.23556711 2.083247 1.300558
9 1 0.506844 1.660044 0.23992193 2.110165 1.305939
10 0.909091 0.513785 1.671606 0.24355858 2.132603 1.310261
( )
var βˆa = 0.00083376 ( )
var βˆint = 0.00003632 ( )
cov βˆa , βˆint = −0.00013536
Fig. 5.9
( )
log Odds age, ndrgtx +1 = βˆ0 + ... + βˆa ⋅ age + βˆndr1 ⋅ ndrgfp11
(5.21)
+ βˆndr 2 ⋅ ndrgfp 21 + βˆint ⋅ agendrgfp11
dove
−1
( ndrgtx + 1) + 1
−1
ndrgtx + 2
ndrgfp11 = =
10 10
ndrgtx + 2
drggfp 21 = ndrgfp11 ⋅ log
10
( )
log OR ndrgtx +1 vs ndrgtx ,age =cost = βˆndr1 ⋅ ( ndrgfp11 − ndrgfp1) + βˆndr 2 ⋅ ( ndrgfp 21 − ndrgfp 2 )
(5.22)
+βˆint ⋅ age ⋅ ( ndrgfp11- ndrgfp1)
Posti
A = ndrgfp11 − ndrgfp1 B = ndrgfp 21 − ndrgfp 2
La (5.22) si semplifica nella seguente:
( )
log OR ndrgtx +1 vs ndrgtx ,age = cost = βˆndr1 ⋅ A + βˆndr 2 ⋅ B + βˆint ⋅ age ⋅ A (5.23)
La varianza stimata della differenza dei logit, espressa dalla (5.23), vale:
(
var βˆ ⋅ A + βˆ ⋅ B + βˆ ⋅ age ⋅ A = A2 var βˆ
ndr1 ndr 2 int ) (
+ B 2 var βˆ ndr1 ) ( ndr 2 )
( ) (
+ ( age ⋅ A ) var βˆint + 2 A ⋅ B ⋅ cov βˆndr1 , βˆndr 2
2
) (5.24)
+2 A ⋅ ( age ⋅ A ) ⋅ cov ( βˆ ndr1 , βˆint )
+ 2 B ⋅ ( age ⋅ A ) ⋅ cov ( βˆ ndr 2 , βˆint )
Dalle (5.22) e (5.24) si ottengono facilmente gli estremi degli intervalli di confidenza degli OR stimati
tabulati in Tab. 5.14 e plottati nelle Fig. 5.10 (a)(b)(c)(d).
130
Tab. 5.14
Estimated Odds Ratio (OR) and 95% confidence limits (UL, LL) for an
increase of one drug treatment from the value of ndrgtx for a subject of
age 20, 25, 30 and 35 years
age 20 age 25
ndrgtx
OR UL LL OR UL LL
0 0.724604 1.584039 0.331463 1.061425 1.958081 0.575371
1 0.592587 0.789676 0.444687 0.672999 0.828506 0.546681
2 0.677509 0.816449 0.562214 0.722016 0.840272 0.620403
3 0.748579 0.857111 0.65379 0.777708 0.873768 0.692209
4 0.800468 0.88786 0.721677 0.821101 0.900082 0.74905
5 0.838262 0.910095 0.772099 0.85364 0.919403 0.792581
6 0.866324 0.92639 0.810153 0.878216 0.933695 0.826034
7 0.887633 0.938609 0.839426 0.897096 0.944485 0.852084
8 0.904164 0.947983 0.86237 0.911866 0.952808 0.872684
9 0.917236 0.955327 0.880664 0.923625 0.959357 0.889223
10 0.927752 0.961187 0.89548 0.933133 0.964602 0.902691
age 30 age 35
ndrgtx
OR UL LL OR UL LL
0 1.554812 2.719697 0.888864 2.277543 4.370327 1.186914
1 0.764324 0.890559 0.655983 0.868042 1.009845 0.74615
2 0.769446 0.873403 0.677862 0.819992 0.922822 0.72862
3 0.80797 0.895332 0.729133 0.83941 0.924211 0.76239
4 0.842265 0.91526 0.775092 0.863976 0.934494 0.798779
5 0.869299 0.930655 0.811989 0.885246 0.944446 0.829757
6 0.890272 0.942362 0.841061 0.902492 0.95275 0.854886
7 0.906659 0.951362 0.864057 0.916324 0.959473 0.875116
8 0.919635 0.958395 0.882442 0.927469 0.964905 0.891487
9 0.930058 0.963984 0.897325 0.936536 0.969325 0.904856
10 0.938546 0.968497 0.909522 0.943991 0.972957 0.915887
131
Fig. 5.10 (a)
Fig.5.10 (b)
132
Fig. 5.10 (c)
133
Come si vede dai dati tabulati, e soprattutto dai grafici, all’aumentare del numero dei precedenti
trattamenti, un ulteriore aumento di un’unità del numero di trattamenti tende ad avere effetti
trascurabili.
Inoltre si nota che in tre dei quattro grafici l’odds ratio minore si registra in corrispondenza di un
numero di trattamenti precedenti pari a uno. Ciò giustifica il calcolo degli odds ratio riferiti al numero
di precedenti trattamenti rispetto a un valore di riferimento dei trattamenti pari a uno.
Le differenze individuali dei logit e i loro intervalli di confidenza, ad una particolare età (age) si
ottengono dalla (5.23) e dalla (5.24) ridefinendo i valori di A e B come di seguito indicato:
−1
1+1
A = ndrgfp1 − (5.25)
10
−1
1+1 1+1
B = ndrgfp 2 − log = ndrgfp 2 + 5log ( 5 ) (5.26)
10 10
In Fig. 5.11 (a) (b) (c) (d) riportiamo le stime degli Odds Ratio e i relativi intervalli di confidenza
comparando zero, due, tre..fino a 10 precedenti trattamenti rispetto a un solo precedente
trattamento.
134
Fig. 5.11 (b)
135
Fig. 5.11 (d)
Prima di affrontare un nuovo capitolo, può essere utile sottolineare che il modello presentato in Tab.
5. 10 è più complicato rispetto ai modelli che vengono normalmente discussi nell’ambito della ricerca
clinica. La gran parte di questi modelli hanno infatti poche covariate continue e modellate
linearmente, e solo piccola parte di essi introduce i termini di interazione.
136
Applicazione Capitolo 5
Tab. 5.1
use "C:\docb\Scuola\2010\logistic\chapter4_2.dta"
gen ndrgfp1 = ((ndrugtx+1)/10)^(-1)
gen ndrgfp2 = ndrgfp1*log((ndrugtx+1)/10)
gen agendrgfp1 = age*ndrgfp1
gen racesite = race*site
xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgfp1 racesite
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .1166385 .0288749 4.04 0.000 .0600446 .1732323
ndrgfp1 | 1.669035 .407152 4.10 0.000 .871032 2.467038
ndrgfp2 | .4336886 .1169052 3.71 0.000 .2045586 .6628185
_Iivhx_2 | -.6346307 .2987192 -2.12 0.034 -1.220109 -.0491518
_Iivhx_3 | -.7049475 .2615805 -2.69 0.007 -1.217636 -.1922591
race | .6841068 .2641355 2.59 0.010 .1664107 1.201803
treat | .4349255 .2037596 2.13 0.033 .035564 .834287
site | .516201 .2548881 2.03 0.043 .0166295 1.015773
agendrgfp1 | -.0152697 .0060268 -2.53 0.011 -.0270819 -.0034575
racesite | -1.429457 .5297806 -2.70 0.007 -2.467808 -.3911062
_cons | -6.843864 1.219316 -5.61 0.000 -9.23368 -4.454048
------------------------------------------------------------------------------
137
Tab. 5.2
estat classification
Tab. 5.3
estat classification, cutoff(.05)
138
Incrementando via via il cutoff si completa la tabella.
Fig. 5.1
lsens
Fig. 5.2
lroc
Tab. 5.4
fitstat
Fig. 5.3
do "C:\docb\Scuola\2010\logistic\leverage.do"
***************************************
* PLOT OF LEVERAGE Fig. 5.3 *
***************************************
* utilizzare il file leverage
drop hat1
replace x=rnormal(0,3)
(0 real changes made)
replace g=0.8*x
(0 real changes made)
replace p = exp(g)/(1+exp(g))
(0 real changes made)
replace y=1
(41 real changes made)
replace y=0 if p <0.5
(41 real changes made)
replace const=1
(0 real changes made)
replace vel=p*(1-p)
(0 real changes made)
mkmat x const,mat(X)
mkmat vel,mat(D)
mat V=diag(D)
mat V1=cholesky(V)
mat H = V1*X*inv(X'*V*X)*X'*V1
mat hat=vecdiag(H)
mat h=hat'
svmat h,names(hat)
139
twoway (scatter hat1 p,sort)
Fig. 5.4
mat D=X*inv(X'*V*X)*X'
mat DD=vecdiag(D)
mat DDT=DD'
svmat DDT,names(d)
twoway (scatter d1 p,sort)
Fig. 5.5
predict p
(option pr assumed; Pr(dfree))
predict dx, dx2
graph twoway scatter dx p, xlabel(0(.2)1) ylabel(0(10)30)
Fig. 5.6
predict dd, dd
graph twoway scatter dd p, xlabel(0(.2)1) ylabel(0 3.5 7)
Fig. 5.7
predict db, db
graph twoway scatter db p, xlabel(0(.2)1) ylabel(0 .15 .3)
Fig. 5.8
graph twoway scatter dx p [weight=db], xlabel(0(.2)1) ylabel(0 15 30) msymbol(oh)
Tab. 5.8
list age ndrugtx ivhx race treat site dfree n p db dx dd h if n==31 | n==477 | n==105
| n==468
Tab. 5.9
xi:logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgfp1 racesite
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .1166385 .0288749 4.04 0.000 .0600446 .1732323
ndrgfp1 | 1.669035 .407152 4.10 0.000 .871032 2.467038
ndrgfp2 | .4336886 .1169052 3.71 0.000 .2045586 .6628185
_Iivhx_2 | -.6346307 .2987192 -2.12 0.034 -1.220109 -.0491518
_Iivhx_3 | -.7049475 .2615805 -2.69 0.007 -1.217636 -.1922591
race | .6841068 .2641355 2.59 0.010 .1664107 1.201803
treat | .4349255 .2037596 2.13 0.033 .035564 .834287
site | .516201 .2548881 2.03 0.043 .0166295 1.015773
agendrgfp1 | -.0152697 .0060268 -2.53 0.011 -.0270819 -.0034575
racesite | -1.429457 .5297806 -2.70 0.007 -2.467808 -.3911062
_cons | -6.843864 1.219316 -5.61 0.000 -9.23368 -4.454048
------------------------------------------------------------------------------
140
estat gof
quietly xi:logistic dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgfp1
racesite
ldev
141
Tab. 5.10
xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgfp1 racesite
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | .1166385 .0288749 4.04 0.000 .0600446 .1732323
ndrgfp1 | 1.669035 .407152 4.10 0.000 .871032 2.467038
ndrgfp2 | .4336886 .1169052 3.71 0.000 .2045586 .6628185
_Iivhx_2 | -.6346307 .2987192 -2.12 0.034 -1.220109 -.0491518
_Iivhx_3 | -.7049475 .2615805 -2.69 0.007 -1.217636 -.1922591
race | .6841068 .2641355 2.59 0.010 .1664107 1.201803
treat | .4349255 .2037596 2.13 0.033 .035564 .834287
site | .516201 .2548881 2.03 0.043 .0166295 1.015773
agendrgfp1 | -.0152697 .0060268 -2.53 0.011 -.0270819 -.0034575
racesite | -1.429457 .5297806 -2.70 0.007 -2.467808 -.3911062
_cons | -6.843864 1.219316 -5.61 0.000 -9.23368 -4.454048
------------------------------------------------------------------------------
Tab. 5.11
xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgfp1 racesite,or
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)
------------------------------------------------------------------------------
dfree | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
age | 1.123713 .0324472 4.04 0.000 1.061884 1.189142
ndrgfp1 | 5.307045 2.160774 4.10 0.000 2.389375 11.78749
ndrgfp2 | 1.542938 .1803775 3.71 0.000 1.226983 1.940253
_Iivhx_2 | .5301313 .1583604 -2.12 0.034 .2951979 .9520366
_Iivhx_3 | .4941345 .129256 -2.69 0.007 .2959289 .825093
race | 1.982001 .5235167 2.59 0.010 1.181058 3.326108
treat | 1.544848 .3147776 2.13 0.033 1.036204 2.303171
site | 1.67565 .4271033 2.03 0.043 1.016768 2.761496
agendrgfp1 | .9848463 .0059354 -2.53 0.011 .9732815 .9965485
racesite | .2394389 .1268501 -2.70 0.007 .0847705 .6763083
------------------------------------------------------------------------------
142
Tab. 5.12
lincom 1*race, or
( 1) race = 0
------------------------------------------------------------------------------
dfree | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.982001 .5235167 2.59 0.010 1.181058 3.326108
------------------------------------------------------------------------------
. lincom 1*race+1*racesite, or
( 1) race + racesite = 0
------------------------------------------------------------------------------
dfree | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | .474568 .2200132 -1.61 0.108 .1912825 1.177394
------------------------------------------------------------------------------
Tab. 5.13
Gli OR si ottengono esponenziando la (5.19)
Gli SE si ottengono dalla (5.20) una volta estratta la matrice di varianza e covarianza associata al
modello. Tale matrice si ottiene con il comando: matrix list e(V)
Fig. 5.9
La figura 5.9 è ottenuta, sulla base dei dati di Tab. 5.13, mediante il sw SigmaPlot.
Tab. 5.14
Gli OR si ottengono esponenziando la (5.23)
Gli SE si ottengono dalla (5.24) una volta estratta la matrice di varianza e covarianza associata al
modello. Tale matrice si ottiene con il comando: matrix list e(V)
143
Affermazione a pag. 99
Il valore di R-squared è da ritenersi pari al quadrato del coefficiente di regressione tra i valori predetti
dal modello e i valori osservati.
Dim.
∑i ( yi − y )( yˆi − y )
( )
R Y , Yˆ =
∑ ( yi − y ) ∑ ( yˆi − y )
2 2
i i
∑( y − y) ∑ ( yˆ − y)
2 2
i i
i i
∑ ( y − yˆi )( yˆ i − y ) + ( yˆi − y )
2
i
= i
∑( y − y) ∑ ( yˆ − y)
2 2
i i
i i
∑ ( yˆ − y) ∑ ( yˆ − y)
2 2
i i
= i
→ R2 = i
∑( y − y) ∑( y − y)
2 2
i i
i i
Poiché inoltre
∑( y − y 2 ) = ∑ ( yi − yˆi ) + ∑ ( yi − y )
2 2
i
i i i
Si ha:
∑ ( yˆ − y) ∑( y − yˆi )
2 2
i i
i
=1− i
∑ ( yi − y ) ∑( y − y)
2 2
i
i i
e quindi:
∑( y − yˆi )
2
i
R2 = 1 − i
∑( y − y)
2
i
i
Dim.
∑ ( yˆ − y )( yi − yˆi − y + y ) ∑ ( yˆ − y )( yi − yˆi )
( )
i i
cov Yˆ , Y − Yˆ = i
= i
N N
cov (Yˆ , Y − Yˆ ) = cov (Yˆ , Y ) − cov (Yˆ , Yˆ )
= cov ( mX + b, Y ) − var ( mX + b )
= m ⋅ cov ( X , Y ) + 0 − m 2 ⋅ var ( X )
= m 2 var ( X ) − m 2 ⋅ var ( X ) = 0 → ∑ ( yˆi − y ) ( yi − yˆi ) = 0
i
144
Appendice 5.1
Eventi binari, ottenuti nell’ambito di studi di coorte, sono comunemente analizzati tramite un
modello di regressione logistica per ottenere gli odds ratio (OR) relativi ai confronti con diverse serie
di caratteristiche. In genere tale approccio è accettabile, ma possono esserci situazioni in cui è
imprescindibile stimare non gli odds ratio, bensì i rischi relativi (RR).
Molti Autori ritengono che in presenza di un’incidenza dell’evento maggiore del 10% la stima del RR
tramite l’OR sia troppo approssimata,13,14 e pertanto consigliano di stimare i RR per via diretta.
Altri Autori sono invece dell’avviso di utilizzare sempre e comunque gli OR, anche nel caso di eventi
comuni, a patto,naturalmente, di non forzare la loro interpretazione: in altri termini, la valutazione
degli OR è sempre e comunque corretta, la loro interpretazione invece necessita di particolari
cautele, non si deve far dire agli OR ciò che essi non possono dire.15
Con queste premesse, ci occuperemo ora della stima dei RR nel caso di uno studio di coorte e in
presenza di un evento comune.
In Stata ci sono varie opzioni che consentono di calcolare direttamente i RR: noi tratteremo due
metodi, entrambi basati sul comando glm (generalized linear model).
Uno stima il RR tramite un modello di regressione log-binomiale, il secondo sfrutta una regressione di
Poisson con varianza di errore robusta.
Utilizzeremo un data set di fantasia, descritto in Tab. A.5.1.1, che prevede come evento la necessità
dell’uso di lenti correttive, all’età di 30 anni, in soggetti che, a 10 anni, ne erano esenti. Tale
eventualità viene ipoteticamente messa in relazione con la presenza di un gene che induce un forte
desiderio di carote (carrot=1 vs carrot=0), con il sesso (female=1 vs male=2), e con la latitudine a
cui sono vissuti per la maggior parte del tempo (da 24 a 48 gradi nord).
Tab. A5.1.1
Data Set Description
Variable Obs Mean Std. Dev. Min Max
id 100 50.5 29.01149 1 100
carrot 100 0.51 0.502418 0 1
gender 100 1.48 0.502117 1 2
latitude 100 35.97 7.508184 24 48
lenses 100 0.53 0.501614 0 1
L’evento (necessità di portare lenti all’età di 30 anni) si verifica nella misura del 53%, pertanto
l’approssimazione OR – RR, sulla base di quanto detto in precedenza, non è attendibile.
I RR e gli OR, non aggiustati per sesso e latititudine, si possono calcolare direttamente dalla tabella
sotto riportata.
Tab. A5.1.2
lenses
carrot 0 1 Total
0 17 32 49
1 30 21 51
Total 47 53 100
145
32 ⋅ 30 32 51
OR = = 2.689 RR = = 1.586
17 ⋅ 21 49 21
L’OR può essere stimato direttamente da un modello logistico con la variabile carrot come unico
predittore.
char carrot[omit]1
. xi: logistic lenses i.carrot
i.carrot _Icarrot_0-1 (naturally coded; _Icarrot_1 omitted)
------------------------------------------------------------------------------
lenses | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Icarrot_0 | 2.689076 1.11207 2.39 0.017 1.195605 6.048091
------------------------------------------------------------------------------
AIC = 1.363665
Log likelihood = -66.1832335 BIC = -318.9402
------------------------------------------------------------------------------
| OIM
lenses | Risk Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Icarrot_0 | 1.586006 .3126203 2.34 0.019 1.077762 2.333923
------------------------------------------------------------------------------
146
Deviance = 64.53613549 (1/df) Deviance = .658532
Pearson = 46.99999999 (1/df) Pearson = .4795918
AIC = 1.745361
Log pseudolikelihood = -85.26806774 BIC = -386.7705
------------------------------------------------------------------------------
| Robust
lenses | IRR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Icarrot_0 | 1.586006 .3141953 2.33 0.020 1.075667 2.33847
------------------------------------------------------------------------------
. char gender[omit]2
. xi: glm lenses i.carrot i.gender latitude, fam(poisson) link(log) nolog robust eform
i.carrot _Icarrot_0-1 (naturally coded; _Icarrot_1 omitted)
i.gender _Igender_1-2 (naturally coded; _Igender_2 omitted)
AIC = 1.777618
Log pseudolikelihood = -84.8808784 BIC = -378.3346
------------------------------------------------------------------------------
| Robust
lenses | IRR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Icarrot_0 | 1.621287 .3183586 2.46 0.014 1.103358 2.382337
_Igender_1 | 1.227772 .228048 1.10 0.269 .8531281 1.766936
latitude | .9900407 .0126866 -0.78 0.435 .9654851 1.015221
------------------------------------------------------------------------------
147
148
Capitolo 6
Applicazione del modello logistico in differenti campionamenti
6.1 Introduzione
Fino ad ora abbiamo considerato il modello logistico operante su dati ottenuti da un campione
casuale semplice. In realtà il modello logistico può essere utilizzato e interpretato anche nel caso di
campionamenti diversi.
In questo capitolo richiameremo i concetti del classico studio di coorte, per poi considerare gli studi
caso-controllo semplici e stratificati e campionamenti ancora più complessi.
Un diverso studio di coorte potrebbe essere concepito selezionando, al solito, un campione casuale
di soggetti da allocare, successivamente e con probabilità prefissata, ad uno dei due bracci di
trattamento per registrare la presenza o meno dell’outcome entro un periodo di tempo prefissato.
Anche in questo caso la (6.1) definisce correttamente la funzione di verosimiglianza, a condizione di
inserire tra le covariate anche i bracci di trattamento.
149
τ 1 = P ( z = 1| y = 1) τ 0 = P ( z = 1| y = 0 ) (6.2)
Quasi sempre τ 1 è molto prossimo all’unità (quasi tutti i i potenziali casi sono inseriti nello studio),
mentre τ 0 ha un ordine di grandezza inferiore.
Consideriamo ora la probabilità condizionale che una persona sia malata ( y = 1), dato che sia inserita
nello studio ( z = 1) e che abbia un determinato valore di covariate x.
Usando il teorema di Bayes si ha:
P ( z = 1| x, y = 1) ⋅ P ( y = 1| x )
P ( y = 1| x, z = 1) = (6.3)
P ( y = 0 | x ) P ( z = 1| x, y = 0 ) + P ( y = 1| x ) P ( z = 1| x, y = 1)
Tenuto conto delle (6.2), posto inoltre p ( x ) = P ( y = 1| x ) , si ottiene:
τ1 ⋅ p ( x )
P ( y = 1| x, z = 1) = (6.4)
τ 0 1 − p ( x ) + τ 1 ⋅ p ( x )
Dividendo la (6.4) per τ 0 1 − p ( x ) , ricordando la (1.3) si ottiene:
p (x)
(τ1 τ 0 )
P ( y = 1| x, z = 1) =
1 − p (x)
=
(
(τ1 τ 0 ) exp β0 + βi xi ∑ ) (6.5)
1 + (τ 1 τ 0 )
p (x) ( ∑ )
1 + (τ 1 τ 0 ) exp β 0 + β i xi
1 − p (x)
da cui
P ( y = 1| x, z = 1) =
( ∑β x )
exp β 0* + i i
(6.6)
1 + exp ( β + ∑ β x )
*
0 i i
dove
β 0* = log (τ 1 τ 0 ) + β 0
Pertanto la probabilità di malattia per i soggetti inseriti nello studio può essere modellata tramite la
regressione logistica immaginando che le osservazioni siano ottenute da uno studio di coorte.
Tuttavia occorre tenere presente che l’inferenza sull’intercetta non può essere effettuata senza la
conoscenza della frazione di campionamento dei casi (τ 1 ) e dei controlli (τ 0 ) .
Anche se, negli studi caso controllo, la costruzione del modello e le inferenze derivate dai modelli
fittati può procedere secondo gli schemi illustrati a proposito degli studi di coorte, è bene ribadire
che questo approccio non è valido nel caso di dati appaiati o dati altamente stratificati.
Nel seguito illustreremo i metodi utilizzabili in tali situazioni.
Precisiamo comunque che, nel caso di studi caso-controllo stratificati, oltre a usare metodi specifici
che illustreremo nel paragrafo seguente, si può adottare un approccio più semplice che prevede
l’utilizzazione di logit strato specifici.18,19
Per costruire tali logit si debbono calcolare i tassi di campionamento strato specifici per i casi
( n1k / N1k ) e per i controlli ( n0k / N 0k )
I logit strato specifici valgono:
g k ( x ) = log ( ( n1k ⋅ N 0 k ) / ( n0 k ⋅ N1k ) ) + β 0 + β'x (6.7)
150
Questo modello può essere trattato con i consueti software definendo una nuova variabile (offset
variable) log ( ( n1k ⋅ N 0 k ) / ( n0 k ⋅ N1k ) ) e forzandola nel modello imponendo che il suo coefficiente sia
pari a 1. Lo svolgimento dell’Esercizio 6.1 permetterà di familiarizzare con tale metodo.
F=
( s − p + 1) W F ∼ Fp , s − p +1 (6.9)
s⋅ p
dove:
k
s = ∑ mk − K è il numero totale di unità campionarie primarie meno il numero degli strati.
i =1
151
Esempio di un modello logistico applicato a un campionamento complesso.
Tab. 6.1
()
−1
W = βˆ ' var βˆ βˆ = 1806
(6.10)
8 x8
F=
( s − p + 1) W = ( ( 98 − 49 ) − 8 + 1) 1806 = 193.5
s⋅ p ( 98 − 49 ) ⋅ 8
p F8,42 ≥ 193.50 < 0.001
Entrambi i test inducono a rifiutare l’ipotesi nulla.
152
Tab. 6.2
Estimated coefficients, Standard Errors, z-Scores, Two-Tailed p-Values and
95% Confidence Intervals for a Logistic Regression Model for the NHANES III
study with Dependent Variable = HPB (n = 16963)
Variable Coef. Std. Err. z P>t [95% Conf.Interval]
HSAGEIR 0.0807254 0.0024847 32.49 <0.001 0.075732 0.085719
HSSEX 0.2040417 0.0754752 2.7 0.009 0.052369 0.355715
_IDMARACER_2 0.5584880 0.0743918 7.51 <0.001 0.408992 0.707984
_IDMARACER_3 0.0436902 0.3004571 0.15 0.885 -0.5601 0.647481
BMPWTLBS 0.0116062 0.0008349 13.9 <0.001 0.009928 0.013284
BMPHTIN -0.0592606 0.0126097 -4.7 <0.001 -0.0846 -0.03392
_ISMOKE_2 -0.0764019 0.0949624 -0.80 0.425 -0.26724 0.114432
_ISMOKE_3 0.0610105 0.1050502 0.58 0.564 -0.1501 0.272117
_cons -4.2572180 0.8040119 -5.29 <0.001 -5.87294 -2.6415
Dalla Tab 6.2, sulla base dei Wald test individuali, si vede che la variabile SMOKE potrebbe non
essere significativamente informativa. Verificheremo pertanto l’ipotesi nulla che i due coefficienti di
SMOKE (categorizzata con variabili dummy) siano entrambi uguali a zero.
Come già accennato in precedenza, visto che non si lavora con una vera e propria funzione di
verosimiglianza, non potremo usare il likelihood ratio test bensì dovremo utilizzare il Wald test
multivariato. Applicando la (6.8) e la (6.9) si ha quindi:
βˆ ' = [ −0.0764019 0.0610105]
()
var βˆ
2x2
=
0.009018 0.004660
0.004660 0.011036
La statistica di Wald vale:
()
−1
W = βˆ ' var βˆ βˆ = 1.8177
P χ 22 ≥ 1.8177 = 0.403 (6.11)
2 x2
F=
( 49 − 2 + 1) 1.8177 = 0.8903 P F2,48 ≥ 0.8903 = 0.4172 (6.12)
49 ⋅ 2
Entrambi i test non consentono di rifiutare l’ipotesi nulla, pertanto è giustificato fittare un modello
privo della variabile SMOKE.
La Tab. 6.3 riporta i coefficienti di tale modello che sostanzialmente coincidono con i coefficienti
ottenuti dal modello completo e riportati in Tab. 6.2. Ciò significa che la variabile SMOKE non si
comporta come confondente rispetto alle relazioni tra le restanti covariate e la variabile dipendente
(HBP) e può pertanto essere trascurata come predittore.
Prima di procedere alla rifinitura e alla valutazione dell’adeguatezza del modello ci chiediamo: “se
avessimo analizzato il data set come proveniente da un campione casuale semplice che stime
avremmo ottenuto?”
La Tab. 6.4 riporta tali stime.
153
Anche se dal confronto delle Tab. 6.3 e Tab. 6.4 si vede che i coefficienti stimati sono
sostanzialmente simili e anche i test di significatività individuali sono sovrapponibili, occorre ribadire
che ciò non è vero in generale, soprattutto in presenza di numerosità campionarie più ridotte.
Tab. 6.3
Estimated Coefficients, Standard Errors, z-score, Two-tailed p-Values and
95% Confidence Intervals for a Reduced Logistic Regression Model for
NHANES III Study with Dependent Variable = HPB (n = 19694)
Variable Coef. Std. Err. z P>t [95% Conf.Interval]
HSAGEIR 0.079952 0.002662 30.04 <0.001 0.074604 0.085301
HSSEX 0.193837 0.079058 2.45 0.018 0.034964 0.352710
_IDMARACER_2 0.571516 0.070990 8.05 <0.001 0.428856 0.714176
_IDMARACER_3 0.051978 0.300696 0.17 0.863 -0.552290 0.656249
BMPWTLBS 0.011442 0.000841 13.61 <0.001 0.009753 0.013131
BMPHTIN -0.058990 0.012686 -4.65 <0.001 -0.084480 -0.033500
_cons -4.211460 0.794000 -5.3 <0.001 -5.807060 -2.615850
Tab. 6.4
Estimated Coefficients, Standard Errors, z-Scores, Two-Tailed p-Values and
95% Confidence Intervals for a Logistic Regression Model Containing the
Variables in Table 6.3 but Assuming the Data Come from a Simple Random
Sample. Dependent Variable = HBP (n = 16964)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
HSAGEIR 0.069638 0.001397 49.86 <0.001 0.066901 0.072375
HSSEX 0.090475 0.061337 1.48 0.14 -0.02974 0.210692
_IDMARACER_2 0.476558 0.050938 9.36 <0.001 0.376723 0.576394
_IDMARACER_3 0.091611 0.143093 0.64 0.522 -0.18885 0.372067
BMPWTLBS 0.008372 0.000609 13.74 <0.001 0.007178 0.009565
BMPHTIN -0.045160 0.008505 -5.31 <0.001 -0.06183 -0.028490
_cons -3.871510 0.529282 -7.31 <0.001 -4.90888 -2.834140
Torniamo ora al modello logistico, i cui coefficienti sono riportati in Tab.6.3, ottenuto considerando il
campionamento complesso.
Seguendo lo schema presentato nei capitoli precedenti, dovremo ora:
1. verificare se le covariate continue debbano essere o meno inserite nel modello in forma
lineare;
2. valutare se vi è presenza di interazioni tra le variabili indipendenti presenti nel modello
finale;
3. esaminare il fitting del modello valutando sia misure globali di distanza tra il vettore del
valori osservati e il valore dei valori fittati, sia le componenti individuali di tali misure.
154
Purtroppo, attualmente, nessun package statistico è in grado di effettuare test diagnostici e di bontà
di adattamento (goodness-of-fit tests) o verifiche sulla linearità delle covariate con specifico
riferimento a campionamenti complessi.
Dovremo forzatamente seguire una procedura pragmatica, anche se non pienamente sostenuta per
via teorica, che di seguito schematizziamo:
1. useremo l’analisi statistica, con riferimento a campionamenti complessi (design-based
analysis), solo per stimare i coefficienti del modello;
2. useremo l’analisi statistica, con riferimento al modello casuale semplice (model-based
analysis), per verificare la linearità delle covariate ed eseguire test di bontà di adattamento .
Con riferimento al data set che stiamo analizzando, potremmo valutare le linearità delle covariate,
tramite i polinomi frazionari, ipotizzando di trovarci di fronte a un campione casuale semplice
(model-based analysis).
Così procedendo, troveremmo che HSAGEIR non è lineare nel logit e che la trasformazione adeguata
prevedrebbe due termini: x e x3. Inoltre verificheremmo anche che la variabile BMPWTLBS dovrebbe
essere log trasformata.
Queste informazioni, ottenute tramite model-based analysis, potranno poi essere utilizzate per
stimare i coefficienti del modello considerando ora il campionamento complesso (design-based
analysis).
Per valutare infine l’adeguatezza del modello stimato, potremmo importare i coefficienti ottenuti in
una routine in grado di valuatre il goodness-of-fit nell’ambito di un modello casuale semplice.
L’esercizio 6.2 permetterà di familiarizzare con questa procedura, più complicata a dirsi che a farsi.
Esercizi
Esercizio 6.1
Dal data set utilizzato da Breslow e Zhao (1988), si conduca l’analisi utilizzando i logit strato specifici.
Esercizio 6.2
Dal modello presentato in Tab.6.3 se ne ottenga uno che inglobi le seguenti trasformazioni delle
variabili HSAGEIR (x, x3) e BMPWTLBS (logx). Si importino i coefficienti ottenuti in una opportuna
routine per valutare l’adeguatezza globale del modello.
155
Applicazione Capitolo 6
Tab. 6.2
pweight: WTPFHX6
VCE: linearized
Strata 1: SDPSTRA6
SU 1: SDPPSU6
FPC 1: <zero>
xi: svy: logit HBP HSAGEIR HSSEX I.DMARACER BMPWTLBS BMPHTIN I.SMOKE
I.DMARACER _IDMARACER_1-3 (naturally coded; _IDMARACER_1 omitted)
I.SMOKE _ISMOKE_1-3 (naturally coded; _ISMOKE_1 omitted)
(running logit on estimation sample)
------------------------------------------------------------------------------
| Linearized
HBP | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
HSAGEIR | .0807254 .0024847 32.49 0.000 .0757323 .0857185
HSSEX | .2040417 .0754752 2.70 0.009 .0523686 .3557149
_IDMARACER_2 | .558488 .0743918 7.51 0.000 .4089921 .7079839
_IDMARACER_3 | .0436902 .3004571 0.15 0.885 -.5601009 .6474814
BMPWTLBS | .0116062 .0008349 13.90 0.000 .0099284 .013284
BMPHTIN | -.0592606 .0126097 -4.70 0.000 -.0846008 -.0339204
_ISMOKE_2 | -.0764019 .0949624 -0.80 0.425 -.2672361 .1144323
_ISMOKE_3 | .0610105 .1050502 0.58 0.564 -.1500959 .2721169
_cons | -4.257218 .8040119 -5.29 0.000 -5.87294 -2.641496
------------------------------------------------------------------------------
Formula (6.9)
mat vc=e(V) (prelevo matrice varianza/covarianza)
mat c=c[1..8,1..8] (tolgo ultima riga e ultima colonna, associate a _cons)
mat b=e(b) (prelevo la matrice dei coefficienti)
mat b=b[1,1..8] (tolgo ultima colonna, associata a _cons)
mat W=b*inv(vc)*b'
mat list W (W = 1805.9879)
Formula (6.10)
mat vc=e(V) (prelevo matrice varianza/covarianza)
mat vc=vc[7..8,7..8] (mantengo solo righe e colonne associate a smoke)
mat b=e(b) (prelevo la matrice dei coefficienti)
mat b=b[1,7..8] (mantengo solo le colonne associate a smoke)
mat W=b*inv(vc)*b’
mat list W (W = 1.8176756)
156
Tab. 6.3
------------------------------------------------------------------------------
| Linearized
HBP | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
HSAGEIR | .0799522 .0026616 30.04 0.000 .0746036 .0853008
HSSEX | .1938372 .0790581 2.45 0.018 .0349641 .3527104
_IDMARACER_2 | .5715161 .0709902 8.05 0.000 .4288559 .7141762
_IDMARACER_3 | .0519777 .3006959 0.17 0.863 -.5522933 .6562486
BMPWTLBS | .0114421 .0008405 13.61 0.000 .0097531 .0131311
BMPHTIN | -.0589891 .0126859 -4.65 0.000 -.0844824 -.0334958
_cons | -4.211455 .7940002 -5.30 0.000 -5.807058 -2.615852
------------------------------------------------------------------------------
Tab. 6.4
------------------------------------------------------------------------------
HBP | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
HSAGEIR | .0696379 .0013966 49.86 0.000 .0669007 .0723751
HSSEX | .0904745 .0613365 1.48 0.140 -.0297429 .2106919
_IDMARACER_2 | .4765584 .0509377 9.36 0.000 .3767225 .5763944
_IDMARACER_3 | .0916109 .1430926 0.64 0.522 -.1888453 .3720672
BMPWTLBS | .0083715 .0006091 13.74 0.000 .0071776 .0095654
BMPHTIN | -.0451575 .0085049 -5.31 0.000 -.0618268 -.0284882
_cons | -3.871509 .529282 -7.31 0.000 -4.908883 -2.834135
------------------------------------------------------------------------------
157
Esercizio 6.1
------------------------------------------------------------------------------
status | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
z1 | 1.114182 .1033409 10.78 0.000 .9116378 1.316727
z2 | .572913 .092562 6.19 0.000 .3914949 .7543312
_cons | -4.87873 .0656917 -74.27 0.000 -5.007483 -4.749976
offset | (offset)
------------------------------------------------------------------------------
159
Esercizio 6.2
xi: svy: logit HBP hsagei_1 hsagei_2 bmwpt_1 i.HSSEX i.DMARACER BMPHTIN
i.HSSEX _IHSSEX_0-1 (naturally coded; _IHSSEX_0 omitted)
i.DMARACER _IDMARACER_1-3 (naturally coded; _IDMARACER_1 omitted)
(running logit on estimation sample)
------------------------------------------------------------------------------
| Linearized
HBP | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
hsagei_1 | 1.316024 .0852528 15.44 0.000 1.144702 1.487346
hsagei_2 | -.0051067 .0006545 -7.80 0.000 -.006422 -.0037913
bmwpt_1 | 1.849155 .1620975 11.41 0.000 1.523408 2.174902
_IHSSEX_1 | .222497 .0781331 2.85 0.006 .0654827 .3795113
_IDMARACER_2 | .5966679 .073451 8.12 0.000 .4490626 .7442733
_IDMARACER_3 | .0109612 .3051999 0.04 0.971 -.6023611 .6242834
BMPHTIN | -.0677568 .0123544 -5.48 0.000 -.0925839 -.0429297
_cons | -12.93879 .884432 -14.63 0.000 -14.71612 -11.16145
------------------------------------------------------------------------------
160
number of observations = 16964
number of groups = 10
Hosmer-Lemeshow chi2(10) = 108.06
Prob > chi2 = 0.0000
161
162
Capitolo 7
Applicazione del modello logistico agli studi caso-controllo con appaiamento
7.1 Introduzione
Negli studi caso-controllo con accoppiamento, all’interno di un determinato strato (posizione
geografica, range età sesso…) lo sperimentatore fissa, a priori, il numero di casi e di controlli da
selezionare. In questa situazione la probabilità che un’osservazione casuale all’interno dello strato sia
un caso o un controllo dipenderà non solo dal valore delle covariate, ma anche dal rapporto tra casi e
controlli predeterminato in fase di progettazione dello studio.
Consideriamo il seguente data set.
group 1:
obs.1 outcome=1 x1=… x2=…
obs.2 outcome=0 x=… x2=…
group 2:
obs.3 outcome=1 x1=… x2=…
obs.4 outcome=0 x1=… x2=…
obs.5 outcome=0 x1=… x2=…
group 3:
…
.
.
group k:
…
Con riferimento al primo gruppo, il modello, sulla base del valore delle covariate, dovrà fornire ad
esempio la probabilità che l’osservazione 1 abbia un outcome positivo condizionata dal fatto che nel
gruppo 1 il 50% delle osservazioni hanno un outcome = 1 (1/2). Tale probabilità è espressa come
segue:
P ( obs. 1 positive and obs. 2 negative |one positive outcome )
o anche:
P (1 positive ) P ( 2 negative )
P (1 positive ) P ( 2 negative ) + P (1 negative ) P ( 2 positive )
Tenuta presente la (2.3) si ottiene:
exp ( β ' x1 )
P ( obs. 1 positive and obs. 2 negative |one positive outcome ) = (7.1)
exp ( β ' x1 ) + exp ( β ' x 2 )
dove il vettore β NON contiene l’intercetta.
La funzione di verosimiglianza associata alla (7.1) vale:
exp ( β ' x1 )
l1 ( β ) = (7.2)
exp ( β ' x1 ) + exp ( β ' x 2 )
Dalla (7.2) risulta evidente se i valori delle covariate per il casi e il controlli sono identici, allora,
poiché x1 = x 2 , la funzione di verosimiglianza vale 0.5 per ogni valore di β. Tali coppie di
caso-controllo sono pertanto non informative per quanto riguarda la stima dei coefficienti del
163
modello. In effetti è stato dimostrato21 che gli stimatori di massima verosimiglianza dei coefficienti
relativi a covariate dicotomiche, con riferimento alla logistica condizionale con appaiamento 1:1,
sono pari al logaritmo dei rapporti delle coppie discordantia.
In generale, la funzione di verosimiglianza, k-strato specifica, con n1k casi e n0k controlli
( nk = n1k + n0 k ) vale:
n1k
∏ exp ( β ' x ) i
nk nk !
lk ( β ) = i =1
ck = = (7.3)
n1k n1k !( nk − n1k )!
∑∏ exp ( β ' x j ,ij )
ck n1k
j =1 ij =1
7.2 Modello logistico applicato ad uno studio caso controllo con appaiamento 1:1
Negli studi caso controllo con appaiamento 1:1 la (7.4) si semplifica nella (7.5)
exp ( β ' x1k )
lk ( β ) = (7.5)
exp ( β ' x1k ) + exp ( β ' x 0 k )
Dato uno specifico valore di β, x1k e x0k l’equazione (7.5) esprime la probabilità che il soggetto sia un
caso sotto le seguenti due condizioni:
1. nello strato k si abbiano due soggetti di cui uno sia un caso;
2. il modello logistico sia adeguato
Supponiamo ad esempio di avere un modello con una sola covariata dicotomica in cui sia β =0.8.
Se i dati osservati sono x1k = 1 e x0k = 0, dalla (7.5) si ha:
exp ( 0.8 ⋅ 1)
lk ( β = 0.8 ) = = 0.69
exp ( 0.8 ⋅ 1) + exp ( 0.8 ⋅ 0 )
La probabilità che un soggetto con x = 1 sia un caso è 0.69 rispetto alla probabilità che sia un caso un
soggetto con x = 0.
D’altra parte se osservassimo x1k = 0 e x0k = 1, sempre dalla (7.5) avremmo:
exp ( 0.8 ⋅ 0 )
lk ( β = 0.8 ) = = 0.31
exp ( 0.8 ⋅ 0 ) + exp ( 0.8 ⋅ 1)
La probabilità che un soggetto con x = 0 sia un caso è 0.31 rispetto alla probabilità che sia un caso un
soggetto con x = 1.
Nel seguito vedremo, in dettaglio, come costruire un modello logistico applicato a uno studio caso
controllo con appaiamento 1:1. Utilizzeremo il data set di seguito descritto e le routine di calcolo che
prevedono la definizione di un modello logistico condizionaleb,22:
Code Sheet for the Variables in the 1-1matched Low Birth Weight Study
a
Se non ci sono coppie discordanti gli stimatori saranno indefiniti. E se le coppie discordanti sono scarse gli
standard error delle stime saranno esageratamente elevati.
b
Alcuni Autori ritengono, sulla base sia di considerazioni teoriche sia di prove simulate, che anche nel caso di
un disegno caso controllo con appaiamento, qualunque esso sia, può applicarsi il modello di regressione
logistica non condizionata, a patto che il campione sia adeguatamente numeroso.
164
Variable Description Codes/Values Name
1 Pair 1 -50 PAIR
2 Low Birth Weight 1 = BWT<=2500g, LOW
0 = BWT>2500g
3 Age of Mother Years AGE
4 Weight of Mother at Pounds LWT
Last Menstrual Period
5 Race 1 = White, 2 = Black RACE
3 = Other
6 Smoking Status 0 = No, 1 = Yes SMOKE
During Pregnancy
7 History of Premature Labor 0 = None, PTD
1 = Yes
8 History of Hypertension 0 = No, 1 = Yes HT
9 Presence of Uterine 0 = No, 1 = Yes UI
Irritability
Il data set è stato estratto dal data set Low Birth Weight Study selezionando casualmente un donna
con neonato di basso peso alla nascita e appaiandola (stessa età) con un’altra donna con neonato di
normo peso alla nascita.
Il data set consiste di 56 coppie di madri appaiate per età.
La tabella 7.1 mostra il risultato del fitting dei modelli univariati.
Tab. 7.1
Univariable Logistic Regression Models for the 1:1 Matched Low Birth
Wheight Data, n = 56 Pairs.
DP*
Variable Coeff. Std. Err. OR § 95%CI
(n01;n01)
LWT -0.009 0.0062 0.91$ 0.81-1.03 #
SMOKE 1.012 0.4129 2.75 1.22-6.18 22;8
RACE_2 0.087 0.5233 1.09 0.39-3.04 #
RACE_3 -0.029 0.3968 0.97 0.45-2.11 #
PTD 1.322 0.5627 3.75 1.24-11.3 15;4
HT 0.847 0.6901 2.33 0.60-9.02 7;3
UI 1.099 0.5774 3.00 0.97-9.30 12;4
§ For dichotomous variable OR = n10/n01
* DP = Discordant Pairs n10 (x1=1; x2=0) n01 (x1=0;x2=1)
$ Odds Ratio for 10 pound increase in weight
# Not rilevant
Dato che le variabili inseribili nel modello sono solo sei, come primo tentativo costruiremo un
modello logistico che preveda la presenza di tutte le covariate.
La tab. 7.2 riporta il fitting di tale modello.
165
Tab. 7.2
Estimate coefficients, Estimated Standard Errors,
Wald Statistics and Two-Tailed p-Values for the
Model Containing All Covariates
Variable Coeff. Std. Err. z P>|z|
LWT -0.018 0.0101 -1.82 0.068
RACE_2 0.571 0.6896 0.83 0.407
RACE_3 -0.025 0.6992 -0.04 0.971
SMOKE 1.401 0.6278 2.23 0.026
PTD 1.808 0.7887 2.29 0.022
HT 2.361 1.0861 2.17 0.030
UI 1.402 0.6962 2.01 0.044
Log Likelihood = -25.7943
Dall’esame della Tab. 7.2 vediamo che entrambi i coefficienti della variabile RACE non raggiungono la
significatività statistica. Valutiamo pertanto la possibilità di escludere questa covariata tramite un
LR-test dopo aver fittato il modello ridotto (Tab.7.3).
Tab. 7.3
Estimate coefficients, Estimated Standard Errors,
Wald Statistics and Two-Tailed p-Values for the
Model Excluding RACE
Variable Coeff. Std. Err. z P>|z|
LWT -0.015 0.0081 -1.85 0.064
SMOKE 1.480 0.5620 2.63 0.008
PTD 1.671 0.7468 2.24 0.025
HT 2.329 1.0025 2.32 0.020
UI 1.345 0.6938 1.94 0.053
Log Likelihood = -26.2369
Dalla (1.14) tenuti presenti i valori di Log Likelihood di Tab. 7.2 e Tab. 7.3 si ha:
G = −2 ( −26.2369reduced + 25.7943completed ) = 0.6424 → p ( χ 2gl
2
≥ 0.6424 ) ≅ 0.642 (7.6)
Dal valore di G ottenuto dalla (7.6) non possiamo affermare che la variabile RACE sia significativa.
Tuttavia prima di procedere all’esclusione definitiva della variabile RACE dobbiamo valutare il suo
potenziale effetto di confondimento: dall’esame del Tab. 7.2 e Tab. 7.3 vediamo che i coefficienti
variano in modo non sostanziale pertanto possiamo escludere l’effetto di confondimento e
procediamo all’esclusione della variabile RACE.
166
Una volta stabilito il set di covariate da inserire nel modello, dobbiamo valutare, tramite i polinomi
frazionari o altre metodiche illustrate in precedenza, la migliore rappresentazione della covariata
continua LWT.
Tab. 7.4
Summary of the Use of the Method of Fractional Polynomials for LWT
df$ Deviance G vs Linear P-Value Powers
Not in model 0 56.299
Linear 1 52.474 0 0.05§ 1
#
J=1 2 51.541 0.933 0.334 3
*
J=2 4 51.239 1.235 0.860 3,3
$ Each term in the fractional polynomial model contributes approximately 2
degrees of freedom: one for the power and one for the coefficient
§ Compares linear model to model without LWT
# Compares the J = 1 model to the linear model
* Compares the J =2 model to the linear model
Dalla Tab. 7.4, che riporta il risultato dell’applicazione del metodo dei polinomi frazionari, si vede
che:
1. l’inserimento lineare di LWT nel modello offre un contributo significativo ( p = 0.05).
2. L’eventuale inserimento di LWT in forma cubica non offre un miglioramento del modello
statisticamente significativo (p = 0.334).
3. L’inserimento dei termini LWT3 e LWT3·log(LWT) non offre un miglioramento statisticamente
significativo (p = 0.860).
linear ... + β i ⋅ LWT + ...
gˆ ( x ) = J = 1 ... + β i ⋅ LWT 3 + ...
J= 2 ... + β i ⋅ LWT 3 + β i +1 ⋅ LWT 3 ⋅ log ( LWT ) + ...
Dall’utilizzo dei polinomi frazionari si deduce che la variabile LWT debba essere inserita nel modello
come termine lineare.
Verifichiamo l’asserzione precedente tramite l’analisi dei quartili i cui risultati sono riportati nella
tabella seguente.
Tab. 7.5
Results of the Quartile Analyses of LWT from the MUltivarible Model
Containing the Variables Shown in Tab. 7.3
Quartile 1 2 3 4
Midpoint 93.25 113.25 128.25 188.75
Coeff. 0 -0.399 -0.443 -0.889
95% CI -1.69; 0.90 -1.76; 0.87 -2.11; 0.34
167
Fig. 7.1
0 -.25
Estimated Coefficient
-.5 -.75
-1
Plot of the estimated coefficients for the quartiles of LWT versus the midpoint of the quartile
Dall’esame della Tab. 7.5 e della Fig. 7.1 si vede che i coefficienti variano “gradualmente” da zero a
-0.889. Pertanto, anche se nessuno dei coefficienti raggiunge la significatività statistica, l’ipotesi che
la variabile LWT possa essere inserita come termine lineare risulta confermata.
Non rimane ora che valutare le possibili interazioni tra le variabili.
168
Tab. 7.6
Likelihood Ratio Test Statistic (G)
and p-Value for Interactions of
Interest Whwn Added to the Main
Effects Model in Tab. 7.3
Interaction G p
AGE·LWT 0.50 0.477
AGE·SMOKE 0.01 0.910
AGE·PTD 0.05 0.818
AGE·HT 0.35 0.557
AGE·UI 1.12 0.290
LWT·SMOKE 0.18 0.671
LWT·PTD 0.06 0.800
LWT·HT 0.03 0.868
LWT·UI 0.03 0.868
SMOKE·PTD <0.01 >0.900
SMOKE·HT 0.39 0.532
SMOKE·UI 0.15 0.699
PTD·HT * *
PTD·UI 2.56 0.110
HT·UI * *
* Model could not be fit due zero cells
Dalla Tab. 7.6 si deduce che nessuna interazione fornisce un contributo statisticamente significativo.
169
Plot of ∆X versus the estimated probability from the fitted model in Tab. 7.3
2
Fig. 7.2
Fig. 7.3 Plot of ∆β versus the estimated probability from the fitted model in Tab. 7.3
170
Fig. 7.4 Plot of ∆X 2 versus the estimated probability from the fitted model in Tab. 7.3 with the size of
plotting symbol proportional to ∆β
Nella Fig. 7.2 , come previsto, vediamo che il valore di ∆X2 decresce all’aumentare della probabilità
stimata. Notiamo inoltre che due punti hanno un’ordinata molto elevata, maggiore di 7.0, e che altri
tre punti (quelli con ordinata compresa tra 2.0 e 4.0) sembrano staccarsi dagli altri.
Il plot di Fig. 7.3 evidenzia quattro punti con ordinata compresa tra 0.30 e 0.75. Questi quattro punti
appartengono ai cinque indicati identificati in precedenza nel corso dell’esame della Fig. 7.2.
Il plot di Fig. 7.4 conferma la presenza di quattro coppie con elevati valori di ∆X2 e di ∆β.
Il passo successivo consiste nell’individuare le quattro coppie “estreme” e valutare l’effetto di una
loro eventuale esclusione dall’analisi. Le coppie estreme sono descritte in Tab. 7.7 e gli effetti della
loro eventuale esclusione sono riassunti in Tab. 7.8.
In ogni processo di costruzione di un modello, la decisione finale circa l’esclusione o l’inserimento di
uno o più outliers, deve essere presa solo dopo aver valutato la plausibilità clinica dei dati ad essi
relativi.
Nell’esempio utilizzato si è deciso di non escludere nessuna coppia . La Tab 7.9 riporta gli Odds Ratio
e i relativi intervalli di confidenza del modello finale. Come possiamo vedere, gli intervalli di
confidenza degli OR sono piuttosto ampi specialmente per quanto riguarda la presenza di
ipertensione. Come già accennato in precedenza, ciò è dovuto allo scarso numero di coppie
discordanti (vedi Tab. 7.1).
171
Tab. 7.7
Pair, Data, Estimated Probability, and the Three Diagnostic Statistics ∆β, ∆X2, and
Leverage (h) for Four Estreme Pairs
PAIR LOW LWT SMOKE PTD HT UI p ∆β ∆X2 h
9 0 100 1 0 0 0 0.90 0.00 0.91 0.00
9 1 148 0 0 0 0 0.10 0.40 8.54 0.04
16 0 169 0 1 0 1 0.69 0.06 0.74 0.07
16 1 120 1 0 0 0 0.31 0.36 1.83 0.17
27 0 95 0 0 1 0 0.80 0.04 0.83 0.04
27 1 130 1 0 0 0 0.20 0.72 3.77 0.16
34 0 90 1 1 0 0 0.89 0.00 0.89 0.01
34 1 128 0 1 0 0 0.11 0.32 7.21 0.04
Tab. 7.8
Estimated Coefficients from Table 7.3, Estimated coefficients Obtained When
Deleting Selected Pairs, Percent Change from the All Data Model and Values of
Pearson Chi Square Statistic
Data LWT SMOKE PTD HT UI X2
All -0.015 1.480 1.671 2.329 1.345 50.76
Delete 9 -0.019 1.878 1.883 2.719 1.498 48.52
% Change 30.0 26.9 12.7 16.7 11.4
Delete 16 -0.013 1.391 2.11 2.407 1.762 46.37
% Change -16.6 -6.0 26.4 3.3 31.0
Delete 27 -0.021 1.389 1.807 3.559 1.511 49
% Change 36.6 -6.1 8.2 52.8 12.3
Delete 34 -0.018 1.855 1.863 2.669 1.487 50.31
% Change 24.6 25.4 11.5 14.6 10.5
Tab. 7.9
172
7.3 Modello logistico applicato ad uno studio caso controllo con appaiamento 1:M
L’approccio generale di uno studio caso controllo con appaiamento 1-M segue passo passo quello
utilizzato per lo studio caso controllo con appaiamento 1:1 descritto nel precedente paragrafo.
Tuttavia, mentre per lo studio con appaiamento 1:1 potremmo usare, con opportuni accorgimenti, le
routine di calcolo disponibili per la regressione logistica “classica”, negli studi con appaiamento più
generale, 1:M, ciò non è possibile. Dovremo pertanto utilizzare, e così faremo nell’esempio di seguito
illustrato, routine specifiche che tengano conto dell’appaiamento (regressione logistica
condizionata).
Con riferimento per semplicità di notazione ad un disegno 1:3, il contributo alla verosimiglianza
fornito dal k-esimo strato, è dato dalla seguente espressione:
exp ( β ' x k1 )
lk ( β ) = (7.7)
exp ( β ' x k1 ) + exp ( β ' x k 2 ) + exp ( β ' x k 3 ) + exp ( β ' x k 4 )
Notiamo che se le covariate assumono valori identici per i quattro soggetti dello strato, allora
quest’ultimo non fornisce indicazioni (è uno strato non informativo) riguardo alle stime dei
coefficienti dato che:
lk ( β ) = 0.25 ∀β
Tab. 7.10
Description of Variables in the Benign Breast Disease 1-3 Matched Case-Control Study
173
La tabella 7.10 descrive il data set a cui applicheremo il modello logistico condizionale.
Le fasi per la costruzione del modello sono le stesse descritte nel caso di appaiamento 1:1
1. Analisi univariata
I risultati di tale analisi sono riportati in Tab. 7.11. Notiamo che le donne che sono state
sposate in passato hanno lo stesso odds di quelle attualmente sposatea.
Le donne che non sono mai state sposate presentano un odds, per malattia benigna della
mammella, decisamente superiore a quello riscontabile per le donne attualmente sposate.
Queste considerazioni giustificherebbero l’idea di implementare un modello più semplice che
preveda l’inserimento di una singola variabile dicotomica mai sposate- sposata (attualmente
o in passato). In una prima fase si è deciso di inserire nel modello multivariato tutte le
variabili senza effettuare altre codifiche.
2. Analisi multivariata
I risultati dell’analisi multivariata sono riportati in Tab. 7.12. L’esame dell’analisi multivariata
sopporta l’ipotesi di una nuova codifica della variabile stato maritale. Si è costruito pertanto
un nuovo modello multivariato in cui la variabile stato maritale è stata codificata come :
mai sposata (sì/no). La tab. 7.13 riporta i risultati di quest’ultimo modello.
3. Si deve definire la scala opportuna con cui inserire le variabili continue (AGMN e WT).
Il procedimento, essendo lo stesso descritto a proposito dell’appaiamento 1:1, non viene
ulteriormente illustrato, ma il risultato finale porta comunque a inserire le variabili analizzate
(AGMN e WT) in termini lineari.
4. Segue poi un’analisi delle interazioni plausibili. Anche qui omettiamo i calcoli, limitandoci ad
osservare che due interazioni AGMTxAGMN e AGMTxNVMR hanno mostrato una
significatività di 0.09. Queste interazioni non sono state incluse nel modello finale.
Tab. 7.11
Univarible Logistic Regression Models for 1-3 Matched Benign
Breast Disease Study, n = 50 Strata
Variable Coeff. Std Err. OR 95% CI
CHK -1.245 0.3815 0.29 0.14 0.61
AGMN¥ 0.472 0.1110 2.57 1.66 3.97
WT $ -0.035 0.0086 0.70 0.59 0.83
_Imst_2 -0.358 0.5605 0.70 0.23 2.10
_Imst_2 -0.751 0.7904 0.47 0.10 2.22
_Imst_2 1.248 0.6059 3.48 1.06 11.43
¥ Odds Ratio for a 2 year increase age
$ Odds Ratio for a 10 pound increase in weight
a
le categorie divorziate e separate cono state unificate
174
Tab. 7.12
Tab. 7.13
Estimated Coefficients, Estimated Standard Errors, Wald Statistics,
Two-Tailed p-Values and 95% Confidence Intervals for the
Multivariable Model Using NVMR
Variable Coeff. Std. Err. z P>|z| 95% CI
CHK -1.1613 0.446976 -2.60 0.009 -2.03736 -0.28525
AGMN 0.359247 0.127885 2.81 0.005 0.108597 0.609897
WT -0.02824 0.009979 -2.83 0.005 -0.04779 -0.00868
NVMR 1.593384 0.736028 2.16 0.030 0.150795 3.035973
175
7.3.1 Valutazione del fitting
La valutazione del fit del modello si conduce nel modo consueto esaminando i grafici di ΔX2 e Δβ in
funzione della probabilità stimata. Con riferimento al data set in esame, abbiamo ottenuto i grafici di
Fig. 7.5-7.7.a
Successivamento si individuano gli strati pià estremi (Tab. 7.14) e si valutano gli effetti di una loro
eventuale eliminazione individuale (Tab. 7.15).
Gli strati più estremi sono risultati tutti plausibili sul piano clinico –biologico e non sono stati esclusi
dall’analisi finale (Tab. 7. 16)
Plot of ∆X versus the estimated probability from the fitted model in Tab. 7.13
2
Fig. 7.5
a 2
In tali grafici, per ragioni di rappresentazione, è stato omesso lo strato più estremo caratterizzato da un ΔX
intorno a 85.
176
Fig. 7.6 Plot of ∆β versus the estimated probability from the fitted model in Tab. 7.13
Fig. 7.6 Plot of ∆X 2 versus the estimated probability from the fitted model in Tab. 7.13 with the size of
plotting symbol proportional to ∆β
177
Tab. 7.14
178
Tab. 7.15
Estimated Coefficients from Table 7.13, Estimated coefficients
Obtained When Deleting a Selected Stratum, Percent Change from
the All Data Model and Values of Pearson Chi Square Statistic
Data CHK AGMN WT NVMR X2
All -1.161 0.359 -0.028 1.593 186.34
Delete 10 -1.342 0.404 -0.025 1.685 178.45
% Change 15.6 12.6 -9.7 5.76
Delete 12 -1.241 0.452 -0.035 1.679 101.51
% Change 6.8 25.4 23.9 5.4
Delete 18 -1.479 0.368 -0.029 2.247 168.13
% Change 27.3 2.4 3.7 41.0
Delete 24 -1.366 0.366 -0.030 1.687 172.36
% Change 17.6 2.1 5.3 5.9
Delete 31 -1.349 0.312 -0.031 1.664 181.38
% Change 16.2 -13.1 12.5 4.5
Tab. 7.16
Estimated Odds Ratio (OR) and 95% Confidence Intervals for
Model in Tab. 7.13
Variable OR [95% Conf.Interval]
Regular Medical Check-ups (CHK) 0.313078 0.130372 0.751829
Age at Menarche (AGMN)¥ 1.432251 1.114713 1.840242
Weight (WT)$ 0.972159 0.953331 0.991359
Never Married (NVMR) 4.92037 1.162758 20.82123
¥ Odds Ratio for a 2 year increase age
$ Odds Ratio for a 10 pound increase in weight
179
Applicazione Capitolo 7
Tab. 7.1
. use "C:\docb\Scuola\2010\logistic\chapter7_1.dta"
. clogit LOW LWT, group(PAIR)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | -.0093749 .0061654 -1.52 0.128 -.0214589 .0027091
------------------------------------------------------------------------------
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT10 | .9105114 .0561368 -1.52 0.128 .8068732 1.027461
------------------------------------------------------------------------------
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 1.011601 .4128614 2.45 0.014 .2024074 1.820794
------------------------------------------------------------------------------
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 2.75 1.135369 2.45 0.014 1.224347 6.176763
------------------------------------------------------------------------------
180
Numero di coppie discordanti (ultima colonna di tabella 7.1)
+---------------------+
| PAIR SMOKE test |
|---------------------|
1. | 1 0 1 |
2. | 1 1 1 |
3. | 2 0 0 |
4. | 2 0 0 |
5. | 3 0 0 |
|---------------------|
6. | 3 0 0 |
7. | 4 0 1 |
8. | 4 1 1 |
9. | 5 1 2 |
10. | 5 1 2 |
|---------------------|
11. | 6 0 1 |
12. | 6 1 1 |
13. | 7 0 0 |
14. | 7 0 0 |
15. | 8 0 0 |
|---------------------|
16. | 8 0 0 |
17. | 9 1 1 |
18. | 9 0 1 |
19. | 10 1 2 |
20. | 10 1 2 |
+---------------------+
. tab LOW SMOKE if test == 1
| SMOKE
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 22 8 | 30
1 | 8 22 | 30
-----------+----------------------+----------
Total | 30 30 | 60
181
i. xi: clogit LOW i.RACE, group(PAIR) or
i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
PTD | 1.321756 .5627314 2.35 0.019 .2188225 2.424689
------------------------------------------------------------------------------
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
PTD | 3.75 2.110243 2.35 0.019 1.24461 11.29872
------------------------------------------------------------------------------
. sort PAIR
. drop test
. egen test = total(PTD), by(PAIR)
. list PAIR PTD test in 1/20
182
+-------------------+
| PAIR PTD test |
|-------------------|
1. | 1 0 1 |
2. | 1 1 1 |
3. | 2 0 0 |
4. | 2 0 0 |
5. | 3 0 0 |
|-------------------|
6. | 3 0 0 |
7. | 4 0 1 |
8. | 4 1 1 |
9. | 5 0 0 |
10. | 5 0 0 |
|-------------------|
11. | 6 0 0 |
12. | 6 0 0 |
13. | 7 0 0 |
14. | 7 0 0 |
15. | 8 0 0 |
|-------------------|
16. | 8 0 0 |
17. | 9 0 0 |
18. | 9 0 0 |
19. | 10 0 1 |
20. | 10 1 1 |
+-------------------+
| PTD
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 15 4 | 19
1 | 4 15 | 19
-----------+----------------------+----------
Total | 19 19 | 38
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
HT | .8472975 .6900655 1.23 0.220 -.505206 2.199801
------------------------------------------------------------------------------
183
. clogit LOW HT, group(PAIR) or
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
HT | 2.333333 1.610152 1.23 0.220 .6033812 9.023218
------------------------------------------------------------------------------
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
UI | 1.098612 .5773502 1.90 0.057 -.0329738 2.230197
------------------------------------------------------------------------------
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
UI | 2.999999 1.73205 1.90 0.057 .9675639 9.301702
------------------------------------------------------------------------------
Dimostrazione che :
n
OR = 10 nel caso di variabile indipendente unica e dicotomica (appaiamento 1:1)
n01
Dim.
Ogni coppia caso/controllo può essere rappresentata dua na delle quattro tabelle di seguito
rappresentate.
Exposure
+ - + - + - + - Total
Case 1 0 1 0 0 1 0 1 1
Control 1 0 0 1 1 0 0 1 1
Total 2 0 1 1 1 1 0 2 2
184
Le tabelle in cui vi è uno zero nei marginali totali, ossia le tabelle corrispondenti a coppie in cui il caso
e il controllo sono entrambi esposti o entrambi non esposti, non danno alcun contributo informativo
riguardo all’odds ratio.
Pertanto l’analisi statistica riguarderà solamente le coppie disgiunte in cui solamente il caso o
solamente il controllo risultano esposti.
Siano p1 e p0 le probabilità di esposizione rispettivamente dei casi e dei contolli, e q1 e q0 le
probabilità di non esposizione rispettivamente dei casi e dei controlli, allora la probabilità di
osservare una coppia disgiunta , in cui il caso sia esposto e il controllo non esposto, vale:
P ( CE ; CE ) = p1 ⋅ q0 (7.8)
La probabilità di osseravre invece una coppia in cui il caso sia non esposto e il controllo sia non
esposto vale:
P ( CE ; CE ) = q1 ⋅ p0 (7.9)
La probabilità di osservare una coppia (CE; CE ) condizionata al fatto che la coppia sia discordante
vale:
P ( CE ; CE ) ∩ discordante
P ( CE ; CE ) | discordante =
P ( discordante )
P ( CE ; CE )
P ( CE ; CE ) | discordante =
P ( CE ; CE ) + P ( CE ; CE )
ψ
π = P ( CE; CE ) | discordante =
p1q0 pq /p q
= 1 0 0 1 = (7.10)
p1q0 + p0 q1 p1q0 / p0 q1 + 1 ψ + 1
ed è funzione dell’odds ratio ψ .
Dalla (7.10) si ottiene:
π
ψ= (7.11)
1− π
Con riferimento alle coppie disgiunte, si ottengono tabelle come quella di seguito riportata:
| Exposure
Case| 0 1 | Total
-----------+---------------------------+----------
0 | 22 8 | 30
1 | 8(n01) 22(n10) | 30
-----------+---------------------------+----------
Total | 30 30 | 60
22 n10
π= =
30 n10 + n01
e dalla (7.11) si ottiene infine:
n /n n
ψ = 10 01 = 10
1 − n10 / n01 n01
cvd
185
Tab 7.2
. xi: clogit LOW LWT i.RACE SMOKE PTD HT UI, group(PAIR)
i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | -.0183757 .0100806 -1.82 0.068 -.0381333 .0013819
_IRACE_2 | .5713643 .689645 0.83 0.407 -.7803149 1.923044
_IRACE_3 | -.0253148 .6992044 -0.04 0.971 -1.39573 1.345101
SMOKE | 1.400656 .6278396 2.23 0.026 .1701131 2.631199
PTD | 1.808009 .7886502 2.29 0.022 .2622828 3.353735
HT | 2.361152 1.086128 2.17 0.030 .2323796 4.489924
UI | 1.401929 .6961585 2.01 0.044 .0374836 2.766375
------------------------------------------------------------------------------
Tab. 7.3
. clogit LOW LWT SMOKE PTD HT UI, group(PAIR)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | -.0150834 .0081465 -1.85 0.064 -.0310503 .0008834
SMOKE | 1.479564 .5620191 2.63 0.008 .3780272 2.581102
PTD | 1.670594 .7468062 2.24 0.025 .206881 3.134308
HT | 2.329361 1.002549 2.32 0.020 .3644009 4.294322
UI | 1.344895 .693843 1.94 0.053 -.0150127 2.704802
------------------------------------------------------------------------------
Tab.7.4
. fracpoly clogit LOW LWT SMOKE PTD HT UI, degree(2) compare group(PAIR)
........
-> gen double ILWT__1 = X^3-2.056602478 if e(sample)
-> gen double ILWT__2 = X^3*ln(X)-.4943080657 if e(sample)
(where: X = LWT/100)
186
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
ILWT__1 | .1293646 .7216141 0.18 0.858 -1.284973 1.543702
ILWT__2 | -.4866156 .9224357 -0.53 0.598 -2.294556 1.321325
SMOKE | 1.587445 .5772395 2.75 0.006 .4560765 2.718814
PTD | 1.482725 .7515386 1.97 0.049 .0097367 2.955714
HT | 2.776714 1.174591 2.36 0.018 .4745582 5.07887
UI | 1.441683 .7313612 1.97 0.049 .0082417 2.875125
------------------------------------------------------------------------------
Deviance: 51.24. Best powers of LWT among 44 models fit: 3 3.
Tab.7.5
. sum LWT,detail
LWT
-------------------------------------------------------------
Percentiles Smallest
1% 85 80
5% 91 85
10% 95 89 Obs 112
25% 106.5 90 Sum of Wgt. 112
. di (80+106.5)/2
93.25
. di (106.5+120)/2
113.25
. di (120+136.5)/2
128.25
. di (136.5 + 241)/2
188.75
. gen lwt1 = (LWT <= 106.5)
. gen lwt2 = (LWT >106.5 & LWT <=120)
. gen lwt3 = (LWT >120 & LWT <=136.5)
. gen lwt4 = (LWT >136.5 )
. clogit LOW lwt2-lwt4 SMOKE PTD HT UI, group(PAIR)
187
Conditional (fixed-effects) logistic regression Number of obs = 112
LR chi2(7) = 23.55
Prob > chi2 = 0.0014
Log likelihood = -27.040323 Pseudo R2 = 0.3034
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwt2 | -.3990522 .6634509 -0.60 0.548 -1.699392 .9012877
lwt3 | -.4430378 .6718024 -0.66 0.510 -1.759746 .8736706
lwt4 | -.8887328 .6254701 -1.42 0.155 -2.114632 .3371661
SMOKE | 1.352736 .5568023 2.43 0.015 .2614239 2.444049
PTD | 1.739829 .7462135 2.33 0.020 .277277 3.20238
HT | 1.892555 .9646784 1.96 0.050 .0018203 3.78329
UI | 1.316209 .6885803 1.91 0.056 -.0333836 2.665802
------------------------------------------------------------------------------
Figure 7.1
Tab. 7.6
Riportiamo solo i passaggi relativi all’interazione AGE-LWT
. gen AGELWT=AGE*LWT
. quietly:clogit LOW LWT SMOKE PTD HT UI , group(PAIR)
. quietly:fitstat,saving(mo)
. quietly:clogit LOW LWT SMOKE PTD HT UI AGELWT , group(PAIR)
. fitstat,using(mo)
Measures of Fit for clogit of LOW
Current Saved Difference
Model: clogit clogit
N: 56 56 0
Log-Lik Intercept Only -38.816 -38.816 0.000
Log-Lik Full Model -25.984 -26.237 0.253
D 51.968(50) 52.474(51) 0.506(1)
LR 25.664(6) 25.159(5) 0.506(1)
Prob > LR 0.000 0.000 0.477
McFadden's R2 0.331 0.324 0.007
McFadden's Adj R2 0.176 0.195 -0.019
ML (Cox-Snell) R2 0.368 0.362 0.006
Cragg-Uhler(Nagelkerke) R2 0.490 0.483 0.008
Count R2 0.768 0.750 0.018
AIC 1.142 1.116 0.027
AIC*n 63.968 62.474 1.494
BIC -149.299 -152.819 3.520
BIC' -1.512 -5.032 3.520
188
BIC used by Stata 80.279 76.066 4.213
AIC used by Stata 63.968 62.474 1.494
Fig. 7.2
. clogit low lwt smoke ptd ht ui, group(pair)
. clfit
. predict p
. graph twoway scatter _dx2 p if low == 1, ylabel(0(2)10) xlabel(0(.25)1)
Fig. 7.3
. graph twoway scatter _dbeta p if low == 1, ylabel(0(.25)1.25) xlabel(0(.25)1)
Fig. 7.4
. graph twoway scatter _dx2 p if low==1 [w=_dbeta],msymbol(oh) ylabel(0(2)10)
xlabel(0(.25)1)
Tab. 7.7
. clogit LOW LWT SMOKE PTD HT UI, group(PAIR)
. clfit
. predict p
. format _hat _dx2 _dbeta p %4.2f
. list PAIR LOW LWT SMOKE PTD HT UI p _dbeta _dx2 _hat if PAIR==9 | PAIR == 16 | PAIR==27
| PAIR==34
+------------------------------------------------------------------------+
| PAIR LOW LWT SMOKE PTD HT UI p _dbeta _dx2 _hat |
|------------------------------------------------------------------------|
17. | 9 0 100 1 0 0 0 0.90 0.00 0.91 0.00 |
18. | 9 1 148 0 0 0 0 0.10 0.40 8.54 0.04 |
31. | 16 0 169 0 1 0 1 0.69 0.06 0.74 0.07 |
32. | 16 1 120 1 0 0 0 0.31 0.36 1.83 0.17 |
53. | 27 0 95 0 0 1 0 0.80 0.04 0.83 0.04 |
54. | 27 1 130 1 0 0 0 0.20 0.72 3.77 0.16 |
67. | 34 0 90 1 1 0 0 0.89 0.00 0.89 0.01 |
68. | 34 1 128 0 1 0 0 0.11 0.32 7.21 0.04 |
+------------------------------------------------------------------------+
Tab. 7.8
Illustreremo I passaggi relativi solamente all’esclusione della coppia numero 9.
. clogit LOW LWT SMOKE PTD HT UI, group(PAIR)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | -.0150834 .0081465 -1.85 0.064 -.0310503 .0008834
SMOKE | 1.479564 .5620191 2.63 0.008 .3780272 2.581102
PTD | 1.670594 .7468062 2.24 0.025 .206881 3.134308
HT | 2.329361 1.002549 2.32 0.020 .3644009 4.294322
UI | 1.344895 .693843 1.94 0.053 -.0150127 2.704802
------------------------------------------------------------------------------
. matrix all=e(b)
189
. clogit LOW LWT SMOKE PTD HT UI if PAIR ~=9, group(PAIR)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | -.0196132 .009098 -2.16 0.031 -.037445 -.0017814
SMOKE | 1.878073 .654521 2.87 0.004 .5952354 3.16091
PTD | 1.883064 .8279106 2.27 0.023 .2603891 3.505739
HT | 2.719296 1.118355 2.43 0.015 .5273602 4.911232
UI | 1.497879 .7317231 2.05 0.041 .0637278 2.93203
------------------------------------------------------------------------------
. matrix del9 = e(b)
. matrix diff = J(1,5,0)
. local i = 1
. while `i' <= 5 {
matrix diff[1,`i']= 100*abs((all[1,`i']-del9[1,`i'])/all[1,`i'])
local i = `i' + 1
}
. matrix list diff
diff[1,5]
c1 c2 c3 c4 c5
r1 30.031356 26.934178 12.718221 16.739972 11.375172
Tab. 7.9
. gen lwt10 = LWT/10
. clogit LOW lwt10 SMOKE PTD HT UI, group(PAIR) or
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
lwt10 | .8599902 .0700592 -1.85 0.064 .7330781 1.008874
SMOKE | 4.391033 2.467844 2.63 0.008 1.459403 13.21169
PTD | 5.315325 3.969518 2.24 0.025 1.229836 22.97272
HT | 10.27138 10.29757 2.32 0.020 1.439651 73.28251
UI | 3.837782 2.662818 1.94 0.053 .9850994 14.95135
------------------------------------------------------------------------------
Tab. 7.11
. use http://www.ats.ucla.edu/stat/stata/examples/alr2/bbdm13, clear
. save "C:\docb\Scuola\2010\logistic\chapter7_2.dta"
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | -1.245445 .3815411 -3.26 0.001 -1.993252 -.4976382
------------------------------------------------------------------------------
190
. clogit fndx chk , group(str) or
------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | .2878128 .1098124 -3.26 0.001 .1362516 .6079648
------------------------------------------------------------------------------
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
agmn | .4717591 .1109862 4.25 0.000 .25423 .6892881
------------------------------------------------------------------------------
------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
agmn2 | 2.569004 .5702481 4.25 0.000 1.662729 3.969246
------------------------------------------------------------------------------
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wt | -.035159 .0085993 -4.09 0.000 -.0520132 -.0183047
------------------------------------------------------------------------------
191
. gen wt10 = wt/10
. clogit fndx wt10, group(str) or
------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wt10 | .7035689 .0605019 -4.09 0.000 .5944419 .8327293
------------------------------------------------------------------------------
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Imst_2 | -.3584355 .5605432 -0.64 0.523 -1.45708 .7402089
_Imst_4 | -.7510264 .7904435 -0.95 0.342 -2.300267 .7982143
_Imst_5 | 1.248429 .6058548 2.06 0.039 .0609758 2.435883
------------------------------------------------------------------------------
------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_Imst_2 | .6987687 .39169 -0.64 0.523 .2329154 2.096373
_Imst_4 | .471882 .372996 -0.95 0.342 .1002321 2.22157
_Imst_5 | 3.484865 2.111322 2.06 0.039 1.062873 11.4259
------------------------------------------------------------------------------
192
Tab. 7.12
. xi: clogit fndx chk agmn wt i.mst, group(str)
i.mst _Imst_1-5 (naturally coded; _Imst_1 omitted)
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | -1.121849 .4474471 -2.51 0.012 -1.998829 -.2448688
agmn | .3561333 .1291722 2.76 0.006 .1029605 .609306
wt | -.0283565 .0099776 -2.84 0.004 -.0479122 -.0088009
_Imst_2 | -.2030472 .6472909 -0.31 0.754 -1.471714 1.06562
_Imst_4 | -.4915826 .8173094 -0.60 0.548 -2.09348 1.110314
_Imst_5 | 1.472195 .7582064 1.94 0.052 -.0138621 2.958252
------------------------------------------------------------------------------
Tab. 7.13
. gen nvmr = (mst==5)
. clogit fndx chk agmn wt nvmr, group(str)
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | -1.161303 .4469763 -2.60 0.009 -2.037361 -.285246
agmn | .3592472 .1278849 2.81 0.005 .1085973 .609897
wt | -.0282355 .0099785 -2.83 0.005 -.047793 -.0086781
nvmr | 1.593384 .7360284 2.16 0.030 .1507946 3.035973
------------------------------------------------------------------------------
Fig. 7.5
. clogit fndx chk agmn wt nvmr, group(str)
. clfit
. predict p
. graph twoway scatter _dx2 p if _dx2 <= 20, ylabel(0(3)18) xlabel(0(.25)1)
Fig. 7.6
. graph twoway scatter _dbeta p if _dx2 <= 20, ylabel(0(.25).75) xlabel(0(.25)1)
Fig. 7.7
. graph twoway scatter _dx2 p [weight = _dbeta] if _dx2 <= 20 , msymbol(oh) ylabel(0(3)18)
xlabel(0(.25)1)
193
Tab. 7.14
. hilo _dx2, show(5) high (hilo da scaricare)
5 highest observations on _dx2
+-------+
| _dx2 |
|-------|
| 4.35 |
| 7.21 |
| 13.22 |
| 17.96 |
| 84.55 |
+-------+
. tab str if _dx2 >=4.3
+--------------------------------------------------------------------+
| str obs chk agmn wt nvmr p _dbeta _dx2 _hat |
|--------------------------------------------------------------------|
37. | 10 1 2 12 105 0 0.11 0.22 7.21 0.03 |
38. | 10 2 1 13 115 0 0.39 0.01 0.40 0.02 |
39. | 10 3 2 12 120 0 0.07 0.00 0.07 0.02 |
40. | 10 4 1 16 150 0 0.42 0.02 0.45 0.05 |
45. | 12 1 2 10 170 0 0.01 0.71 84.55 0.01 |
|--------------------------------------------------------------------|
46. | 12 2 1 13 140 0 0.26 0.02 0.27 0.06 |
47. | 12 3 1 11 240 0 0.01 0.00 0.01 0.01 |
48. | 12 4 2 16 100 0 0.73 0.02 0.75 0.03 |
69. | 18 1 2 14 135 0 0.05 0.73 17.96 0.04 |
70. | 18 2 1 14 132 1 0.89 0.01 0.90 0.01 |
|--------------------------------------------------------------------|
71. | 18 3 1 11 205 0 0.01 0.00 0.01 0.01 |
72. | 18 4 1 10 127 0 0.05 0.00 0.05 0.03 |
93. | 24 1 2 15 145 0 0.07 0.17 13.22 0.01 |
94. | 24 2 1 13 140 0 0.12 0.00 0.12 0.01 |
95. | 24 3 1 17 155 0 0.33 0.01 0.34 0.03 |
|--------------------------------------------------------------------|
96. | 24 4 1 15 116 0 0.48 0.01 0.49 0.02 |
121. | 31 1 2 16 156 0 0.17 0.24 4.35 0.05 |
122. | 31 2 2 12 161 0 0.03 0.00 0.03 0.01 |
123. | 31 3 1 13 150 0 0.22 0.00 0.22 0.01 |
124. | 31 4 1 13 115 0 0.58 0.01 0.60 0.02 |
+--------------------------------------------------------------------+
194
Tab. 7.15
. clogit fndx chk agmn wt nvmr, group(str)
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | -1.161303 .4469763 -2.60 0.009 -2.037361 -.285246
agmn | .3592472 .1278849 2.81 0.005 .1085973 .609897
wt | -.0282355 .0099785 -2.83 0.005 -.047793 -.0086781
nvmr | 1.593384 .7360284 2.16 0.030 .1507946 3.035973
------------------------------------------------------------------------------
. matrix all=e(b)
. clogit fndx chk agmn wt nvmr if str~=10, group(str)
------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | -1.342017 .4759564 -2.82 0.005 -2.274874 -.4091592
agmn | .4044 .1360889 2.97 0.003 .1376707 .6711294
wt | -.0254958 .0100782 -2.53 0.011 -.0452487 -.0057429
nvmr | 1.685185 .7548999 2.23 0.026 .2056084 3.164762
------------------------------------------------------------------------------
diff[1,4]
c1 c2 c3 c4
r1 15.561224 12.568742 -9.7031755 5.761404
195
Tab. 7.16
. clogit fndx chk agmn wt nvmr, group(str) or
------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | .3130778 .1399384 -2.60 0.009 .1303723 .7518293
agmn | 1.432251 .1831633 2.81 0.005 1.114713 1.840242
wt | .9721594 .0097007 -2.83 0.005 .9533311 .9913594
nvmr | 4.92037 3.621532 2.16 0.030 1.162758 20.82123
------------------------------------------------------------------------------
196
Capitolo 8
Applicazioni particolari
8.1 IL MODELLO LOGISTICO MULTINOMIALE
8.1.1 Introduzione al modello e alla stima dei parametri
Nei precedenti capitoli abbiamo esaminato il modello logistico con riferimento ad una variabile
risposta dicotomica. Nel seguito estenderemo il modello in modo da adattarlo a situazioni in cui la
variabile risposta sia codificata su più di due livelli non ordinabili.a
Caratterizzeremo questo modello con l’aggettivo multinomiale. Pertanto, da qui in poi, quando
parleremo di regressione logistica multinomiale ci riferiremo ad un modello statistico che contempla
una variabile risposta codificata su più di due livelli non ordinabili.b
Assumendo che la variabile risposta sia codificata come 0, 1, 2 (non ordinabili), in presenza di p
covariate, introduciamo due funzioni logit come di seguito specificato:
P (Y = 1| x )
g1 ( x ) = log = β10 + β11 x1 + β12 x2 + ... + β1 p x p = x ' β1 (8.1)
P ( Y = 0 | x )
P (Y = 2 | x )
g 2 ( x ) = log = β 20 + β 21 x1 + β 22 x2 + ... + β 2 p x p = x ' β 2 (8.2)
P (Y = 0 | x )
Dalle (8.1) e (8.2), tenuto presente che:
P (Y = 0 | x ) + P (Y = 1| x ) + P ( Y = 2 | x ) = 1
si ottiene:
1
P (Y = 0 | x ) = (8.3)
1 + exp g1 ( x ) + exp g 2 ( x )
exp g1 ( x )
P (Y = 1| x ) = (8.4)
1 + exp g1 ( x ) + exp g 2 ( x )
exp g 2 ( x )
P (Y = 2 | x ) = (8.5)
1 + exp g1 ( x ) + exp g 2 ( x )
a
Nelle esemplificazioni trattate in questo capitolo, anche per semplificare la notazione, faremo riferimento
sempre ad una variabile risposta codificata su tre livelli.
b
Specie in abito econometrico, il modello logistico multinomiale è meglio conosciuto come modello a scelta
discreta (discrete choice model)
197
Per costruire la funzione di verosimiglianza, introduciamo tre variabili binarie in grado di definire il
gruppo di appartenenza di una singola osservazione.
Y = 0 ⇒ Y0 = 1 Y1 = 0 Y2 = 0
Y = 1 ⇒ Y0 = 0 Y1 = 1 Y2 = 0
Y = 2 ⇒ Y0 = 0 Y1 = 0 Y2 = 1
Notiamo che, indipendentemente dal valore assunto da Y, si ha sempre:
2
∑Y
j =0
j =0
Con l’uso della notazione appena introdotta, la funzione di verosimiglianza può essere facilmente
espressa come segue:
n
l ( β ) = ∏ π 0 ( xi ) ⋅ π 1 ( xi ) ⋅ π 2 ( xi )
y 0i y1i y 2i
(8.7)
i =1
Tenuto presente che:
∑y ji = 1 ∀i
Il logaritmo della funzione di verosimiglianza (log-likelihood function) vale:
( )
n
L ( β ) = ∑ y1i ⋅ g1 ( xi ) + y21 ⋅ g 2 ( xi ) − log 1 + exp g1 ( xi ) + exp g 2 ( xi ) (8.8)
i =1
Poste uguale a zero le derivate delle (8.8) rispetto ai 2(p+1) parametri incogniti, si ottiene un sistema
di equazioni le cui soluzioni sono le stime di massima verosimiglianza di β.
∂L ( β )
= ∑ xki ( y ji − π ji )
n
j = 1, 2 k = 0,1, 2..., p π ji = π j ( xi ) x01 = 1 ∀i (8.9)
∂β jk i =1
Per calcolare le varianze delle stime occorre far riferimento alla matrice delle derivate parziali
seconde i cui elementi hanno la seguente espressione generale:
∂2 L ( β )
= −∑ xk ' i xkiπ ji (1 − π ji )
n
∂β jk ∂ jk ' i =1
j e j ' = 1, 2 k e k ' = 0,1, 2,..., p (8.10)
∂ L(β )
2 n
= ∑ xk ' i xkiπ jiπ j ' i
∂β jk ∂ j ' k ' i =1
()
La matrice di informazione osservata, I βˆ , e la matrice di dimensione 2(p+1) x 2(p+1) i cui elementi
() ()
−1
var βˆ = I βˆ (8.11)
Indicate con X la matrice nx(p+1) contenente i valori delle covariate di ciascun soggetto, con Vj la
matrice diagonale nxn con elemento generico πˆ ji (1 − πˆ ji ) j = 1,2 e i = 1,2,…,n, e infine con V3 la
matrice diagonale con elemento generico πˆ1i ⋅ πˆ 2i , la stima della matrice di osservazione può essere
espressa come:
198
Iˆ βˆ ()
Iˆ ( βˆ )
()
ˆI βˆ = 11 12 (8.12)
ˆ ˆ
I β 21 I
ˆ() ( βˆ )
22
dove:
()
Iˆ βˆ = ( X ' V X )
11
1
Iˆ ( βˆ ) = ( X ' V2 X )
22
Iˆ ( βˆ ) ()
= Iˆ βˆ = − ( X ' V3 X )
12 21
*The variable PB is the sum of five scaled responses, each on a four point scale.
A low value is indicative of a woman with strong agreement with the benefits of mammography.
199
Covariata binaria
Nel caso particolare in cui la covariata sia binaria, codificata 0/1, semplificheremo la notazione
ponendo:
OR j = OR j (1,0 )
Consideriamo un modello con una singola covariata dicotomica. Nel modello logistico ordinario,
outcome su due livelli 0/1, il coefficiente stimato coincide con il log-odds ratio ricavato dalla tabella
2x2 ottenuta classificando l’outcome vs la covariata.
In presenza di un outcome classificato su tre livelli, come abbiamo visto in precedenza, dobbiamo
introdurre due funzioni logit. In tal modo i due coefficienti stimati, uno per ciascun logit, sono pari ai
log-odds ratio ricavati dalla coppia di tabelle 2x2 ottenute classificando gli outcome y = j e y=0 vs la
covariata.
Come esempio specifico, consideriamo la classificazione della esperienza mammografica (ME) vs la
storia di cancro alla mammella di madre o sorelle (HIST) riportata in Tab. 8.2
19 ⋅ 220 11 ⋅ 220
OR1 = = 3.51 OR2 = = 2.74
85 ⋅ 14 63 ⋅ 14
Tab. 8.2
Cross-Classification of Mammography Experience (ME) by Family
History of Breast Cancer (HIST) and Estimated Odds Ratio Using
Never as the Reference Outcome Value
HIST
ME No(0) Yes(1) Total OR
Never (0) 220 14 234 1.0
Within 1 Year (1) 85 19 104 3.51
Over 1 Year(2) 63 11 74 2.74
Total 368 44 412
Tab. 8.3
Results of Fitting the Logistic Regression Model to the Data in Tab. 8.2
ME Coef. Std. Err. OR $ [95% Conf.Interval]¥
HIST 1.256358 0.37466 3.51 1.685 7.321
1
_cons -0.95098 0.127711
HIST 1.009331 0.4275 2.74 1.187 6.342
2
_cons -1.25049 0.142893
ME = 0 is the base outcome
$ OR = exp [ Coef ]
¥ CI 95% = exp [ Coef ± 1.96 ⋅ Std.Err(Coef.) ]
Sulla base dei dati presentati in Tab. 8.2 e Tab. 8.3, cerchiamo di interpretare gli effetti della storia
famigliare sulla adesione al programma di screening.
200
1. L’odds per le donne, con storia famigliare positiva, di essersi sottoposte a mammografia
nell’ultimo anno è 3.5 volte superioe all’odds relativo alle donne con famigliarità negativa.
2. L’odds per le donne, con storia famigliare positiva, di essersi sottoposte a mammografia da
più di un anno, è 2.7 volte superiore all’odds relativo alle donne con famigliarità negativa.
Valutiamo ora se i due odds ratio possono ritenersi equivalenti. Notiamo che testare l’equivalenza
degli odds ratio equivale a testare l’equivalenza dei corrispondenti log-odds , ossia:
OR1 = OR 2 ⇔ log ( odds ) ME =1 = log ( odds ) ME = 2
Sempre sulla base dei dati presentati in Tab.8.2 e Tab. 8.3 si ha:
11 ⋅ 85
βˆ21 − βˆ11 = 1.009 − 1.256 = 0.247 = log (8.13)
19 ⋅ 63
La varianza stimata della differenza, definita dalla (8.13), vale:
( 21 11 ) ( )21 ( )
var βˆ − βˆ = var βˆ + var βˆ − 2cov βˆ , βˆ
11 ( 21 11 ) (8.14)
Tramite la matrice di varianza e covarianza, riportata in Tab.8.4, si ottiene:
( )
var βˆ − βˆ = 0.1404 + 0.1828 − 2 ⋅ 0.0760 = 0.1712
21 11
Tab. 8.4
Estimated Covariance Matrix for Fitted Model in Tab. 8.3
Logit 1 Logit2
e(V) HIST _cons HIST _cons
HIST 0.14037
Logit1
_cons -0.01631 0.01631
HIST 0.075974 -0.00455 0.182756
Logit2
_cons -0.00455 0.004545 -0.02042 0.020418
Il passaggio dai log-odds agli odds ratio si effettua come visto in predenza a proposito del modello
logistico ordinario:
OR12 = exp βˆ21 − βˆ11 = 0.781
201
Significatività della covariata
Per valutare la significatività della covariata HIST si utilizza un likelihood ratio test comparando il
modello comprendente la covariata HIST (L1=-396.16997) con il modello contenente solo due termini
costanti , uno per ciascun logit (L0 = -402.59901). La statistica G, che si distribuisce in questo caso
come una χ 2 con due gradi di libertàa, induce a rifiutare l’ipotesi nulla di non significatività della
covariata HIST.
402.59901 − ( −396.16997 ) ≅ 12.86 ∼ χ 2 → p ( χ 2 > 12.86 ) = 0.0016
G = −2 − 2 2
(8.16)
Covariata politomica
Nel caso di una covariata politomica, dobbiamo aumentare il numero di odds ratio categorici per
poter includere tutti i confronti tra lo specifico livello e il livello di riferimento.
Con riferimento alla variabile DETC ad esempio, avremo la necessità di introdurre quattro odds ratio
come di seguito illustrato.
Tab. 8.5
Usando ME = 0 come categoria di riferimento per la variabile risposta e DETC = 1 come categoria di
riferimento della covariata, i quattro odds ratio, dai dati di Tab. 8.5, risultano espressi come segue:
12 ⋅ 13 91 ⋅ 13
OR1 ( 2,1) = = 2.03 OR1 ( 3,1) = = 8.22
77 ⋅ 1 144 ⋅ 1
16 ⋅ 13 54 ⋅ 13
OR 2 ( 2,1) = = 0.68 OR 2 ( 3,1) = = 1.22
77 ⋅ 4 144 ⋅ 4
Nella Tab. 8.6 ritroviamo gli stessi quattro odds ratio, definiti in precedenza, ma ottenuti
esponenziando i coefficienti ottenuti dal fitting del modello multinomiale.
a
In generale, il likelihood ratio test effettutato per valutare la significatività di una variabile categorica ha un
numero di gradi di libertà pari al numero delle categorie, meno uno, della variabile risposta, moltiplicato per il
numero delle categorie, meno uno, della covariata presa in esame.
Con un outcome su 4 categorie e una covariata codificata in 3 categorie si ha un grado di libertà pari a
(4-1)·(3-1)=6.
Nel caso di una covariata continua, il grado di libertà da associare al likelihood ratio test è semplicemente pari
al numero delle categorie, meno uno, della variabile risposta.
202
Tab. 8.6
Results of Fitting the Logistic Regression Model to the Data in Tab. 8.5
ME Variable Coef. Std. Err. OR [95% Conf.Interval]
_IDETC_2 0.706051 1.083136 2.025974 0.242465 16.92848
1 _IDETC_3 2.105996 1.046325 8.215281 1.056751 63.86637
_cons -2.56495 1.03772
_IDETC_2 -0.39256 0.634359 0.675325 0.194776 2.341477
2 _IDETC_3 0.197826 0.593622 1.21875 0.380727 3.901359
_cons -1.17866 0.571773
Per valutare la significatività della variabile useremo, come in precedenza, il likelihood ratio test di cui
riportiamo il risultato:
G = −2 −402.59901 − ( 389.2005 ) = 26.80 ∼ χ 42 → p ( χ 42 > 26.80 ) < 0.0001 (8.17)
Concludiamo pertanto che la fiducia soggettiva nella capacità della mammografia di individuare
l’insorgenza di un cancro alla mammella è associata alla decisione di sottoporsi all’esame di
screening. Dall’esame degli odds ratio stimati e dei loro intervalli di confidenza emerge che tale
associazione è più forte quando si mettono a confronto donne che si sono sottoposte a
mammografia nell’ultimo anno con le donne che non si sono mai sottoposte a mammografia.
Ma come interpretiamo questi odds ratio?
Con riferimento ad esempio all’OR1(3,1) = 8.22, diremo che l’odds di sottoporsi a mammografia entro
un anno (ME = 1), tra le donne che ritengono che tale esame sia efficace nel determinare
l’insorgenza di cancro alla mammella (DETC = 3), è 8.22 volte superiore all’odds analogo relativo alle
donne che non hanno fiducia nella mammografia (DECT = 1).
Poiché l’intervallo di confidenza dell’odds ratio non comprende l’unità, concludiamo che tale odds
ratio, a differenza di tutti i restanti, è statisticamente significativo.
Dall’esame della Tab.8.6 risulta evidente che gli intervalli di confidenza delle stime riferite al logit
ME=1 vs ME = 0 sono abbastanza ampi. Ciò deriva dalla classificazione riportata in Tab.8.5 dove in
corrispondenza di DETC = 1 e ME = 1 troviamo il valore 1 e tale valore contribuisce notevolmente ad
aumentare lo standard error dei coefficienti. Infatti lo standard error stimato del coefficiente relativo
al log odds di DETC = 3 vs DETC =1, nel primo logit, vale:
0.5
1 1 1 1
SE ( β12 ) = + + + = 1.0463
91 13 144 1
Per confrontare i due set di odds ratio, ossia per giustificare la possibilità di collassare la variabile
risposta in due sole categorie (combinando M = 1 con M = 2), dobbiamo effettuare il seguente test
combinato:
β11 = β 21 & β 21 = β 22 (8.18)
Il test ha due gradi di libertà e la probabilità associata risulta p = 0.045.
Concludiamo pertanto che, con riferimento alla variabile DETC, non è giustificato combinare le
categorie risposta ME = 1 con ME = 2.a
Covariate continue
a
Questa conclusione contrasta con quella ottenuta in precedenza con riferimento alla variabile HIST
203
Le covariate continue, se modellate linearmente, hanno un singolo coefficiente in ciascuna funzione
logit. Questi coefficienti permettono di risalire all’odds ratio stimato associato ad una variazione di
un’unità della variabile.
Dall’esame delle statistiche di Wald vediamo che, con l’eccezione forse della variabile DETC,
ciascuna variabile fornisce un contributo significativo al modello.
In questa prima fase decidiamo comunque di mantenere tutte le variabili (compresa DETC) nel
modello e di concentrare la nostra attenzione sulla codifica della variabile SYMPT.
204
Codifica della variabile SYMPT
I due coefficienti riferiti alla variabile _ISYMPT_2 , che stimano il log odds di agree vs il valore di
riferimento strogly agree, suggerisciono che queste due categorie sono simili dato che ambedue i
test di Wald risultano non significativi ( p = 0.905 e p = 0.652).
D’altra parte il segno e l’ampiezza dei coefficienti relativi a _ISYMPT_3 e _ISYMPT_4 suggeriscono
che i log odds di disagree e strogly disagree, oltre ad essere differenti vs il valore di riferimento
strogly agree, hanno valori simili all’interno dei due logit.
Per testare quest’ultima suggestione valutiamo se i coefficienti di ISYMPT_3 e _ISYMPT_4 possono
effettivamente ritenersi sovrapponibili all’interno di ciascun logit.
H 0 : β ( _ ISYMPT _ 3, ME = 1) = β ( _ ISYMPT _ 4, ME = 1) → p = 0.070
(8.19)
H 0 : β ( _ ISYMPT _ 3, ME = 2 ) = β ( _ ISYMPT _ 4, ME = 2 ) → p = 0.335
Questi risultati suggeriscono di usare un modello più semplice, ossia un modello che utilizzi una
variabile dicotomica SYMPTD ( SYMPTD = 0 → strogly agree o agree; SYMPTD = 1 → disagree or
strogly disagree) in luogo della variabile SYMPT codificata su quattro livelli.
Il fitting di tale modello è riportato in Tab. 8.8.
Tab. 8.8
Estimated Coefficients, Estimated Standard Errors, Wald Statistics and Two-Tailed
p-Values for the Model Fit Using SYMPTD to Mammography Experience Data
ME Variable Coef. Std. Err. z P>z [95% Conf.Interval]
SYMPTD 2.095341 0.457398 4.58 0 1.198858 2.991824
PB -0.25101 0.072933 -3.44 0.001 -0.39396 -0.10807
HIST 1.293281 0.433535 2.98 0.003 0.443568 2.142994
1 BSE 1.243974 0.526306 2.36 0.018 0.212434 2.275514
_IDETC_2 0.090276 1.161025 0.08 0.938 -2.18529 2.365842
_IDETC_3 0.972815 1.126271 0.86 0.388 -1.23464 3.180266
_cons -2.70375 1.434414 -1.88 0.059 -5.51515 0.10765
SYMPTD 1.121365 0.357198 3.14 0.002 0.42127 1.82146
PB -0.16811 0.074172 -2.27 0.023 -0.31348 -0.02273
HIST 1.014055 0.453804 2.23 0.025 0.124615 1.903495
2 BSE 1.02859 0.513974 2 0.045 0.021221 2.035961
_IDETC_2 -0.90213 0.714618 -1.26 0.207 -2.30276 0.498492
_IDETC_3 -0.66982 0.687579 -0.97 0.33 -2.01745 0.677808
_cons -0.99877 1.071963 -0.93 0.351 -3.09978 1.102242
La decisione di ricodificare la variabile SYMPT , come è facile verificare, ha coinvolto quattro Wald
test separati.
1. due test per valutare la significatività dei coefficienti di _ISYMPT_2 nelle due funzioni logit;
2. due test per valutare l’uguaglianza dei coefficienti relativi a _ISYMPT_3 e _ISYMPT_4 nelle
due funzioni logit.
Combinando questi quattro Wald test otteniamo una p = 0.4657 che è la stessa che otteniamo con un
likelihood ratio test mettendo a confronto il modello di Tab.8.7 con il modello di Tab.8.8.
205
G = −2 − 348.74797 − ( −346.95096 ) = 3.5767 ∼ χ 42 → p ( χ 42 > 3.59402 ) = 0.4637 (8.20)
Pertanto concludiamo che il modello più complicato, quello con SYMPT codificato su quattro livelli,
non è migliore del modello più semplice che utilizza la variabile dicotomica SYMPTD.
Dal confronto dei coefficienti riportati in Tab. 8.8 e in Tab. 8.9 si vede che, togliendo la variabile
DETC, i coefficienti variano di poco: la variazione maggiore (diminuzione del 12.7%) si ha in
corrispondenza della variabile continua PB.
D’altra parte il likelihood test del modello di Tab. 8.9 vs il modello di Tab. 8.8 dà una p = 0.074.
G = −2 −353.01904 − ( −348.74797 ) = 8.542 ∼ χ 42 → p ( χ 42 > 8.542 ) = 0.0736 (8.21)
Il fatto che DETC è al più un confondente marginale per un solo coefficiente e che il likelihood ratio
test non è significativo a livello 0.05, suggeriscono di escludere la varibile DETC dal modello finale.
Tuttavia, possiamo cosiderare anche una altra opzione: collassare la variabile DETC in due categorie:
costruiremo quindi una variabile dicotomica DETCD (DETCD = 0 not likely e somewhat likely;
DETCD = 1 very likely).
In Tab. 8.10 riportiamo il fitting di tale modello e vediamo che al coefficiente relativo a DETCD è
associata una p = 0.013 nel logit 1 e una p = 0.720 nel logit 2.
Il likelihood ratio test del modello di Tab. 8.10 verso il modello di Tab. 8.9 dà il seguente risultato:
353.01904 − ( −349.5663) = 6.90548 ∼ χ 2 → p ( χ 2 > 6.90 ) = 0.032
G = −2 − 2 2
(8.22)
Concludiamo pertanto che la variabile DETCD dà un contributo significativo al modello.
Una conferma ulteriore di questa conclusione si può trovare effettuando un likelihood ratio test del
modello in Tab. 8.10 vs il modello di Tab. 8.8.
206
Tab. 8.10
Estimated Coefficients, Estimated Standard Errors, Wald Statistics and Two-Tailed
p-Values for the Model Fit Using DETCD to Mammography Experience Data
ME Variable Coef. Std. Err. z P>z [95% Conf.Interval]
SYMPTD 2.09475 0.45743 4.58 0 1.198203 2.991297
PB -0.24947 0.072579 -3.44 0.001 -0.39173 -0.10722
HIST 1.309864 0.433602 3.02 0.003 0.46002 2.159709
1
BSE 1.237011 0.525424 2.35 0.019 0.207199 2.266824
DETCD 0.885184 0.356238 2.48 0.013 0.186971 1.583397
_cons -2.62376 0.926396 -2.83 0.005 -4.43946 -0.80806
SYMPTD 1.127417 0.356362 3.16 0.002 0.42896 1.825874
PB -0.15432 0.072621 -2.12 0.034 -0.29665 -0.01198
HIST 1.063179 0.452841 2.35 0.019 0.175626 1.950731
2
BSE 0.95601 0.507337 1.88 0.06 -0.03835 1.950372
DETCD 0.114157 0.318212 0.36 0.72 -0.50953 0.737842
_cons -1.82388 0.855093 -2.13 0.033 -3.49983 -0.14793
Tale test conduce ad una p = 0.441 indicando, in questo caso, che il modello utilizzante la variabile
DETC codificata su tre categorie (Tab. 8.8) non è più informativo del modello utilizzante la covariata
DETCD codificata su due soli livelli (Tab. 8.10). Di seguito riportiamo il risultato del test:
349.5663 − ( −348.74797 ) = 1.63666 ∼ χ 2 → p ( χ 2 > 1.637 ) = 0.4412
G = −2 − 2 2
(8.23)
Scelta della “scala” di PB
Dal punto di vista teorico, anche in questa situazione, i metodi disponibili per valutare la scala
opportuna con cui inserire una covariata continua in un modello logistico ordinario sono facilmente
estensibili al modello multinomiale. Tuttavia non tutti questi metodi sono, allo stato attuale,
pienamente implementati nei software statistici di maggiore diffusione. Nel seguito faremo uso
solamente del cosiddetto metodo “the design variable approach” che è l’unico ad essere utilizzato
dai principali software statistici.
Una valida alternativa consiste nell’approssimare il fit del modello multinomiale fittando
separatamente i modelli binari sottostanti.24
Ad esempio, con una multinomiale su tre livelli potremmo fittare un modello Y = 1 vs Y = 0, ignorando
i valori corrispondenti a Y = 2, utilizzando un software adatto per un modello logistico con un
outcome binario, e successivamente fittare un modello con Y = 2 vs Y = 0, ignorando i valori
corrispondenti a Y =1. Con questo approccio potremmo utilizzare con facilità le routine di calcolo
utilizzanti i polinomi frazionari già descritte in precedenza.
Scelta della scala di PB tramite “the design variable approach”
PB è una variabile intera con range 5-17 ed eccedente il valore 10 solo in pochi casi. Decidiamo
quindi di raggruppare la variabile in quattro approssimati quartili corrispondenti ai valori 5, 6-7,8-9 e
10 e oltre.
207
Fig. 8.1
0
-.5
Logit 2
-1
Logit 1
-1.5
Plot of the estimated logistic regression coefficients for the quartile design variables created from PB for Logit 1
and Logit 2
Dall’esame della Fig. 8.1 emerge chiaramente che entrambi i logit sono lineari in PB.
I valori di p relativi a tutti i tre test, applicati a entrambe le funzioni logit, non sono significativi
indicando un buon fit globale del modello in esame.
209
La Tab. 8.13 riporta i valori più estremi del leverage h e delle statistiche ∆βˆ , ∆X 2 e ∆D , definite in
precedenza, e calcolate, per ciascun pattern di covariate, con riferimento, separatamente, alle due
funzioni logit.
Tab. 8.13
Covariate Pattern, Data, Observed Outcome (yj), Number (mj),
Estimated Logistc Probability πˆ and the Value of Three Diagnostic
Statistics ∆βˆ , ∆X 2 , ∆D and Leverage (h), for Influential or Poorly Fit
Covariate Patterns from Each Individual Logistic Regression Model
Data/Covariate Logit 1 Logit 2
Pattern 4 63 62 63 66
SYMPTD 0 1 1 1 1
PB 6 9 9 10 10
HIST 0 0 1 0 0
BSE 0 1 1 0 1
DETCD 0 1 0 0 1
yj 1 11 3 1 2
mj 2 18 3 1 19
πˆ 0.015 0.345 0.496 0.098 0.237
∆βˆ 0.543 1.733 0.956 0.264 0.999
Logit 1
Esaminando le statistiche diagnostiche relative al Logit 1, vediamo che ∆X 2 è abbastanza elevato
quando si consideri il pattern 4 (33.585). La probabilità stimata è piccola (0.015) mentre la probabilità
osservata, yj/mj, vale 0.5. Questa differenza genera un residuo di Pearson elevato (5.795). La devianza
residua, anche se non molto elevata, viene considerata significativa (5.820). Il valore molto piccolo
del leverage h (0.016) induce il valore ridotto di ∆βˆ (0.543).
Le risposte alle variabili SYMPTD, HIST, BSE e DETCD, con riferimento al pattern 63 e al Logit 1,
determinano ciò che possiamo definire risposta modale: infatti ben 149 dei 338 soggetti presenta
una tale risposta (SYMPTD = 1, HIST = 1, BSE = 1, DETCD = 1). Tra questi 149 soggetti i 18
appartenenti al pattern 63 sono caratterizzati da un valore di PB = 9. E’ da notare che il valore di ∆βˆ
è abbastanza elevato (1.733).
Con riferimento sempre la pattern 63 e al Logit 1, vediamo perché è importante, nella
determinazione delle statistiche diagnostiche, riferirsi ai pattern di covariate piuttosto che alle
osservazioni individuali. In effetti, come vedremo, l’esaminare i 18 appartenenti al pattern 63
globalmente oppure individualmente porta a risultati completamente differenti.
Il leverage individuale, per ognuno dei 18 soggetti, vale 0.011=0.198/18. Per gli 11 soggetti con y = 1
210
si ha:
∆X 2 = 1.92 ∆βˆ = 0.021 (8.24)
dati che potrebbero indicare una certa perdita di fit ma una scarsa influenza nella stima dei
coefficienti.
Per i restanti 7 soggetti con y =0 si ha invece:
∆X 2 = 0.5323 ∆βˆ = 0.00591 (8.25)
dati che sopportano l’adeguatezza de modello.
Abbiamo visto pertanto che, valutando le statistiche diagnostiche su base individuale, non si riescono
a determinare adeguatamente né le perdite di fit, né le modifiche dei coefficienti stimati. Da qui
l’importanza di valutare le statistiche diagnostiche sempre su base globale, prendendo cioè come
riferimento tutti i soggetti che condividono il pattern di covariate sotto osservazione.
Logit 2
Si vede che il pattern 63 ha un fitting abbastanza scarso (∆X2 = 9.49). La probabilità stimata è piccola
( πˆ =0.098) mentre quella osservata è pari a uno (yi/mi=1). Il leverage h è piccolo (0.027) e questo
induce un valore ridotto di ∆βˆ (0.264).
Il pattern 66 presenta il valore maggiore di ∆βˆ (0.999). Questo pattern contiene le risposte modali
definite in precedenza: in effetti 115 dei 308 soggetti presenta tale risposta (SYMPTD = 1, HIST = 1,
BSE = 1, DETCD = 1). Tra questi 115 soggetti i 19 appartenenti al pattern 66 sono caratterizzati da
un valore di PB = 10.
Anche il pattern 62 ha un valore abbastanza elevato di ∆βˆ (0.956).
Logit 1 & Logit 2
Dalla Tab. 8.13 si vede che i pattern con valori più elevati di ∆βˆ hanno un valore di PB pari a 9 o a
10. Appare quindi che le risposte dei soggetti con PB all’interno di tale range abbiano una variabilità
maggiore di quanto possa essere spiegata dal modello. L’aggiunta dei termini di interazione dovuti a
PB non produce miglioramento sia con riferimento al Logit 1, sia con riferimento al Logit 2.
A questo punto, dato che non abbiamo possibilità di migliorare il modello, esploriamo l’effetto dei
dei tre pattern più influenti: costruiamo pertanto un modello (Tab. 8.14) in cui eliminiamo i 40
soggetti appartenenti ai pattern 62 (Logit 1), 63 e 66 (Logit 2).
Dal confronto dei coefficienti stimati riportati in Tab. 8.10 e Tab. 8.14 vediamo che, con riferimento
al Logit 1, l’ampiezza dei coefficienti varia di poco: la variazione maggiore si ha a carico del
coefficiente di PB che subisce una variazione di circa il 13%.
Tuttavia, con riferimento al Logit 2, ben tre dei cinque coefficienti subiscono sostanziali mutamenti:
• il coefficiente di PB varia da -0.154 a -0.080 con una diminuzione del 48%;
• il coefficiente di HIST varia da 1.063 a 0.606 con una diminuzione del 43%;
• il coefficiente di DETCD varia da 0.114 a 0.477 con un aumeto del 318%.
E’ ben evidente quindi che, nell’ambito del Logit 2, l’eliminazione dei 40 soggetti appartenenti ai
pattern 62, 63 e 66 induce modifiche sostanziali negli odds ratio stimati.
D’altra parte i dati di questi 40 soggetti esclusi non sono inusuali, pertanto non ci sono le premesse
cliniche per una loro esclusione dall’analisi.
Concludiamo pertanto che il modello finale non può che essere quello presentato in Tab. 8.10 e di
cui, in Tab. 8.15, mostriamo gli odds ratio stimati con i corrispondenti intervalli di confidenza.
211
Tab. 8.14
Estimated Coefficients , Estimated Standard Error, Wald
Statistics and Two-Tailed p-Values for the Model fit After
Deleting 40 Subjects Corresponding to Covariate Pattern 63
(Logit1) and 62,66 (Logit2) in Tab. 8.13
ME Variable Coef. Std. Err. z P>z
SYMPTD 2.124646 0.463313 4.59 0
PB -0.21627 0.085426 -2.53 0.011
HIST 1.243508 0.441773 2.81 0.005
1
BSE 1.271312 0.531037 2.39 0.017
DETCD 0.883019 0.369139 2.39 0.017
_cons -2.89198 1.041649 -2.78 0.005
SYMPTD 1.190628 0.360993 3.3 0.001
PB -0.08039 0.078619 -1.02 0.307
HIST 0.605896 0.495224 1.22 0.221
2
BSE 1.081212 0.512295 2.11 0.035
DETCD 0.476759 0.340369 1.4 0.161
_cons -2.66366 0.955649 -2.79 0.005
Tab. 8.15
Estimated Odds Ratios and 95% Confidence Intervals for Factors Associated with
Use of Mammography Screening
Mammogram Within One Year Mammogram Over One Year Ago
versus Never versus Never
Variable RRR [95% Conf.Interval] RRR [95% Conf.Interval]
SYMPTD 8.123411 3.314157 19.91149 3.087671 1.535660 6.208219
PB ¥ 1.646990 1.239170 2.189019 1.361567 1.024258 1.809959
HIST 3.705671 1.584105 8.668614 2.895560 1.191993 7.033828
BSE 3.445301 1.230227 9.648703 2.601298 0.962375 7.031302
DETCD 2.423430 1.205592 4.871477 1.120928 0.600780 2.091417
¥ Odds Ratio for a 2 point decrease in Perceived Benefit (PB)
212
8.2 MODELLI DI REGRESSIONE LOGISTICA ORDINALE
213
φ ( x ) φ1 ( x ) φ2 ( x ) φk ( x )
log k = log + log + .... + log (8.28)
φ0 ( x ) φ0 ( x ) φ1 ( x ) φk −1 ( x )
Tenuta presente la (8.27)
φ ( x )
log k = a1 ( x ) + a2 ( x ) + ... + ak ( x )
φ0 ( x )
= (α1 + x ' β ) + (α 2 + x ' β ) +...+ (α k + x ' β ) (8.29)
= (α1 + α 2 + ... + α k ) +k ⋅ x ' β
Come si vede il modello espresso dalla (8.29), è una versione del modello di base espresso dalla
(8.26) con intercetta
β k 0 = (α1 + α 2 + ... + α k ) (8.30)
e coefficienti β k = k ⋅ β .
Ecco perché, come vedremo successivamente nell’esemplificazione proposta, i logit riferiti alle
categorie adiacenti possono ricavarsi del modello multinomiale di base con opportuni vincoli.
Sotto questa parametrizzazione, i singoli logit differiscono sia per l’intercetta, sia per il coefficiente
angolare. Il principale vantaggio di questa parametrizzazione non vincolata è che, come vedremo
nell’esemplificazione successiva, il modello può essere fittato tramite K modelli logistici binari.
Con software specifici sarà comunque sempre possibile vincolare il modello definito dalla (8.31) in
modo da avere un comune vettore dei coefficienti e intercette diverse
rk ( x ) = θ k + x '⋅ β (8.32)
214
Nella (8.33) il segno negativo è stato introdotto solo in coerenza con i principali software utilizzati per
la definizione del modello.
8.2.2 Esemplificazioni con l’uso del data set Low Birth Weight Study
Nel seguito applicheremo i modelli logistici ordinali, descritti in precedenza, al data set di cui in tab.
8.16 si riporta il Code Sheet.
Tab. 8.16
Code Sheet for the Variables in the Low Birth Weight Study
215
Per prima cosa riportiamo in Tab.8.17 la distribuzione condizione di fumatrice all’interno delle
quattro classi BWT4 e determiniamo i tre odds ratio riferibili al modello multinomiale di basea.
Tab. 8.17
Cross-Tabulation of the Four Category Ordinal Scale
Birth Weight Outcome versus Smoking Status of the
Mother
SMOKE
BWT4 0 1 Total
0 35 11 46
1 29 17 46
2 22 16 38
3 29 30 59
Total 115 74 189
17 ⋅ 35 16 ⋅ 35 30 ⋅ 35
OR (1,0 ) = = 1.87 OR ( 2,0 ) = = 2.31 OR ( 3,0 ) = = 3.29
29 ⋅ 11 22 ⋅ 11 29 ⋅ 11
Il modello a categorie adiacenti postula che β k = k ⋅ β , ossia che log OR ( k ,0 ) = k ⋅ log OR (1,0 ) .
In Tab. 8.18 riportiamo il modello a categorie adiacenti, ottenuto dal modello multinomiale di base,
con i vincoli sopra definiti.
Tab. 8.18
Estimated Coefficients, Standard Errors, z-Scores, Two-tailed
p-Values for the Fitted Constrained Baseline Model
Logit Variable Coef. Std. Err. z P>z
SMOKE 0.369579 0.133214 2.77 0.006
1
_cons (β10) -0.10998 0.21065 -0.52 0.602
SMOKE 0.739158 0.266428 2.77 0.006
2
_cons(β20) -0.44142 0.233345 -1.89 0.059
SMOKE 1.108738 0.399642 2.77 0.006
3
_cons(β30) -0.17503 0.249468 -0.7 0.483
Log-Likelihood = -255.6528
Dalla (8.30) si ha:
βˆ10 = αˆ1 βˆ20 = αˆ1 + αˆ 2 βˆ30 = αˆ1 + αˆ 2 + αˆ 3
Le tre equazioni dei logit riferiti alle categorie adiacenti sono:
aˆ ( SMOKE ) = αˆ + βˆ ⋅ SMOKE = −0.110 + 0.370 ⋅ SMOKE
1 1 11
( )
aˆ2 ( SMOKE ) = αˆ 2 + βˆ21 ⋅ SMOKE = βˆ20 − βˆ10 + βˆ21 ⋅ SMOKE = −0.331 + 0.370 ⋅ SMOKE
Con OR ( k , 0 ) indicheremo l’odds ratio della condizione di fumatrice per BWT4=k vs BWT4=0
a
216
Pertanto in conseguenza del modello delle categorie adiacenti la stima dell’odds ratio per la
condizione di fumatrice della madre vale:
OR ( k , k − 1) = exp ( 0.370 ) = 1.45 k = 1, 2,3
L’interpretazione di questo odds ratio è la seguente: l’odds, per una madre fumatrice, di avere un
neonato appartenente alla categoria di peso inferiore rispetto a quella considerata è 1.45 l’odds
relativo ad una madre non fumatrice.
Poiché il modello a categorie adiacenti è una versione vincolata del modello di base potremo testare
con un likelihood ratio test se i due modelli possono essere o meno considerati equivalenti. Il test
porta al seguente risultatoa:
G = −2 −255.6528 − ( −255.4859 ) = 0.334 ∼ χ 22 → p = P ( χ 22 > 0.334 ) = 0.486
per cui non possiamo affermare che il modello a categorie adiacenti si discosta significativamente dal
modello base. Nonostante ciò potremmo preferire il modello a categorie adiacenti in conseguenza
del fatto che in tal modo riusciamo a conglobare gli effetti del fumo in un singolo odds ratio.
La decisione finale di quale modello adottare, decisione non sempre semplice, dovrà comunque
essere presa considerando tutte le covariate e dopo aver valutato con attenzione il fit dei modelli.
P (Y = k | x )
rk ( x ) = log
P (Y < k | x )
Il modello, non vincolato, descritto dalla equazione (8.31) può essere definito utilizzando un set (tre
in questo caso) di regressioni logistiche binarie. Ciascuna di queste regressioni logistiche binarie
dovranno considerare una variabile risposta y* definita come segue:
1 se y = k
y = 0
*
k se y < k k = 1, 2,3
i se y > k
Nella Tab. 8.19 riportiamo il fitting di tale modello, non vincolato, contenente la variabile SMOKE
come covariata unica.
a
In generale i gradi di libertà di un tale test sono espressi dalla relazione ( ( K + 1) − 2 ) ⋅ p dove K+1
rappresenta il numero delle categorie e p il numero di covariate di ciascun modello.
217
Tab. 8.19
Estimates Coefficients, Standard Errors, z-Scores,
Two-tailed p-Values for the Fitted Unconstrained
Continuation-Ratio Model
Logit Variable Coef. Std.Err. z P>|z|
SMOKE 0.62337 0.461288 1.35 0.177
1
_cons -0.18805 0.251106 -0.75 0.454
SMOKE 0.508225 0.399114 1.27 0.203
2
_cons -1.06784 0.247142 -4.32 <0.001
SMOKE 0.704059 0.319639 2.2 0.028
3
_cons -1.08705 0.21473 -5.06 <0.001
Log-Likelihood
=-62.840008+(-77.743614)+(-114.9023)=-255.4859
Notiamo che, come mostrato in Tab. 8.19, lo somma dei valori dei log-likelihood relativi ai tre modelli
separati uguaglia il log-likelihood del modello base non vincolato.
Sempre dalla Tab.8.19, vediamo che i tre coefficienti stimati sono abbastanza simili (tutti intorno a
0.6). Queste stime indicano che l’odds, per le madri fumatrici, di una nascita nella categoria di peso
immediamente inferiore rispetto ad una nascita in tutte le categorie di peso superiori è circa 1.8 (1.8
= exp(0.6)) volte quello delle donne non fumatrici.
Possiamo testare l’uguaglianza dei tre coefficienti basandoci sul fatto che i tre set di parametri
stimati sono indipendenti. Se tale assunzione è corretta, si può definire una statistica W2 che, in
questo esempio, si distribuisce come una chi quadro con due gradi di libertà.
( 0.623 − 0.508) ( 0.623 − 0.704 )
2 2
W 2
= + = 0.056 ∼ χ 22 (8.34)
( 0.4163) + ( 0.3991) ( 0.4163)2 + ( 0.3991) 2
2 2
Sulla base della (8.34) otteniamo poi:
p = P χ 22 > 0.056 = 0.972
e pertanto non possiamo affermare che i tre coefficienti sono differenti e conseguentemente siamo
autorizzati ad implementare il modello a rapporto continuo vincolato definito dalla (8.32).
Il fit di tale modello è riportato in Tab. 8.20.
Tab. 8.20
Estimates Coefficients, Standard Errors, z-Scores,
Two-tailed p-Values for the Fitted Constrained
Continuation-Ratio Model
Variable Coef. Std. Err. z P>z
SMOKE 0.6266¥ 0.219227 -2.86 0.004
_cut1 -1.052336 .1862181
_cut2 -1.113813 .2129495
_cut3 -.1890080 .2204464
Log-likelihood = -255.5594
¥ in realtà il software utilizzato (la routine ocratio di STATA)
fornisce il valore -0.6266. (vedi parte Applicativa Tab.8.20)
218
L’odds ratio stimato per le madri fumatrici è 1.87=exp(0.627), leggermente superiore al valore 1.45
ottenuto dal modello a categorie adiacenti.
Plot of hypotetical model describing mean birth weight as a function of mother’s weight
219
e ipotizziamo un modello lineare (8.35) che descriva il peso medio alla nascita (BWT) come funzione
del peso della madre valutato in corrispondenza dell’ultima mestruazione (LWT):
BWT = λ0 + β ⋅ LWT (8.35)
Il grafico di Fig. 8.2 è stato realizzato con λ0 = 100 e β = 20 per migliorarne la visibilitàa.
Supponiamo inoltre che il modello abbia una componente erratica che segua una distribuzione
logistica. Il modello statistico può esprimersi come segue:
BWT = λ0 + λ1 ⋅ LWT + σ ⋅ ε (8.36)
dove σ è proporzionale alla varianza e ε segue una distribuzione logistica standard con funzione di
ripartizione espressa dalla (8.37).
exp ( z )
P (ε ≤ z ) = (8.37)
1 + exp ( z )
Con il modello di regressione logistica ordinale modelliamo la probabilità che BWT si collochi
all’interno dei quattro intervalli definiti dai tre cutpoint mostrati in Fig. 8.2.
Fig. 8.3
.25 .2
Probability density function
.1 .15
La Fig. 8.3 mostra la distribuzione logistica standard, corrispondente a LWT = 125, e facente parte del
modello illustrato in Fig. 8.2. Questa distribuzione logistica è centrata sul valore medio di 2600 g,
ottenuto sostituendo nella (8.35) i valori λ0 = 100 , β = 20 e LWT = 125, e consente di determinare
220
le probabilità di appartenenza a ciascun gruppo di peso come aree sottese. L’area a sinistra di 2500 è
la più elevata delle quattro ad indicare che, tra le donne con peso pari a 125 pound, un peso alla
nascita minore o uguale di 2500 g (BWT4N = 0) rappresenta l’outcome ordinale più probabile. In
corrispondenza di un peso della madre di 175 pound, il peso medio alla nascita è di 3600 g e
l’outcome ordinale più probabile, come si può vedere dalla Fig. 8.4, è la categoria di peso maggiore o
uguale a 3500 g a cui corrisponde BWT4N = 3.
Fig. 8.4
.25 .2
Probabilty density function
.1 .15
2500 3500
3000
.05
MIN MAX
0 2000 4000 6000 8000
BWT
Dopo aver descritto a grandi linee il modello, passiamo ora alla sua formalizzazione.
Con riferimento ad una donna con un peso di 125 pound dalla (8.36) si ha:
P ( BWT 4 N = 0 | LWT = 125 ) = P ( BWT ≤ cp1 | LWT = 125 )
= P ( λ0 + 125λ1 + σ ⋅ ε ) ≤ cp1
cp − ( λ0 + 125λ1 ) (8.38)
= P ε ≤ 1
σ
= [ε ≤ τ1 − 125β ]
dove
τ 1 = ( cp1 − λ0 ) / σ β = λ1 / σ
Sotto l’assunzione di una distribuzione della componente erratica definita dalla (8.37), si ha:
221
exp (τ1 − 125β )
P [ε ≤ τ 1 − 125β ] = (8.39)
1 + exp (τ1 − 125β )
da cui:
1
P ( ε > τ 1 − 125β ) = 1 − P ( ε ≤ τ 1 − 125β ) =
1 + exp (τ 1 − 125β )
Quindi il log odds di avere un peso inferiore cp1 tra le donne di peso pari a 125 pound è:
P ( BWT 4 N ≤ 0 | LWT = 125 ) P ( ε ≤ τ 1 − 125β )
log = log
P ( BWT 4 N > 0 | LWT = 125 ) P ( ε > τ1 − 125β )
exp (τ 1 − 125β )
1 + exp (τ 1 − 125β )
= log (8.40)
1
1 + exp τ − 125β
(1 )
=log exp (τ1 − 125β )
La (8.40) non esprime nient’altro che il modello definito dalla (8.33).
Procedendo in modo analogo è facile ottenere le espressioni relative alla restanti categorie.
Per esempio, con riferimento ai cutpoint cp2 e cp3 si ha:
P ( BWT 4 N ≤ 1| LWT = 125 ) P ( ε ≤ τ 2 − 125β )
log = log = τ 2 − 125β
P ( BWT 4 N > 1| LWT = 125 ) P ( ε > τ 2 − 125β )
P ( BWT 4 N ≤ 2 | LWT = 125 ) P ( ε ≤ τ 3 − 125β )
log = log = τ 3 − 125β
P ( BWT 4 N > 2 | LWT = 125 ) P ( ε > τ 3 − 125β )
Gli stessi calcoli possono effettuarsi con riferimento ad un diverso valore di LWT. Ad esempio con
riferimento ad un LWT pari a 175 e a un BWT4N = 1 si ha:
P ( BWT 4 N ≤ 1| LWT = 175 ) P ( ε ≤ τ 2 − 125β )
log = log = τ 2 − 175β
P ( BWT 4 N > 1| LWT = 175 ) P ( ε > τ 2 − 125β )
Ed in generale:
P (Y ≤ k | x ) P ( ε ≤ τ k +1 − x ⋅ β )
log = log = τ k +1 − x ⋅ β (8.41)
P (Y > k | x ) P ( ε > τ k +1 − x ⋅ β )
Dalla (8.41) segue che il log odds ratio per x = x1 versus x = x0 è:
P ( Y ≤ k | x1 ) P (Y ≤ k | x0 )
log − log = (τ k +1 − x1β ) − (τ k +1 − x0 β ) = − β ( x1 − x0 ) (8.42)
P (Y > k | x1 ) P (Y > k | x0 )
Pertanto, ottenuto β dal fitting del modello, è facile ottenere l’odds ratio di interesse:
OR = exp − β ( x1 − x2 ) (8.43)
Con riferimento al data set utilizzato ai paragrafi precedenti e utilizzando un modello a odds
proporzionali si ottiene (Tab. 8.21) un valore di β pari a 0.013 a cui corrisponde un odds ratio pari a:
OR = exp ( −0.013 ⋅10 ) = 0.88
222
Questa stima indica, in corrispondenza di un aumento di peso della madre pari a 10 pound, una
riduzione del 12% dell’odds di un neonato di peso alla nascita inferiore.
In altri termini, date due madri con differenze di peso pari a 10 pounds, la madre più “pesante” ha
una probabilità ridotta del 12%, rispetto alla madre più “leggera”, di avere un bimbo di peso inferiore
a 2500 g, oppure inferiore a 3000 g, oppure inferiore a 3500 g (quindi inferiore in generale!)
Tab. 8.21
Results of Fitting the Proportional Odds Model to the Four Category Birth
Weight Outcome,BWT4N, with Covariate LWT
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
LWT 0.012738 0.004317 2.95 0.003 0.004277 0.021198
/cut1 0.831603 0.568635 -0.2829 1.946108
/cut2 1.70695 0.578166 0.573767 2.840134
/cut3 2.831112 0.602725 1.649793 4.012432
Log-likelihood = -255.1477
Il modello a odds proporzionali è “reversibile” nel senso che possiamo invertire il senso
dell’osservazione semplicemente cambiando il segno dei coefficienti. Ad esempio, se fossimo
interessati a modellare la probabilità di avere un neonato di peso maggiore versus la probabilità di un
neonato di peso inferiore, l’odds ratio relativo, in corrispondenza di una crescita di peso della madre
di 10 pound, è:
OR = exp ( 0.013 ⋅10 ) = 1.14
Questo odds ratio indica che, date due madri con differenze di peso pari a 10 pound, la madre più
“pesante” ha una probabilità aumentata del 14%, rispetto alla madre più “leggera”, di avere un
bimbo di peso superiore.
Come ultimo esempio fittiamo un modello che consideri SMOKE come unica covariata. Le donne che
fumano durante la gravidanza tendono ad avere un neonato di peso inferiore rispetto alle madri non
fumatrici: vi è pertanto una associazione negativa tra l’outcome BWT4N e la covariata SMOKE.
Tab. 8.22
Results of Fitting the Proportional Odds Model to the Four Category Birth
Weight Outcome, BWT4N, with Covariate SMOKE
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
SMOKE -0.76078 0.271867 -2.8 0.005 -1.29364 -0.22793
/cut1 -1.1163 0.198445 -1.50524 -0.72735
/cut2 -0.24768 0.181925 -0.60424 0.108889
/cut3 0.866734 0.193734 0.487023 1.246445
Log-likelihood = -255.6725
223
L’odds ratio stimato per un neonato di peso inferiore versus uno di peso superiore, considerato lo
stato fi fumatrice/non fumatrice della madre, è pari a:
( −0.761) = 2.14
OR = exp −
Ossia, le donne che fumano durante la gravidanza hanno un odds di circa 2.14 volte superiore di
avere un neonato di peso inferiore versus uno di peso inferiore rispetto alle madri che non fumano
durante la gravidanza.
Al solito possiamo invertire il nostro senso di osservazione e scrivere:
OR = exp ( −0.761) = 0.47
Ossia, le donne che fumano durante la gravidanza hanno un odds ridotto di circa il 53% di avere un
neonato di peso superiore versus uno di peso inferiore rispetto alle madri che non fumano durante la
gravidanza.
Infine, come per gli altri modelli ordinali vincolati, dovremo valutare se se le assunzioni degli odds
proporzionali sono sopportate dai dati. Confronteremo pertanto il modello ad odds proporzionali con
il modello non vincolato di base tramite un likelihood ratio test.
Tuttavia sorge, a questo punto, un problema non marginale: il modello a odds proporzionali non può
essere ottenuto dal modello base imponendo soltanto dei vincoli lineari. Sulla base di ciò il likelihood
ratio test non è teoricamente corretto, tuttavia continueremo ad usarlo perché in grado di fornire,
almeno in prima approssimazione, una stima dell’adeguatezza del modello.
Con riferimento al modello fittato in Tab. 8.22, si haa:
255.6725 − ( −255.4859 ) = 0.373 ∼ χ 2 → p ( χ 2 > 0.373) = 0.83
G = −2 − 2 2
(8.44)
Salla base del risultato della (8.44) non possiamo ritenere che i due modelli sia statisticamente
diversi.
Effetti principali
a
I gradi di libertà del test sono, al solito, pari a:
g .d .l. = ( ( K + 1) − 2 ) p
con K+1 è il numero di categorie dell’outcome, e p il numero di covariate.
224
Con riferimento al dat set usato nei paragrafi precedenti, illustreremo, per sommi capi, la costruzione
del modello di cui la Tab. 8.23 riporta gli effetti principali inseriti.
Tab. 8.23
Results of Fitting the Proportional Odds Model to the Four Category Birth
Weight Outcome, BWT4N
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
AGE 0.000626 0.027469 0.02 0.982 -0.05321 0.054465
LWT 0.012896 0.004873 2.65 0.008 0.003344 0.022447
_IRACE_2 -1.4709 0.434691 -3.38 0.001 -2.32288 -0.61892
_IRACE_3 -0.86922 0.334491 -2.6 0.009 -1.52481 -0.21363
SMOKE -0.98772 0.314978 -3.14 0.002 -1.60507 -0.37037
HT -1.194 0.612247 -1.95 0.051 -2.39398 0.005981
UI -0.91297 0.404486 -2.26 0.024 -1.70574 -0.12019
PTD -0.82196 0.417364 -1.97 0.049 -1.63998 -0.00394
/cut1 -0.49526 0.87984 -2.21972 1.229191
/cut2 0.516099 0.881695 -1.21199 2.244189
/cut3 1.803489 0.891384 0.05641 3.550568
Log-likelihood = - 235.65042
Abbiamo deciso di mantenere la covariata AGE, a dispetto della sua non significatività, per la sua
comprovata importanza clinica. Anche la covariata HT, ai limiti della significatività ( p = 0.051), è stata
mantenuta nel modello: in questo caso la decisione è stata sopportata anche dal fatto che il
likelihood ratio test per la sua significatività ha restituito una probabilità p = 0.046.
Valutazione della scala
Per valutare la scala più opportuna con cui rappresentare le variabili continue AGE e LWT abbiamo
esaminato i tre modelli binari associati. Tale analisi, non riportata, ha consigliato di mantenere, per
entrambe le covariate, la scala continua lineare.
Interazione
L’unica interazione significativa è risultato quella tra LWT e HT con p =0.044 al likelihood ratio test.
Tuttavia, inserendo tale interazione, il coefficiente stimato, per quanto riguarda gli effetti principali di
HT, assume il valore di -5.648 con un standard error stimato di 2.53 ad indicare una notevole
instabilità numerica dovuta soprattutto al fatto che solo 12 soggetti hanno la covariata HT = 1.
Per non aumentare l’instabilità del modello si è deciso, alla fine, di non inserire l’interazione tra LWT
e HT a dispetto della sua significatività statistica.
Verifica assunzioni di log odds proporzionalità
Dal confronto tra il modello di base e quello a log odds proporzionali, non si può affermare che le
assunzioni non “tengano”. Infatti si ha:
G = −2 ( −235.6504 ) − ( −224.7788 ) = 21.7432 ∼ χ162 → p ( χ162 ≥ 21.7432 ) = 0.1517 (8.45)
con gradi di libertà pari a:
(( K + 1) − 2) p = ( 4 − 2) ⋅ 8 = 16 p = numero di covariate
Valutazione del fit
225
La valutazione del fit, che non descriveremo in dettaglio, è stata effettuata analizzando
separatamente i tre modello binari (BWT4N = k vs BTW4N = 0).
Sono stati individuati dei possibili outlier che tuttavia si è deciso di non escludere dalla base dati.
Il modello finale è rimasto pertanto quello riportato in Tab. 8.23.
Nella tabella Tab. 8.24 abbiamo riportato infine le stime degli odds ratio (in reverse direction) di una
neonato a peso inferiore vs peso superiore.
Tab. 8.24
Estimates of Odds Ratios for a Lighter versus a Heavier Birth, Standard
Errors, z-Scores, Two-Tailed p-Values and 95% Confidence Intervals
Obtained from the Fitted Proportional Odds Model in Tab. 8.23
Variable Odds Ratio Std. Err. z P>z [95% Conf. Interval]
$
AGEN 0.993763 0.272979 -0.02 0.982 0.580048 1.702557
LWTN$ 0.879011 0.042837 -2.65 0.008 0.798937 0.967111
_IRACE_2 4.35314 1.892271 3.38 0.001 1.856918 10.20499
_IRACE_3 2.385055 0.79778 2.6 0.009 1.238166 4.594284
SMOKE 2.685106 0.845749 3.14 0.002 1.448277 4.978186
HT 3.300257 2.020571 1.95 0.051 0.994037 10.95704
UI 2.491702 1.007859 2.26 0.024 1.127708 5.505481
PTD 2.27495 0.949483 1.97 0.049 1.003946 5.155052
/cut1 -1.80349 0.891384 -3.55057 -0.05641
/cut2 -0.5161 0.881695 -2.24419 1.211991
/cut3 0.495264 0.87984 -1.22919 2.219719
$ Estimated for 10 years or 10 pound increase
L’analisi dimostra che, dopo aver controllato per l’età e per il peso della madre, la razza ( vs white), il
fumo durante la gravidanza, l’ipertensione, l’irritabilità uterina nonché precedenti parti pretermine
aumentano l’odds di avere un neonato di basso peso.
Tutti gli odds ratio stimati sono significativi ad esclusione di quello riferito all’ipertensione (p = 0.051)
226
8.3 MODELLI DI REGRESSIONE PER DATI CORRELATI
Abbiamo sempre analizzato modelli logistici in cui osservavamo una variabile risposta dicotomica
all’interno di un campione di soggetti statisticamente indipendenti.
Tuttavia è facile imbattersi in situazioni in cui l’assunto di indipendenza è violato.
Consideriamo ad esempio uno studio teso a valutare l’occorrenza di attacchi asmatici nei bambini. In
questo studio i soggetti vengono intervistati ogni due mesi lungo un periodo di un anno. In ogni
intervista alla madre viene chiesto se, nei due mesi precedenti, il bambino ha avuto un attacco
asmatico severo (da richiedere cioè l’intervento di un medico), ha avuto un attacco bronchitico, e
quanti fumatori vivono nell’ambiente domestico. L’età del bambino e la sua razza vengono registrati
ovviamente solo alla prima intervista.
In uno studio così concepito, abbiamo una evidente perdita di indipendenza: siamo in presenza di sei
misurazioni su ogni bambino. Ogni bambino, in questo caso, rappresenta un cluster di osservazioni
correlate (osservazioni multiple sullo stesso soggetto). Immaginiamo ora che in una famiglia ci siano
più bambini oggetti di studio: anche in tale situazione siamo in presenza di un cluster (osservazioni su
soggetti tra loro correlati: appartenenti cioè alla medesima famiglia).
Riassumendo: dobbiamo considerare la presenza di cluster nel caso di: misure ripetute su un
medesimo soggetto, e/o misure su soggetti fra loro correlati.
I modelli logistici adattati per la cluster analysis sono piuttosto complicati e il loro approfondimento
può non essere agevole in assenza strumenti matematici adeguati.25
Cluster Specific Model
Un primo modello (cluster specific model) la correlazione tra le risposte individuali, all’interno di un
cluster, viene modellata inserendo un effetto casuale cluster-specifico.
Supponiamo di avere m soggetti (o cluster) e ni osservazioni per soggetto. Indichiamo con Yji la
variabile outcome e con:
(
x 'ij = 1, x1ij , x2ij ,..., x pij )
il vettore di covariate (j-esima osservazione nell’i-esimo cluster).
Il modello cluster specifico modella il logit con la seguente equazione:
( )
g x ji , α i , β s = α i + x 'ij ⋅ β s (8.46)
dove si assume che gli effetti random seguano una distribuzione normale con media zero e varianza
costante:
(
α i ∼ N 0, σ α2 ) (8.47)
Gli effetti random sono inosservati e questo complica le stime dei coefficienti di regressione β s (il
pedice s sta ad indicare che i coefficienti si riferiscono a specifici soggetti con condividono il
medesimo effetto random α i .
Con riferimento al nostro ipotetico studio teso a valutare l’occorrenza di attacchi asmatici
nell’infanzia, supponiamo che il coefficiente relativo alla presenza di bronchite nei precedenti due
mesi sia log(2). L’interpretazione di tale coefficiente, ottenuto da un modello cluster specifico,
permette arrivare a queste due conclusioni:
1. l’avere avuto un episodio bronchitico nei precedenti due mesi raddoppia l’odds, per uno
specifico soggetto, di essere soggetto ad un attacco asmatico severo nei prossimi due mesi
227
2. l’odds di essere soggetto ad un attacco asmatico severo nei prossimi due mesi, riferito a
bambini con lo stesso valore di effetto random (inosservato) e che abbiano sofferto di un
episodio bronchitico nei precedenti due mesi, è doppio rispetto a bambini, con lo stesso
effetto random, ma che non abbiano avuto esperienza di episodi bronchitici nei precedenti
due mesi.
Le conclusioni si applicano ad uno specifico soggetto o a uno specifico gruppo di soggetti (quelli che
condividono il medesimo inosservato effetto random), ma mai all’intero gruppo osservato.
Poiché la covariata “avere avuto un episodio bronchitico nei precedenti due mesi” può variare nel
tempo, la sua interpretazione “all’interno di un soggetto specifico” può sicuramente fornire una
chiara stima del modificarsi dell’odds nel tempo.
D’altra parte sopponiamo che la variabile razza sia codificata come dicotomica (white vs non-white) e
che il suo coefficiente sia log(2). In questo caso l’interpretazione del coefficiente, nell’ambito di
questo modello, perde di utilità. Infatti tale coefficiente permetterebbe di concludere che i bambini
non-white con effetti random α i hanno un odds doppio rispetto a bambini, con lo stesso effetto
random, e white. Ma “i soggetti con i medesimi effetti random” è il bambino stesso (in questo studio
un bambino rappresenta un cluster) e come tale non può cambiare razza, pertanto l’interpretazione
è priva di senso.
Infine è bene sottolineare che la correlazione intracluster aumenta all’’aumentare della variabilità di
α i . D’altro canto dalla (8.47) si vede che elevati di α i potranno aversi solo in presenza di elevati
valori di σ α e quindi si deduce che la correlazione intracluster aumenta all’aumentare di σ α .
Modello popolazione media
Il modello a popolazione media non utilizza una specifica distribuzione degli effetti random, e
pertanto non si considera una eventuale variazione temporale delle covariate.
Le probabilità associate al logit si riferiscono alla proporzione di soggetti nella popolazione, con
l’outcome presente, e che hanno covariate x ij
Il modello è espresso come:
g ( xij , β PA ) = xij β PA (8.48)
I coefficienti stimati da questo modello debbono essere interpretati con attenzione e hanno un
significato profondamente diverso rispetto ai coefficienti del modello Cluster Specific espresso dalla
(8.46). Ad esempio, con riferimento allo studio precedente, un coefficiente pari a log(2) riferita alla
covariata “aver avuto un attacco bronchitico nei due mesi precedenti” implica che l’odds di un
attacco asmatico severo, nei soggetti con episodio bronchitico precedente, è doppio rispetto ai
soggetti che non hanno avuto esperienza di tali episodi. Il coefficiente, ottenuto da questo modello,
si riferisce agli effetti della covariata su un ampio gruppo di individui e non su un individuo singolo.
Se il coefficiente relativo alla razza fosse anch’esso log(2), potremmo affermare che i non-white
hanno un odds di avere un attacco asmatico severo doppio rispetto all’odds dei white.
La scelta tra i modelli, Cluster Specific e Population Average Model, dipenderà ovviamente dal tipo di
inferenza di nostro interesse. Se siamo interessati a inferenze riguardanti singoli soggetti utilizzeremo
un Cluster Specific Model, se invece siamo interessati a inferenze riguardanti una ampia proporzione
di soggetti, come capita di frequnte negli studi epidemiologici, allora utilizzeremo il Population
Average Model.
228
Le stime dei coefficienti dei modelli definiti dalle (8.46) e (8.48) non sono immediate. In particolare
per il Population Average Model si dovrà fare uso della cosiddetta varianza robusta.
Tralasciando ulteriori precisazioni sulle metodologie di calcolo, sottolineiamo soltanto che, per valori
prossimi a zero, trai i coefficienti espressi dai due modelli in esame esiste la seguente ralzione:
β PA ≈ β 1 − ρ ( 0 ) (8.49)
dove ρ(0) è la correlazione intracluster dell’outcome binario.
Per illustrare gli effetti delle correlazione intracluster sui coeffcienti stimati, abbiamo fittato i due
modelli su una serie di dati generati per via automatica. Abbiamo considerato un modello con una
singola covariata continua, distribuita normalmente con media zero e deviazione standard 3, e un
coefficiente cluster specifico vero βs =1.
Gli effetti random sono stati ottenuti da una distribuzione normale di media zero e deviazione
standard σα via via crescente (da zero a 10 con passi di 0.5).
Abbiamo simulato 21 data set costituiti da 200 cluster, ciascuno di dimensione quattro.
L’equazione del logit risulta quindi:
g ( xij , β s ) = α i + xij i = 1, 2,..., 200 j = 1, 2,3, 4 xij ∼ N ( 0,9 ) α i ∼ N ( 0,αα2 )
Con i 21 data set abbiamo fittato i due modelli e i coefficienti sono stati riportati in Fig. 8.5
Fig. 8.5
1.5
Estimated Coefficient
.5 0 1
0 .2 .4 .6 .8
Intracluster Correlation
Plot of the estimated cluster specific coefficient (red), estimated population average coefficient (green) and
approximate estimated population average coefficient versus the intracluster correlation obtained from fitting
models with 200 cluster of size 4
229
Dalla Fig. 8.5 notiamo soprattutto che:
1. le stime dei coefficienti cluster specifici tendono a fluttuare intorno al valore vero uno e che
tale fluttuazione aumenta all’aumentare della correlazione intracluster;
2. la approssimazione introdotta dalla (8.49) è accettabile.
Tab. 8.25
Code Sheet for the Variables in the Longitudinal Low Birth Weight Study
Tab. 8.25
Listing of the Data for Three Women in the Longitudinal Low Birth Weight Data Set
ID OBS SMOKE RACE AGE LWT BWT LOW
1 1 1 3 28 120 2865 0
1 2 1 3 33 141 2609 0
2 1 0 1 29 130 2613 0
2 2 0 1 34 151 3125 0
2 3 0 1 37 144 2481 1
43 1 1 2 24 105 2679 0
43 2 1 2 30 131 2240 1
43 3 1 2 35 121 2172 1
43 4 1 2 41 141 1853 1
230
In Tab. 8.26 riportiamo il fitting rispettivamente del population average model con covariate AGE,
LWT e SMOKE (outcome = LOW), in cui le stime degli standard error sono state ottenute con la
cosiddetta varianza “robusta”. In Tab. 8.27 riportiamo invece il fitting del cluster-specific model,
sempre con medesime covariate e variabile outcome.
Tab.8.26
Estimated Coefficients, Robust Standard Errors, Wald Statistics,
Two-tailed p-Values and 95 Percent Confidence Intervals for a
Population Average Model
Robust
Variable Coef. z P>z [95% Conf.Interval]
Std. Err.
AGE 0.058398 0.019549 2.99 0.003 0.020082 0.096713
LWT -0.00914 0.004094 -2.23 0.026 -0.01717 -0.00112
SMOKE 0.701745 0.282912 2.48 0.013 0.147249 1.256242
_cons -1.34205 0.589517 -2.28 0.023 -2.49748 -0.18662
Tab. 8.27
Estimated Coefficients, Standard Errors, Wald Statistics, Two-tailed
p-Values and 95 Percent C.I. for a Cluster-specific Model
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
AGE 0.147521 0.050471 2.92 0.003 0.048599 0.246443
LWT -0.0223 0.010549 -2.11 0.035 -0.04298 -0.00163
SMOKE 1.869386 0.71777 2.6 0.009 0.462583 3.276189
_cons -3.66389 1.522575 -2.41 0.016 -6.64808 -0.6797
lnsig2u 2.718459 0.311994 2.106963 3.329955
sigma_u 3.893193 0.607326 2.867618 5.285556
rho 0.821657 0.045719 0.71425 0.894647
Nella Tab. 8.26 notiamo che i coefficienti relativi a tutte le covariate sono significativi ad un livello del
5%.
La Tab. 8.27, che riporta il fitting del Cluster-specific Model, è suddivisa in due parti. Superiormente
troviamo le consuete stime dei coefficienti e degli standard error. Nella parte inferiore invece viene
riportata la stima della varianza degli effetti random. Tale varianza vale:
σ y2 = exp ( lnsig2u ) = exp ( 2.718459 ) = 15.157 = ( sigma_u ) = ( 3.893193)
2 2
Quanto, in Tab. 8.27, è indicato con “rho” non corrisponde alla correlazione intracluster stimata,
ρˆ ( 0 ) , bensì esprime il rapporto tra la varianza dovuta agli effetti random e la varianza totale:
σ y2 15.157
rho = = 2 = 0.821657
σ ε + σ y π / 3 + 15.157
2 2
231
La correlazione stimata intracluster, ottenuta tramite ANOVA, vale invece:
ρˆ ( 0 ) = 0.606 (8.50)
Il likelihood ratio test tra il modello di Tab. 8.27 vs l’usuale modello logistico può essere utilizzato per
testare l’ipotesi lipotesi nulla H 0 : α α = 0 .
Con i nostri dati si ha:
G = −2 ( −288.7622 ) − ( −232.9881) = 111.548 → P ( χ12 > 111.548 ) < 0.001 (8.51)
suggerendo un significativo effetto random.a
Tornando ai due modelli (Population Average e Cluster-specifi) vediamo, dalla Tab. 8.28, che
l’approssimazione indotta dalla (8.49) è accettabile anche in corrispondenza di coefficienti non
prossimi a zero (coefficiente SMOKE = 1.861).
Tab. 8.28
Estimated Coefficients From Cluster-specific Model,
Population Average Model and the Approximation to
the Population Average Model from Equation (8.49)
Cluster Population Pop. Average
Variable specific Average Approximate
βˆ S βˆ PA
βˆ (1 − ρˆ ( 0 ) )
S
Tab. 8.29
Estimated Odds Ratios from Cluster-specific Model and
Population Average model
Cluster-specific Population Average
Variable
Odds Ratio Odds Ratio
AGE ¶ 2.091 1.339
LWT $ 0.800 0.913
SMOKE 2.017 2.017
¶ Odds Ratio for a 5 year increase in age
$ Odds Ratio for a 10 pound increase in weight
Nel precedente likelihood ratio test, l’ipoesi nulla σ α = 0 giacendo al confine dello spazio del parametro,
a
σ α ∈ ( 0, ∞ ) , viola una delle assunzioni del test. Tuttavia, tale test, anche se solo indicativamente, si può
ritenere valido allo scopo.
232
8.3.1.1 Interpretazione degli Odds Ratio stimati
La Tab. 8.29 riporta, con riferimento ai modelli Cluster-specific e Population Average, gli Odds Ratio
stimati. La loro interpretazione non è immediata e necessita di alcune precisazioni.
Cluster-specific Model
L’interpretazione deglio Odds Ratio derivati da questo modello si applicano ad uno o più soggetti che
condividono lo stesso inosservato effetto random αi
Ad esempio l’odds ratio relativo al “fumare durante la gravidanza” (SMOKE) è 6.43. Ciò significa che il
“fumare durante la gravidanza” induce un odds che è 6.43 volte l’odds di avere un neonato di basso
peso nel caso non si fumasse in gravidanza e si mantenessero fissi sia l’età, sia il peso.
In questo caso l’odds ratio ha un senso e fornisce un messaggio chiaro: si consiglia ad una donna di
non fumare! Ma ha senso perché il “fumare” rappresenta un rischio modificabile: uno può decidere
se fumare o non fumare.
Diversa è l’interpretazione di un odds ratio riferito ad un fattore non modificabile. Ad esempio,
considerando la variabile RACE: che informazione possiamo ottenere?
Certo non potremo dire ad una donna di modificare la sua razza per diminuire la probabilità di avere
un neonato di basso peso!
Nell’ambito di questo modello, deve essere allora ben sottolineato che gli odds ratio “sensati” sono
soltanto quelli riferiti a rischi modificabili dal soggetto o da gruppi di soggetti.
La differenza nell’interpretazione degli odds ratio derivanti dai due modelli risulta ben evidente
quando si prende in considerazione una covariata logitudinale (AGE).
Dal Population Average Model (OR = 1.339) possiamo dedurre che nella popolazione di donne più
anziane (di cinque anni) il rischio di avere un neonato di basso peso è aumentato di circa il 34%
rispetto alla popolazione più giovane (di cinque anni) una volta che si mantengano fisse le tre
covariate.
233
Dal Cluster-specific Model (OR = 2.091) otteniamo invece una informazione più “forte”: possiamo
infatti affermare che una singola donna, tenute fisse le covariate SMOKE e LWT, ogni cinque anni
raddoppia la sua probabilità di avere un neonato di basso peso alla nascita.
In qualche contesto, potremo trovarci nella necessità di includere i precedenti valori della variabile
outcome come covariata per predire future osservazioni. Questi modelli vengono definiti Modelli
Transizionali, il logit, in questo caso vale:
g ( yi −1 ,θ , xij , βT ) = x 'ij βT + yi −1θ (8.52)
In questo modello il coefficiente θ è il log odds realtivo alla i-esima osservazione dell’outcome
condizionato sul valore dell’outcome precedente. Con questo modello potremmo modellare, ad
esempio, la probabilità di avere un neonato di basso peso condizionata dalla presenza o meno di un
neonato a basso peso al parto precedente. Oppure, sempre con questo modello, potremmo
modellare la probabilità di avere un neonato a basso peso condizionato dalla presenza o meno di un
neonato a basso peso in uno dei parti precedenti.
Tab. 8.30
Estimated Coefficients, Standard Errors, Wald Statistics, Two-tailed p-Values
and 95 Percent Confidence Intervals for Fitted Logistic Regression Model
Containing the Covariate Previous Birth of Low Weight, (n = 300)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
AGE 0.080192 0.03375 2.38 0.017 0.014043 0.146341
LWT -0.01668 0.006564 -2.54 0.011 -0.02954 -0.00381
_ISMOKE_1 1.687073 0.361279 4.67 0 0.978978 2.395167
prewlow 3.414563 0.389228 8.77 0 2.651689 4.177436
_cons -2.4909 1.259569 -1.98 0.048 -4.95961 -0.02219
234
Tab. 8.31
Estimated Coefficients, Standard Errors, Wald Statistics, Two-tailed p-Values
and 95 Percent Confidence Intervals for Fitted Logistic Regression Model
Containing the Covariate Measuring if a Woman have ever had a Pregnancy
Resulting in a Low Weight Birth, (n = 300)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
AGE 0.074082 0.034963 2.12 0.034 0.005556 0.142609
LWT -0.02035 0.007122 -2.86 0.004 -0.03431 -0.00639
_ISMOKE_1 1.78388 0.380493 4.69 0 1.038128 2.529632
everlow 3.654518 0.406297 8.99 0 2.85819 4.450846
_cons -2.01075 1.30102 -1.55 0.122 -4.56071 0.539198
Dalla Tab. 8.30 vediamo che lodds di avere un neonato di basso peso in presenza di un neonato a
basso peso al parto precedente è 30.4 volte l’odds di una donna che al parto precedente non ha
avuto un neonato sottopeso.
OR = exp ( 3.415) = 30.4
Consideriamo una serie di variabili casuali binarie Y1, Y2,…Yn. Ad ogni variabile casuale Yj sia associato
un set di variabili esplicative x j = ( x1 j , x2 j ,..., x pj ) ' . E sia π j la probabilità che Y j = 1 .
La regressione logistica ordinaria modella la dipendenza di π j da x j attraverso al seguente
relazione:
πj
log = γ + x ' j β β = ( β1 , β 2 ,..., β p ) ' (8.53)
1−π j
Il metodo usuale utilizzato per fare inferenza su β e γ consiste nel massimizzare la (8.54) rispetto a
questi coefficienti.
Supponiamo ora di essere interessati a fare inferenza solo su β trattando γ come parametro di
disturbo. In questo caso, invece di stimare γ dalla funzione di verosimiglianza incondizionata,
possiamo eliminarla attraverso un condizionamento basato sul valore osservato della sua statistica
sufficientea n1 .
n
n1 = ∑ yi
i =1
n n!
R= =
n1 n1 !( n − n1 )!
D’altra parte, la funzione di verosimiglianza definita dalla (8.55), suggerisce che la statistica
sufficiente per β i sia ti
n n
ti = ∑ y j xij → t = ∑ y j x j
j =1 j =1
e la sua distribuzione è:
c ( t ) exp ( t ' β )
Pr (T1 = t1 , T2 = t2 ,..., Tp = t p ) = (8.56)
∑ c ( u ) exp ( u ' β )
u∈S
dove
c (t ) = S (t )
a
Una statistica sufficiente è una statistica che ha la proprietà di sufficienza rispetto a un modello statistico ed
è associata ad un parametro incognito. La proprietà di sufficienza implica che nessuna altra statistica che può
essere calcolata dal medesimo campione è in grado di fornire alcuna informazione aggiuntiva nei confronti del
parametro da stimare.
In termini pratici, dato un set X di variabili casuali indipendenti e identicamente distribuite, condizionate da un
parametro θ incognito, una statistica sufficiente è una funzione T(X) che contiene tutte le informazioni
necessarie a effettuare qualsiasi stima del parametro θ (ad esempio la stima di massima verosimiglianza).
236
n n
S ( t ) = ( y1 , y2 ,..., yn ) : ∑ y j = n1 , ∑y x j ij = ti i = 1, 2,..., p
j =1 j =1
Si noti che con S si indica il numero di elementi distinti appartenenti all’insieme S e che la
sommatoria a denominatore della (8.56) è estesa su tutti gli u tali che c ( u ) ≥ 1 .
La (8.56) viene utilizzata sia per la stima puntuale del parametro, sia per la determinazione del
relativo intervallo di confidenza. I calcoli richiesti, soprattutto nel caso multivariato, sono abbastanza
onerosi.
Nel seguito illustreremo il metodo esatto con riferimento ad un modello contenente una sola
covariata dicotomica.
8.4.1 Logistica esatta (prima esemplificazione)
Come esemplificazione, consideriamo un modello che valuti i fattori di rischio condizionanti un
neonato di basso peso tra le donne, con età maggiore o uguale a 30 anni, appartenenti al data set
illustrato in Tab. 8.25. Analizzeremo quindi i dati relativi a 27 donne di cui 4 con neonato di basso
peso. E’ chiaro pertanto che con solo 27 osservazioni e, soprattutto, con solo 4 outcome pari a
LOW=1, non potremo utilizzare metodi che richiedono, per la loro validità, una numerosità
campionaria elevata .
Come già accennato in precedenza, per non appesantire i calcoli, considereremo un modello che
comprenda una sola covariata dicotomica: vogliamo valutare se la positività (PTL = 1) per un
precedente parto prematuro condizioni la nascita di un neonato dio basso peso (LOW = 1).
Tab. 8.32
Cross-Classification of Low Birth
Weight (LOW) by History of Premature
Labor (PTL)Among Women 30 Years of
Age or Older.
PTL
LOW 0 1 Total
0 19 4 23
1 2 2 4
Total 21 6 27
Dalla Tab. 8.32, vediamo che i valori osservati delle statistiche sufficienti per l’intercetta (t0) e per il
coefficiente di PTL (t1) sono pari rispettivamente a 4 e 2. Infatti:
27 27
t0 = ∑ LOWi = 4 t1 = ∑ LOWi ⋅ PTLi = 2
i =1 i =1
237
E il termine c(t1) nella (8.57) esprime il numero di possibili allocazioni di 23 zero (LOW = 0) e quattro 1
(LOW = 1) condizionati da:
27
t1 = ∑ LOWi ⋅ PTDi
i =1
Dalla Tab. 8.33 vediamo, ad esempio, che ci sono 5935 sequenze di 23 zeri e 4 uni tali che:
27
t1 = ∑ LOWi ⋅ PTDi = 0 .
i =1
L’inferenza più semplice che possiamo effettuare consiste nel testare l’ipotesi che β1 = 0 .
I valori forniti dalla equazione (8.57), sotto ipotesi nulla, sono anch’essi riportati in Tab.8.33, e
possono essere facilmente calcolati considerando che 1 = exp(t1 ⋅ 0) e che S contiene 17550
sequenze:
Tab. 8.33
Enumeration of the Exact Probability
Distribution of the Sufficient Statistic
for the Coefficient of PTL
t1 c(t1) Probability*
0 5985 0.34103
1 7980 0.45469
2 3150 0.17949
3 420 0.02393
4 15 0.00086
Total 17550 1.0
*Probability under H0: β1=0
La probabilità, a due code, che T1 = t1oss = 2 si calcola sommando le probabilità di Tab. 8.33 che
risultano minori o uguali alla probabilità associata al valore di t1 = 2 . Si ha pertanto:
P (T1 = t1oss ) = 0.17949 + 0.02393 + 0.00086 = 0.20428
Questo valore di probabilità coincide con quello ricavato dal test esatto di Fisher applicato ai dati di
Tab. 8.32.
Il punto di stima del coefficiente è il valore che massimizza la (8.57). Tenuti presenti i dati di Tab. 8.33
si ha:
238
Fig. 8.6
Tab. 8.34
Results of Fitting the Usual Logistic Model (MLE) and the
Exact Conditional Model (CMLE) to the Data in Tab. 8.32
Method Coeff. Std. Err. 95% CI
PLT MLE 1.558 1.1413 -0.679 3.795
CMLE 1.482 1.1059 -1.383 4.370
Cnstant MLE -2.251 0.7434 -794 0.409
CMLE * * *
* Not computed using CMLE in this case
Sia la stima del coefficiente, sia lo standard error associato sono leggermente più piccoli quando
determinati con il metodo esatto. I limiti dell’intervallo di confidenza, nel caso del modello logistico
usuale, si ottengono nel modo consueto:
1 ( )
βˆ ± 1.96 ⋅ se βˆ
1
239
I limiti dell’intervallo di confidenza, nel caso del modello esatto, si calcolano con la seguente
procedura.
Assumiamo che il possibile range della statistica sufficiente t1, dato il valore osservato di t0, sia:
tmin ≤ t1 ≤ tmax . Nel nostro esempio 0 ≤ t1 ≤ 4 . L’estremo inferiore dell’intervallo di confidenza al
!00(1-α)% è il valore di β1 tale che:
t max
α 2= ∑ P (T
k = t1obs
1 = k) (8.58)
dove t1obs è il valore osservato di t1, 2 nel nostro esempio, e P(T1= k) è dato dalla (8.57)
Si noti che se t1obs = tmin allora il limite inferiore dell’intervallo viene posto pari a −∞
Tab. 8.35
Cross-Classification of Low Birth Weight
(LOW) by Smoking Status of the Mother
during Pregnancy (SMOKE) Among
Women 30 Years of Age or Older
SMOKE
LOW 0 1 Total
0 17 6 23
1 0 4 4
Total 17 10 27
Notiamo che la tabella ha il contenuto di una cella pari a zero: in tale situazione la regressione
logistica convenzionale non può essere utilizzata. Vedremo per contro, che con il metodo esatto,
potremo agevolmente determinare le stime del parametro e il relativo intervallo di confidenza.
L a Tab. 8.36 riporta la distribuzione esatta di probabilità sotto l’ipotesi nulla di nessun effetto dovuto
al fumo.
240
Tab. 8.36
Enumeration of the Exact Probability
Distribution of the Sufficient Statistic
for the coefficient of SMOKE
t1 c(t1) Probability*
0 2380 0.1361
1 6800 0.38746
2 6120 0.34872
3 2040 0.11624
4 210 0.01197
Total 17550 1
* Probability under H0: β1 =0
La probabilità, a due code, che T1 = t1oss = 4 si calcola sommando le probabilità di Tab. 8.36 che
risultano minori o uguali alla probabilità associata al valore di t1 = 2 . Si ha pertanto:
P (T1 = t1oss ) = 0.01197
Questo valore di probabilità coincide con quello ricavato dal test esatto di Fisher applicato ai dati di
Tab. 8.35.
Poiché il valore osservato della statistica sufficiente è 4 = tmax,, il limite superiore dell’intervallo di
confidenza è +∞ , mentre il limite inferiore di trova risolvendo la (8.58)
L’intervallo di confidenza della stima vale pertanto:
95%CI = {0.308; + ∞}
Nelle situazioni in cui t1obs = tmin oppure t1obs = tmax il metodo condizionale esatto (CMLE) non
fornisce una soluzione finita della stima. Si può, in questi casi, utilizzare il cosiddetto “median
unbiased estimator” (MUE).27
Questo stimatore è posto pari alla media tra i valori estremi dell’intervallo di confidenza, al 50%,
della stima. Nel caso uno degli estremi tenda a infinito la stima viene posta pari all’estremo finito.
EI + ES
50%CI { EI ; ES } → βˆ =
2
50%CI {−∞; ES } → βˆ = ES
50%CI { EI ; +∞ } → βˆ = EI
241
8.4.3 Logistica esatta nel modello multivariato
Il metodo esatto può essere applicato anche a modelli multivariati. La mole di calcoli aumenta in
misura notevole e, alle volte, la memoria resa disponibile nei comuni PC può non risultare sufficiente.
Tab. 8.37
La Tab. 8.37 mostra l’output relativo ad un modello multivariato (covariate LWT, SMOKE e PTL;
variabile dipendente LOW) risolto con LogXact 9.a
a
Stata 12, sotto Windows XP con 2 Gb di RAM, non è stato in grado di arrivare alla soluzione.
242
I due approcci si differenziano sostanzialmente per il fatto che nel primo ci si basa sulla distribuzione
di campionamento della differenza tra due proporzioni, nel secondo sulla distribuzione di
campionamento del log odds ratio.
Nel seguito illustreremo i due approcci utilizzando i dati dell’UMARU IMPACT Study (UIS) già descritto
in precedenza (Sezione 4.2), e che ora considereremo come studio pilota.
Sulla base dei risultati preliminari di questo studio vogliamo determinare la dimensione campionaria
minima di un nuovo studio avente lo scopo di testare se vi sia almeno un 50% di aumento dell’odds
di rimanere, per un anno, libero dall’uso di droghe nel caso di un trattamento “lungo” rispetto ad un
trattamento “breve”. Pertanto, con riferimento ad un modello logistico con una sola covariata
dicotomica (TREAT), l’ipotesi nulla e quella alternativa sono:
H 0 : β1 = 0 = log (1) H a : β1 = β1* = log (1.5 )
Per determinare la numerosità campionaria dobbiamo, in entrambi gli approcci, valutare la
probabilità di risposta (rimanere libero dall’uso di droghe per almeno un anno) in corrispondenza di
un trattamento “breve” ossia P0 = P (Y = 1| x = 0 ) .
Tab. 8.38
Cross-Classification of DFREE by
TREAT in the UIS*
TREAT
DFREE 0 1 Total
0 227 201 428
1 62 85 147
Total 289 286 575
* DFREE (1 = Remained Drug Free; 0 = Otherwise)
TREAT (0 = Short; 1 = Long)
62
P0 = P ( Y = 1| x = 0 ) = = 0.214 ≅ 0.2
289
E la probabilità P1 di rimanere libero di droghe per effetto di un trattamento lungo nell’ipotesi che
quest’ultimo provochi un aumento l’odds del 50% vale:
P1 1 − P0 1.5 ⋅ 0.2
⋅ = 1.5 → P1 = = 0.2728
1 − P1 P0 (1 − 0.2 ) + 1.5 ⋅ 0.2
Quindi, con il primo approccio, la dimensione del campione si calcola determinando quella
numerosità che, con prefissati livelli degli errori di primo (α) e secondo tipo (θ), è in grado di
“vedere” una differenza quando la differenza “vera” sia pari almeno a P1 − P0 .
La numerosità campionaria n di ciascun gruppo, fissati il livello dell’errore α (a una coda) e la potenza
dello studio (1-θ), si calcola pertanto con la seguente equazione:
( z1−α 2 P (1 − P ) + z1−θ P0 (1 − P0 ) + P1 (1 − P1 ) )
2
n= (8.60)
( P1 − P0 )
2
dove:
243
P1 + P0
P=
2
Posto α = 0.05 , θ = 0.20 , z1−α = 1.642 , z1−θ = 0.842 , P0 = 0.2 , P1 = 0.2728 , P = 0.2364 , dalla (8.60), si
ottiene:
n ≅ 421
a cui corrisponde una numerosità campionaria totale di circa 842 soggetti (421 per braccio).
H 0 : β1 = 0 H a : β1 = β1*
Come si vede la (8.60) e la (8.61) danno risultati diversi seppure simili. Quale approccio scegliere?
Forse la (8.60) è da preferirsi perché poggia su un minor numero di assunzioni.
2
1 * 2
z1−α + z1−θ exp − 4 ( β1 )
n = (1 + 2 P0δ ) (8.62)
P0 ( β1 )
* 2
H 0 : β1 = 0 H a : β1 = β1*
dove:
δ=
( 2
)
1 + 1 + ( β1* ) exp − ( β1* )
1
4
2
(8.63)
1 + exp − ( β1 )
1 * 2
4
244
e P0 è il valore della probabilità logistica valuta in corrispondenza della media della covariata
standardizzata:
exp ( β0 )
P0 = (8.64)
1 + exp ( β 0 )
Come esempio consideriamo, sempre nell’ambito dello studio “preliminare” UIS, l’effetto della
covariata continua AGE nei confronti della variabile dipendente DFREE (escludiamo pertanto l’effetto
delle covariate rimanenti). La variabile AGE ha media 32 anni e deviazione standard 6: il nostro
obiettivo è quello di determinare, sulla scorta dei dati preliminari dello studio UIS, la numerosità
campionaria minima in grado evidenziare una differenza di effetto pari ad un aumento del 50%
dell’odds di rimanere privo di malattia in corrispondenza di un aumento dell’età pari a una
deviazione standard. Le ipotesi nulla e alternativa risultano:
H 0 : β1 = log (1) = 0 H a : β1 = log(1.5) = β1*
Per stimare P0 dalla (8.64) fittiamo un modello univariato contente la sola covariata AGES (la
covariata AGE standardizzata).
L’intercetta stimata da questo modello risulta βˆ0 = −1.0714 , e quindi P0 vale:
exp ( −1.0714 )
P0 = ≅ 0.25
1 + exp ( −1.071.4 )
( ) 5 2
1 + 1 + ( log (1.5 ) ) exp − ( log (1.5 ) )
2
4 = 1.24
δ=
1 2
1 + exp − ( log (1.5 ) )
4
Dalla (8.62) si ottiene infine la numerosità campionaria cercata:
2
1 2
1.645 + 0.842exp − 4 ( log (1.5 ) )
n = (1 + 2 ⋅ 0.24 ⋅ 1.24 ) = 237.19
0.25 ( log (1.5 ) )
2
245
8.5.3 Modello logistico multivariato
Generalmente si avrà a che fare sempre con modelli logistici multivariati. In questi casi le formule
precedentemente descritte necessiteranno di alcune correzioni.
Con riferimento ai modelli multivariati la (8.62) dovrebbe modificarsi nella seguente:
2
2
z1−α + z1−θ exp − ( β1* )
1
(1 + 2 P0δ ) 4
n= (8.65)
(1 − ρ )
2
P0 ( β1* )
2
dove ρ2 è il quadrato della correlazione multipla tra la covariata di interesse e le rimanenti (p-1)
covariate presenti nel modello.
Sempre considerando lo studio UIS come studio pilota, possimo determinare facilmente il valore di P0
Tab. 8.39
Results of Fitting a Logistic Regression Model to the UIS Data (n = 575)
Variable Coef. Std. Err. z P>z [95% Conf.Interval]
ages 0.315955 0.107316 2.94 0.003 0.10562 0.526291
ndrugxs -0.316 0.128262 -2.46 0.014 -0.56739 -0.06461
_Iivhx_2 -0.59287 0.286433 -2.07 0.038 -1.15427 -0.03147
_Iivhx_3 -0.76004 0.248994 -3.05 0.002 -1.24806 -0.27202
race 0.208109 0.221453 0.94 0.347 -0.22593 0.642149
treat 0.438959 0.199143 2.2 0.028 0.048646 0.829272
_cons -1.02067 0.210691 -4.84 0 -1.43361 -0.60772
exp ( −1.021)
P0 = = 0.265
1 + exp ( −1.021)
Il valore di ρ2 da inserire nella (8.65) si trova mediante una regressione lineare multipla (ages come
variabile dipendente e ndrugxs, ivhx, race e treat come variabili indipendenti)
ρ 2 = 0.1473
Il valore di δ è quello calcolato nella precedente esemplificazione:
δ = 1.24
La numerosità campionaria, sempre con riferimento ad un α = 0.05 (a una coda), una potenza del
test 1 − θ = 0.8 , in grado dievidenziare una differenza di effetto pari ad un aumento del 50%
dell’odds di rimanere privo di malattia in corrispondenza di un aumento dell’età pari a una
deviazione standard vale:
2
1 2
1.645 + 0.842exp − ( log (1.5 ) )
(1 + 2 ⋅ 0.265 ⋅ 1.24 ) 4
n= = 268.5
(1 − 0.1473) 0.265 ( log (1.5 ) )
2
Come secondo esempio multivariato consideriamo, sempre nell’ambito dello studio UIS, il
trattamento (TREAT) come covariata principale. In questo caso la covariata di interesse è dicotomica.
246
La determinazione della numerosità campionaria si ottiene con la (8.61) inserendo il consueto fattore
di correzione:
π 1 π 1
z1−α + + z1−θ +
(1 + 2 P0 ) 1−π π 1 − π π ⋅ exp ( β1* )
n= (8.66)
1− ρ2 P0 ⋅ ( β1 )
* 2
Il valore di ρ 2 può assumersi pari al quadrato del coefficiente di correlazione tra la variabile
(TREAT) e i valori predetti (sempre della variabile TREAT) ottenuto da un modello logistico
multivariato con TREAT come variabile dipendente e tutte le rimanenti covariate come indipendenti.
Con i dati dello studio UIS, si ottiene:
ρ 2 = ( 0.1123) = 0.0126
2
247
Le tabelle Table 1, 2, 3, 4 sono tratte da:
Hsieh FY (1989) Sample size tables for logistic regression.
Satistics in Medicine, 8, 795-802
Table 1. Sample size required for univariate logistic regression having an overall event proportion P and an Odds Ratio r at
one standard deviation above the mean of the covariate when α = 5 per cent (one-tailed) and 1-θ = 70 per cent
ODDS RATIO r
P
0.6 0.7 0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.5 3.0
0.01 1799 3732 9601 43222 52828 14403 6933 4198 2878 2132 1665 1351 1128 964 546 386
0.02 925 1909 4900 22040 26938 7349 3540 2147 1474 1094 856 696 583 513 291 214
0.03 633 1301 3334 14980 18308 4997 2410 1463 1036 748 587 478 402 345 205 157
0.04 487 997 2550 11450 13993 3827 1844 1121 772 575 452 369 311 268 163 129
0.05 400 815 2080 9332 11404 3116 1505 916 631 471 371 304 256 222 137 112
0.06 341 694 1767 7920 9678 2646 1279 779 538 402 317 260 220 191 120 100
0.07 300 607 1543 6911 8445 2310 1117 681 471 352 278 229 194 169 108 92
0.08 268 542 1375 6154 7520 2058 996 608 421 315 249 206 175 152 99 86
0.09 244 491 1245 5566 6801 1862 902 551 382 286 227 187 160 139 92 81
0.10 225 451 1140 5095 6225 1705 827 505 351 263 209 173 147 129 86 77
0.12 195 390 984 4389 5362 1470 714 437 304 229 182 151 129 114 78 72
0.14 175 346 872 3885 4746 1302 633 388 270 204 163 135 116 103 72 68
0.16 159 314 788 3507 4284 1176 572 351 245 185 148 124 107 94 67 65
0.18 147 289 723 3213 3924 1078 525 323 226 171 137 115 99 88 64 62
0.20 137 268 670 2977 3636 1000 487 300 210 160 128 107 93 83 61 60
0.25 120 232 576 2554 3119 859 420 259 182 139 112 94 82 73 56 57
0.30 108 207 514 2271 2773 765 374 232 163 125 101 86 75 67 52 55
0.35 100 190 469 2069 2527 697 342 212 150 115 93 79 70 63 50 53
0.40 93 177 435 1918 2342 647 318 198 140 108 88 75 66 60 48 52
0.45 89 167 409 1801 2198 608 299 186 132 102 83 71 63 57 47 51
248
Table 2. Sample size required for univariate logistic regression having an overall event proportion P and an Odds Ratio r at
one standard deviation above the mean of the covariate when α = 5 per cent (one-tailed) and 1-θ = 80 per cent
ODDS RATIO r
P
0.6 0.7 0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.5 3.0
0.01 2334 4872 12580 56741 69359 18889 9076 5485 3751 2771 2158 1746 1453 1237 690 480
0.02 1199 2492 6421 28935 35367 9637 4635 2804 1921 1422 1110 900 751 642 367 267
0.03 821 1699 4368 19666 24037 6554 3155 1911 1311 972 760 618 517 444 260 196
0.04 632 1302 3342 I5031 18371 5012 2414 1464 1006 747 585 477 401 344 206 160
0.05 518 1064 2726 12251 14972 4086 1970 1196 823 612 481 392 330 285 174 139
0.06 443 905 2315 10397 12706 3470 1674 1018 701 522 411 336 284 245 152 125
0.07 389 792 2022 9073 11087 3029 1463 890 614 458 361 296 250 217 137 115
0.08 348 707 1802 8080 9873 2699 1304 794 548 410 323 266 225 196 125 107
0.09 317 641 1631 7307 8929 2442 1181 720 497 372 294 242 206 179 116 101
0.10 291 588 1494 6689 8174 2236 1082 660 457 342 271 223 190 166 109 96
0.12 254 509 1289 5762 7041 1928 934 571 396 297 236 195 167 146 98 89
0.14 227 452 1142 5100 6231 1708 828 507 352 265 211 175 150 132 91 84
0.16 206 410 1032 4604 5624 1542 749 459 320 241 192 160 137 121 85 80
0.18 191 377 947 4218 5152 1414 687 422 294 222 178 148 128 113 80 77
0.20 178 350 878 3909 4774 1311 638 392 274 207 166 139 120 106 77 75
0.25 155 303 755 3352 4095 1126 549 339 237 180 145 122 106 94 70 71
0.30 140 271 673 2982 3641 1003 490 303 213 162 131 111 96 86 66 68
0.35 129 248 614 2717 3318 915 448 277 195 149 121 103 90 81 63 66
0.40 121 231 570 2518 3075 848 416 258 182 140 114 96 85 76 61 64
0.45 115 218 536 2364 2886 797 391 243 172 132 108 92 81 73 59 63
0.50 110 207 509 2240 2735 756 372 231 164 126 103 88 78 70 57 62
2
Note: To obtain sample size for multiple logistic regression, divide the number from the table by a factor of 1-ρ , where ρ
is a correlation coefficient relating the specific covariate to the remaining covariates.
249
Table 3. Sample size required for univariate logistic regression having an overall event proportion P and an Odds Ratio r at
one standard deviation above the mean of the covariate when α = 5 per cent (one-tailed) and 1-θ = 90 per cent
ODDS RATIO r
P
0.6 0.7 0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.5 3.0
0.01 3192 6706 17383 78551 96029 26120 12529 7554 5154 3797 2948 2377 1972 1674 917 627
0.02 1640 3430 8873 40056 48966 13327 6398 3863 2639 1948 1516 1225 1020 869 488 349
0.03 1123 2338 6036 27225 33279 9063 4355 2632 1801 1332 1038 842 702 600 345 256
0.04 864 1792 4618 20809 25435 6930 3333 2017 1382 1024 800 650 544 466 274 210
0.05 709 1465 3767 16959 20729 5651 2720 1648 1131 839 657 534 448 385 231 182
0.06 605 1246 3199 14393 17591 4798 2311 1402 963 715 561 458 385 332 202 163
0.07 532 1090 2794 12560 15350 4189 2019 1226 843 627 493 403 340 293 182 150
0.08 476 973 2490 11185 13670 3732 1800 1094 753 561 442 362 306 265 167 140
0.09 433 882 2254 10116 12362 3377 1630 991 683 510 402 330 279 242 155 132
0.10 398 810 2065 9260 11317 3092 1494 909 628 469 370 304 258 224 145 126
0.12 347 700 1781 7977 9748 2666 1289 786 544 407 322 266 226 197 131 117
0.14 310 622 1578 7061 8627 2361 1143 698 484 363 288 238 203 178 121 110
0.16 282 564 1426 6373 7787 2133 1034 632 439 330 263 218 186 164 113 105
0.18 261 518 1308 5839 7133 1955 949 581 404 305 243 202 173 153 107 101
0.20 243 482 1214 5411 6610 1813 881 540 376 284 227 189 163 144 102 98
0.25 212 417 1043 4641 5669 1557 758 466 326 247 198 166 144 128 94 93
0.30 192 373 930 4128 5042 1387 676 417 292 222 179 151 131 117 88 89
0.35 177 342 849 3761 4593 1265 618 382 268 205 166 140 122 109 84 86
0.40 166 318 788 3486 4257 1173 574 355 250 192 155 131 115 103 81 84
0.45 157 300 741 3272 3996 1102 540 335 236 181 147 125 110 99 78 83
0.50 150 286 703 3101 3787 1045 513 319 225 173 141 120 105 95 76 81
2
Note: To obtain sample size for multiple logistic regression, divide the number from the table by a factor of 1-ρ , where ρ
is a correlation coefficient relating the specific covariate to the remaining covariates.
250
Table 4. Sample size required for univariate logistic regression having an overall event proportion P and an Odds Ratio r at
one standard deviation above the mean of the covariate when α = 5 per cent (one-tailed) and 1-θ = 90 per cent
ODDS RATIO r
P
0.6 0.7 0.8 0.9 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.5 3.0
0.01 4001 8439 21927 99209 121290 32967 15795 9511 6478 4765 3692 2971 2461 2084 1130 764
0.02 2055 4316 11192 50591 61847 16820 8066 4863 3318 2445 1898 1532 1272 1081 601 425
0.03 1407 2942 7614 34384 42033 11438 5490 3314 2264 1671 1301 1052 876 747 425 312
0.04 1083 2255 5825 26281 32126 8747 4202 2539 1737 1284 1002 812 678 580 337 255
0.05 888 1843 4751 21419 26182 7132 3429 2074 1421 1052 822 668 559 480 284 221
0.06 759 1568 4036 18178 22219 6056 2914 1764 1210 898 703 572 480 413 249 199
0.07 666 1372 3525 15863 19389 5287 2546 1543 1060 787 617 504 424 365 224 183
0.08 597 1225 3141 14127 17266 4710 2270 1377 947 704 553 452 381 329 205 170
0.09 543 1110 2843 12776 15614 4262 2055 1248 859 640 503 412 348 301 190 161
0.10 499 1019 2604 11696 14293 3903 1883 1145 789 588 464 380 322 279 179 153
0.12 435 881 2247 10075 12312 3365 1626 990 684 511 404 332 282 246 161 142
0.14 388 783 1991 8918 10897 2980 1442 879 608 456 361 298 254 222 148 134
0.16 353 710 1799 8049 9835 2692 1304 796 552 414 329 272 233 204 139 128
0.18 326 652 1650 7374 9010 2468 1196 732 508 382 304 252 216 190 132 123
0.20 305 607 1531 6834 8349 2288 1110 680 473 356 284 236 203 179 126 120
0.25 266 524 1316 5861 7160 1965 956 587 410 310 248 207 179 159 115 113
0.30 240 469 1173 5213 6368 1750 853 525 367 279 224 188 163 145 108 108
0.35 222 430 1071 4750 5802 1596 779 481 337 257 207 175 152 136 103 105
0.40 208 401 994 4403 5377 1481 724 448 315 240 194 164 143 129 99 103
0.45 197 378 935 4133 5047 1391 681 422 297 228 185 156 137 123 96 101
0.50 188 359 887 3917 4783 1319 647 401 283 217 177 150 132 119 94 99
2
Note: To obtain sample size for multiple logistic regression, divide the number from the table by a factor of 1-ρ , where ρ
is a correlation coefficient relating the specific covariate to the remaining covariates
251
Applicazione Capitolo 8
Dim. formule (8.3) (8.4) (8.5)
P (Y = 1| x ) P (Y = 1| x )
g1 ( x ) = log ⇒ exp g1 ( x ) =
P (Y = 0 | x ) P (Y = 0 | x )
P (Y = 2 | x ) P (Y = 2 | x )
g 2 ( x ) = log ⇒ exp g 2 ( x ) =
P (Y = 0 | x ) P (Y = 0 | x )
d’altra parte deve essere:
P (Y = 0 | x ) + P (Y = 1| x ) + P ( Y = 2 | x ) = 1
da cui
P (Y = 0 | x ) + P (Y = 0 | x ) exp g1 ( x ) + P ( Y = 0 | x ) exp g 2 ( x ) = 1
1
P (Y = 0 | x ) =
1 + exp g1 ( x ) + exp g 2 ( x )
exp g1 ( x )
P (Y = 1| x ) =
1 + exp g1 ( x ) + exp g 2 ( x )
exp g 2 ( x )
P (Y = 2 | x ) =
1 + exp g1 ( x ) + exp g 2 ( x )
{
− log 1 + exp g1 ( xi ) + exp g 2 ( xi ) }( y0i + y1i + y2i )
( )
n
L ( β ) = ∑ y1i ⋅ g1 ( xi ) + y21 ⋅ g 2 ( xi ) − log 1 + exp g1 ( xi ) + exp g 2 ( xi )
i =1
252
Giustificazione formula (8.9)
Poniamo j = 1 e k = 2. Si ha quindi:
∂L ( β ) n exp g1 ( xi )
= ∑ y1i x2,i − x2,i
∂β1,2 i =1 1 + exp g1 ( xi ) + exp g 2 ( xi )
Posto
π ji = π j ( x i )
Si ha:
∂L ( β ) n n
= ∑ y1i x2,i − π 1,i x2,i = ∑ x2,i ( y1,i − π 1,i )
∂β1,2 i =1 i =1
∂L2 ( β )
= −∑ x2,i ⋅
n ( )
x3,i ⋅ exp g1 ( xi ) 1 + exp g1 ( xi ) + exp g 2 ( xi ) − x3,i exp g1 ( xi ) ⋅ exp g1 ( xi )
∂β1,2 ∂β1,3 (1 + exp g ( x ) + exp g ( x ) )
2
i =1
1 i 2 i
∂L2 ( β )
= −∑ x2,i ⋅ x3,i ⋅ π 1,i (1 − π 1,i )
n
∂β1,2 ∂β1,3 i =1
∂L2 ( β ) n
= ∑ x2,i ⋅ x3,1 ⋅ π 2,i ⋅ π 1,i
∂β1,2 ∂β 2,3 i =1
253
Tab. 8.2
. tabulate ME HIST
| HIST
ME | 0 1 | Total
-----------+----------------------+----------
0 | 220 14 | 234
1 | 85 19 | 104
2 | 63 11 | 74
-----------+----------------------+----------
Total | 368 44 | 412
Tab. 8.3
. mlogit ME HIST
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
HIST | 1.256358 .3746603 3.35 0.001 .5220372 1.990679
_cons | -.9509763 .1277112 -7.45 0.000 -1.201286 -.7006669
-------------+----------------------------------------------------------------
2 |
HIST | 1.009331 .4274998 2.36 0.018 .1714466 1.847215
_cons | -1.250493 .1428932 -8.75 0.000 -1.530558 -.9704273
------------------------------------------------------------------------------
(ME==0 is the base outcome)
( 1) [1]HIST - [2]HIST = 0
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | .2470272 .413737 0.60 0.550 -.5638825 1.057937
------------------------------------------------------------------------------
Oppure con il comando test
. test [1]HIST-[2]HIST=0
( 1) [1]HIST - [2]HIST = 0
chi2( 1) = 0.36
Prob > chi2 = 0.5505
254
. test [2=1]
( 1) - [1]HIST + [2]HIST = 0
chi2( 1) = 0.36
Prob > chi2 = 0.5505
| 1 | 2
e(V) | HIST _cons | HIST _cons
-------------+------------------------+------------------------
1 | |
HIST | .14037035 |
_cons | -.01631016 .01631016 |
-------------+------------------------+------------------------
2 | |
HIST | .07597403 -.00454545 | .18275604
_cons | -.00454545 .00454545 | -.02041847 .02041847
Tab. 8.5
. tabulate ME DETC
| DETC
ME | 1 2 3 | Total
-----------+---------------------------------+----------
0 | 13 77 144 | 234
1 | 1 12 91 | 104
2 | 4 16 54 | 74
-----------+---------------------------------+----------
Total | 18 105 289 | 412
255
Tab. 8.6
. xi: mlogit ME i.DETC
i.DETC _IDETC_1-3 (naturally coded; _IDETC_1 omitted)
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
_IDETC_2 | .7060506 1.083136 0.65 0.514 -1.416856 2.828958
_IDETC_3 | 2.105996 1.046325 2.01 0.044 .0552361 4.156755
_cons | -2.564949 1.03772 -2.47 0.013 -4.598843 -.5310556
-------------+----------------------------------------------------------------
2 |
_IDETC_2 | -.3925617 .6343589 -0.62 0.536 -1.635882 .850759
_IDETC_3 | .1978257 .5936221 0.33 0.739 -.9656522 1.361304
_cons | -1.178655 .5717729 -2.06 0.039 -2.299309 -.0580007
------------------------------------------------------------------------------
(ME==0 is the base outcome)
Gli odds ratio si ottengono esponenziando i corrispondenti coefficienti
256
Oppure con il comando test:
. test [2=1]
( 1) - [1]_IDETC_2 + [2]_IDETC_2 = 0
( 2) - [1]_IDETC_3 + [2]_IDETC_3 = 0
chi2( 2) = 6.20
Prob > chi2 = 0.0450
Oppure anche:
. test -[1]_IDETC_2+[2]_IDETC_2=0,notest
( 1) - [1]_IDETC_2 + [2]_IDETC_2 = 0
. test -[1]_IDETC_3+[2]_IDETC_3=0,accumulate
( 1) - [1]_IDETC_2 + [2]_IDETC_2 = 0
( 2) - [1]_IDETC_3 + [2]_IDETC_3 = 0
chi2( 2) = 6.20
Prob > chi2 = 0.0450
Tab. 8.7
. xi: mlogit ME i.SYMPT PB HIST BSE i.DETC
. test [2]_ISYMPT_3-[2]_ISYMPT_4=0
( 1) [2]_ISYMPT_3 - [2]_ISYMPT_4 = 0
chi2( 1) = 0.93
Prob > chi2 = 0.3348
Tab. 8.8
. generate SYMPTD=0
. replace SYMPTD=1 if SYMPT >2
. xi: mlogit ME SYMPTD PB HIST BSE i.DETC
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
SYMPTD | 2.095341 .4573977 4.58 0.000 1.198858 2.991824
PB | -.2510121 .0729327 -3.44 0.001 -.3939575 -.1080667
HIST | 1.293281 .4335351 2.98 0.003 .4435676 2.142994
BSE | 1.243974 .5263057 2.36 0.018 .212434 2.275514
_IDETC_2 | .0902755 1.161025 0.08 0.938 -2.185291 2.365842
_IDETC_3 | .9728148 1.126271 0.86 0.388 -1.234636 3.180266
_cons | -2.70375 1.434414 -1.88 0.059 -5.51515 .1076495
-------------+----------------------------------------------------------------
2 |
SYMPTD | 1.121365 .3571979 3.14 0.002 .4212698 1.82146
PB | -.1681062 .0741724 -2.27 0.023 -.3134815 -.022731
HIST | 1.014055 .4538042 2.23 0.025 .1246154 1.903495
BSE | 1.02859 .5139737 2.00 0.045 .0212205 2.035961
_IDETC_2 | -.9021325 .7146177 -1.26 0.207 -2.302758 .4984924
_IDETC_3 | -.6698221 .687579 -0.97 0.330 -2.017452 .6778079
_cons | -.9987682 1.071963 -0.93 0.351 -3.099778 1.102242
------------------------------------------------------------------------------
(ME==0 is the base outcome)
257
Formula (8.20) con combined Wald test
. test [1]_ISYMPT_2,notest
( 1) [1]_ISYMPT_2 = 0
. test [2]_ISYMPT_2,accumulate
( 1) [1]_ISYMPT_2 = 0
( 2) [2]_ISYMPT_2 = 0
chi2( 2) = 0.23
Prob > chi2 = 0.8899
. test [1]_ISYMPT_3-[1]_ISYMPT_4=0,accumulate
( 1) [1]_ISYMPT_2 = 0
( 2) [2]_ISYMPT_2 = 0
( 3) [1]_ISYMPT_3 - [1]_ISYMPT_4 = 0
chi2( 3) = 3.52
Prob > chi2 = 0.3182
. test [2]_ISYMPT_3-[2]_ISYMPT_4=0,accumulate
( 1) [1]_ISYMPT_2 = 0
( 2) [2]_ISYMPT_2 = 0
( 3) [1]_ISYMPT_3 - [1]_ISYMPT_4 = 0
( 4) [2]_ISYMPT_3 - [2]_ISYMPT_4 = 0
chi2( 4) = 3.58
Prob > chi2 = 0.4657
Tab. 8.9
. mlogit ME SYMPTD PB HIST BSE
Tab. 8.10
. generate DETCD=0
. replace DETCD=1 if DETC>2
(289 real changes made)
. mlogit ME SYMPTD PB HIST BSE DETCD
258
. lrtest reduced full
Likelihood-ratio test LR chi2(4) = 8.54
(Assumption: reduced nested in full) Prob > chi2 = 0.0736
Fig. 8.10
. generate PB1=1 if PB==5
. replace PB1=0 if PB~=5
. generate PB2=0
. replace PB2=1 if PB>=6 & PB<=7
. generate PB3=0
. replace PB3=1 if PB>=8 & PB<=9
. generate PB4=0
. replace PB4=1 if PB>=10
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
PB2 | -.1592352 .347093 -0.46 0.646 -.839525 .5210545
PB3 | -.6278501 .3854901 -1.63 0.103 -1.383397 .1276965
PB4 | -1.482975 .4784006 -3.10 0.002 -2.420623 -.5453274
SYMPTD | 2.103485 .4573186 4.60 0.000 1.207157 2.999813
HIST | 1.277215 .4314609 2.96 0.003 .4315669 2.122863
BSE | 1.223305 .5276344 2.32 0.020 .1891601 2.257449
DETCD | .98183 .3570199 2.75 0.006 .2820838 1.681576
_cons | -4.057709 .7751446 -5.23 0.000 -5.576964 -2.538453
-------------+----------------------------------------------------------------
259
------------------------------------------------------------------------------
2 |
PB2 | -.3348183 .3859069 -0.87 0.386 -1.091182 .4215453
PB3 | -.5585917 .4123499 -1.35 0.176 -1.366783 .2495993
PB4 | -.8304334 .4450808 -1.87 0.062 -1.702776 .041909
SYMPTD | 1.13647 .3562388 3.19 0.001 .4382549 1.834685
HIST | 1.038278 .4522576 2.30 0.022 .1518694 1.924687
BSE | .9687301 .5068287 1.91 0.056 -.0246358 1.962096
DETCD | .1462003 .317668 0.46 0.645 -.4764174 .7688181
_cons | -2.596033 .6687733 -3.88 0.000 -3.906805 -1.285262
------------------------------------------------------------------------------
(ME==0 is the base outcome)
. preserve
. clear
. end
. graph twoway scatter elogit1 elogit2 percb, xlabel(5 6.5 8.5 13.5) ylabel(-1.5(.5)0)
connect(l l)
------------------------------------------------------------------------------
ME1 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
IPB__1 | -1.069708 .6605147 -1.62 0.105 -2.364293 .2248771
IPB__2 | -2.440801 4.117267 -0.59 0.553 -10.5105 5.628895
SYMPTD | 2.069104 .4649165 4.45 0.000 1.157885 2.980324
HIST | 1.381447 .4721707 2.93 0.003 .4560098 2.306885
BSE | 1.360527 .5352124 2.54 0.011 .3115302 2.409524
DETCD | .8887329 .3675852 2.42 0.016 .1682791 1.609187
_cons | -4.417351 .7435263 -5.94 0.000 -5.874635 -2.960066
------------------------------------------------------------------------------
Deviance: 321.93. Best powers of PB among 44 models fit: 3 3.
260
Fractional polynomial model comparisons:
---------------------------------------------------------------
PB df Deviance Dev. dif. P (*) Powers
---------------------------------------------------------------
Not in model 0 335.136 13.206 0.010
Linear 1 323.563 1.633 0.652 1
m = 1 2 322.305 0.376 0.829 3
m = 2 4 321.930 -- -- 3 3
---------------------------------------------------------------
(*) P-value from deviance difference comparing reported model with m = 2 model
------------------------------------------------------------------------------
ME2 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
IPB__1 | .0663258 .2336851 0.28 0.777 -.3916885 .5243402
IPB__2 | -.6238649 .6646041 -0.94 0.348 -1.926465 .6787352
SYMPTD | 1.148403 .3569848 3.22 0.001 .4487256 1.84808
HIST | 1.096898 .4599699 2.38 0.017 .1953734 1.998422
BSE | .947525 .5097029 1.86 0.063 -.0514743 1.946524
DETCD | .0967263 .3200257 0.30 0.762 -.5305126 .7239652
_cons | -2.998658 .6074772 -4.94 0.000 -4.189291 -1.808024
------------------------------------------------------------------------------
Deviance: 306.68. Best powers of PB among 44 models fit: -2 3.
Tab 8.11
. logit ME1 SYMPTD PB HIST BSE DETCD
------------------------------------------------------------------------------
ME1 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SYMPTD | 2.091002 .4651287 4.50 0.000 1.179366 3.002638
PB | -.2426146 .073756 -3.29 0.001 -.3871737 -.0980554
HIST | 1.385025 .4682596 2.96 0.003 .4672527 2.302796
BSE | 1.363308 .5338994 2.55 0.011 .3168847 2.409732
DETCD | .852694 .3654564 2.33 0.020 .1364125 1.568975
_cons | -2.765088 .9421802 -2.93 0.003 -4.611727 -.9184483
261
. logit ME2 SYMPTD PB HIST BSE DETCD
------------------------------------------------------------------------------
ME2 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SYMPTD | 1.15299 .3565788 3.23 0.001 .4541082 1.851871
PB | -.1537696 .0726013 -2.12 0.034 -.2960655 -.0114736
HIST | 1.097696 .4593413 2.39 0.017 .1974035 1.997988
BSE | .9534998 .5097419 1.87 0.061 -.0455759 1.952576
DETCD | .0987046 .3190788 0.31 0.757 -.5266785 .7240876
_cons | -1.8381 .860046 -2.14 0.033 -3.52376 -.1524412
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
SYMPTD | 2.09475 .4574302 4.58 0.000 1.198203 2.991297
PB | -.2494746 .072579 -3.44 0.001 -.3917269 -.1072224
HIST | 1.309864 .4336022 3.02 0.003 .4600195 2.159709
BSE | 1.237011 .5254241 2.35 0.019 .207199 2.266824
DETCD | .8851839 .3562379 2.48 0.013 .1869705 1.583397
_cons | -2.623759 .9263964 -2.83 0.005 -4.439462 -.8080551
-------------+----------------------------------------------------------------
2 |
SYMPTD | 1.127417 .3563621 3.16 0.002 .4289603 1.825874
PB | -.1543182 .0726206 -2.12 0.034 -.296652 -.0119845
HIST | 1.063179 .4528412 2.35 0.019 .1756263 1.950731
BSE | .9560104 .5073366 1.88 0.060 -.0383511 1.950372
DETCD | .1141572 .3182122 0.36 0.720 -.5095272 .7378416
_cons | -1.823882 .8550928 -2.13 0.033 -3.499833 -.1479306
------------------------------------------------------------------------------
(ME==0 is the base outcome)
Tab. 8.12
262
. estimates store full
. lrtest reduced full
Likelihood-ratio test LR chi2(2) = 1.02
(Assumption: reduced nested in full) Prob > chi2 = 0.6006
263
Tab. 8.13
Logit M1
. quietly logit ME1 SYMPTD PB HIST BSE DETCD
. predict p
. predict db, db
. predict de, de
. predict dx2, dx2
. predict h,h
. predict dd,dd
. predict r,r
. predict rs,rs
. predict n,n
. list ME1 p db dx2 h dd n if n==63 | n==4
+-----------------------------------------------------------------+
| ME1 p db dx2 h dd n |
|-----------------------------------------------------------------|
12. | 0 .0144747 .5432962 33.5851 .0159192 5.819932 4 |
13. | 1 .0144747 .5432962 33.5851 .0159192 5.819932 4 |
279. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
280. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
281. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
|-----------------------------------------------------------------|
282. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
283. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
284. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
285. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
286. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
|-----------------------------------------------------------------|
287. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
288. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
289. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
290. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
291. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
|-----------------------------------------------------------------|
292. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
293. | 0 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
294. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
295. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
296. | 1 .3448817 1.732725 7.037074 .1975787 6.585556 63 |
+-----------------------------------------------------------------+
+--------------------------------+
| ME1 r rs n |
|--------------------------------|
12. | 0 5.748952 5.795266 4 |
13. | 1 5.748952 5.795266 4 |
279. | 0 2.376278 2.652748 63 |
280. | 0 2.376278 2.652748 63 |
281. | 1 2.376278 2.652748 63 |
|--------------------------------|
282. | 1 2.376278 2.652748 63 |
283. | 0 2.376278 2.652748 63 |
284. | 1 2.376278 2.652748 63 |
264
285. | 1 2.376278 2.652748 63 |
286. | 0 2.376278 2.652748 63 |
|--------------------------------|
287. | 1 2.376278 2.652748 63 |
288. | 1 2.376278 2.652748 63 |
289. | 0 2.376278 2.652748 63 |
290. | 0 2.376278 2.652748 63 |
291. | 1 2.376278 2.652748 63 |
|--------------------------------|
292. | 1 2.376278 2.652748 63 |
293. | 0 2.376278 2.652748 63 |
294. | 1 2.376278 2.652748 63 |
295. | 1 2.376278 2.652748 63 |
296. | 1 2.376278 2.652748 63 |
+--------------------------------+
Logit M2
. drop p db de dx2 h n dd r rs
. quietly logit ME2 SYMPTD PB HIST BSE DETCD
. predict p
. predict db, db
. predict de, de
. predict dx2, dx2
. predict h,h
. predict dd,dd
. predict r,r
. predict rs,rs
. predict n,n
. sort n
. list ME2 p db dx2 h dd n if n==62 | n==63 |n==66
+-----------------------------------------------------------------+
| ME2 p db dx2 h dd n |
|-----------------------------------------------------------------|
262. | 1 .4955399 .9564146 3.818863 .2002846 5.26768 62 |
263. | 1 .4955399 .9564146 3.818863 .2002846 5.26768 62 |
264. | 1 .4955399 .9564146 3.818863 .2002846 5.26768 62 |
265. | 1 .0977211 .2639904 9.490052 .0270647 4.780663 63 |
274. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
|-----------------------------------------------------------------|
275. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
276. | 1 .2367462 .9990091 2.53433 .282738 3.013997 66 |
277. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
278. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
279. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
|-----------------------------------------------------------------|
280. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
281. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
282. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
283. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
284. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
|-----------------------------------------------------------------|
285. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
286. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
287. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
288. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
289. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
|-----------------------------------------------------------------|
265
290. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
291. | 1 .2367462 .9990091 2.53433 .282738 3.013997 66 |
292. | 0 .2367462 .9990091 2.53433 .282738 3.013997 66 |
+-----------------------------------------------------------------+
+---------------------------------+
| ME2 r rs n |
|---------------------------------|
262. | 1 1.747571 1.954191 62 |
263. | 1 1.747571 1.954191 62 |
264. | 1 1.747571 1.954191 62 |
265. | 1 3.038619 3.080593 63 |
274. | 0 -1.34825 -1.591958 66 |
|---------------------------------|
275. | 0 -1.34825 -1.591958 66 |
276. | 1 -1.34825 -1.591958 66 |
277. | 0 -1.34825 -1.591958 66 |
278. | 0 -1.34825 -1.591958 66 |
279. | 0 -1.34825 -1.591958 66 |
|---------------------------------|
280. | 0 -1.34825 -1.591958 66 |
281. | 0 -1.34825 -1.591958 66 |
282. | 0 -1.34825 -1.591958 66 |
283. | 0 -1.34825 -1.591958 66 |
284. | 0 -1.34825 -1.591958 66 |
|---------------------------------|
285. | 0 -1.34825 -1.591958 66 |
286. | 0 -1.34825 -1.591958 66 |
287. | 0 -1.34825 -1.591958 66 |
288. | 0 -1.34825 -1.591958 66 |
289. | 0 -1.34825 -1.591958 66 |
|---------------------------------|
290. | 0 -1.34825 -1.591958 66 |
291. | 1 -1.34825 -1.591958 66 |
292. | 0 -1.34825 -1.591958 66 |
+---------------------------------+
rj = rjs = ∆X = r
2 2
∆βˆ =
m jπˆ j (1 − πˆ j ) 1 − hj 1 − hj
jS
i
266
Risultati nella formula (8.25)
Per un singolo soggetto con y = 0 si ha:
0 − πˆi −0.345 hj 0.198
ri = = = −0.7256 hi = = = 0.011
πˆi (1 − πˆi ) 0.345 (1 − 0.345 ) n 18
i
Tab. 8.14
. quietly logit ME1 SYMPTD PB HIST BSE DETCD
. predict n1,n
. quietly logit ME2 SYMPTD PB HIST BSE DETCD
. predict n2,n
------------------------------------------------------------------------------
ME | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
SYMPTD | 2.124646 .4633131 4.59 0.000 1.216569 3.032723
PB | -.2162733 .0854258 -2.53 0.011 -.3837048 -.0488418
HIST | 1.243508 .4417728 2.81 0.005 .3776495 2.109367
BSE | 1.271312 .531037 2.39 0.017 .2304986 2.312125
DETCD | .883019 .3691392 2.39 0.017 .1595194 1.606519
_cons | -2.891975 1.041649 -2.78 0.005 -4.933569 -.8503814
-------------+----------------------------------------------------------------
2 |
SYMPTD | 1.190628 .3609934 3.30 0.001 .4830943 1.898162
PB | -.0803882 .078619 -1.02 0.307 -.2344787 .0737023
HIST | .6058955 .4952242 1.22 0.221 -.3647261 1.576517
BSE | 1.081212 .5122946 2.11 0.035 .0771333 2.085291
DETCD | .4767587 .3403687 1.40 0.161 -.1903518 1.143869
_cons | -2.663662 .9556489 -2.79 0.005 -4.536699 -.7906244
------------------------------------------------------------------------------
(ME==0 is the base outcome)
Tab. 8.15
267
------------------------------------------------------------------------------
ME | RRR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
SYMPTD | 8.123411 3.715893 4.58 0.000 3.314157 19.91149
PB | .7792101 .0565543 -3.44 0.001 .6758887 .8983259
HIST | 3.705671 1.606787 3.02 0.003 1.584105 8.668614
BSE | 3.445301 1.810244 2.35 0.019 1.230227 9.648703
DETCD | 2.42343 .8633175 2.48 0.013 1.205592 4.871477
-------------+----------------------------------------------------------------
2 |
SYMPTD | 3.087671 1.100329 3.16 0.002 1.53566 6.208219
PB | .8569993 .0622358 -2.12 0.034 .7433027 .9880871
HIST | 2.89556 1.311229 2.35 0.019 1.191993 7.033828
BSE | 2.601298 1.319734 1.88 0.060 .962375 7.031302
DETCD | 1.120928 .3566931 0.36 0.720 .6007795 2.091417
------------------------------------------------------------------------------
(ME==0 is the base outcome)
( 1) - 2 [1]PB = 0
------------------------------------------------------------------------------
ME | RRR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.64699 .2390738 3.44 0.001 1.239174 2.189019
------------------------------------------------------------------------------
( 1) - 2 [2]PB = 0
------------------------------------------------------------------------------
ME | RRR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
(1) | 1.361567 .1977557 2.12 0.034 1.024258 1.809959
------------------------------------------------------------------------------
Tab. 8.17
. tab BWT4 SMOKE
| SMOKE
BWT4 | 0 1 | Total
-----------+----------------------+----------
0 | 35 11 | 46
1 | 29 17 | 46
2 | 22 16 | 38
3 | 29 30 | 59
-----------+----------------------+----------
Total | 115 74 | 189
268
. logistic BWT4 SMOKE if BWT4==0 | BWT4==1
------------------------------------------------------------------------------
BWT4 | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 1.865204 .8603962 1.35 0.177 .7552265 4.606546
------------------------------------------------------------------------------
------------------------------------------------------------------------------
BWT4 | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 2.31405 1.103574 1.76 0.079 .9087269 5.892667
------------------------------------------------------------------------------
Tab. 8.18
. constraint define 1 [2]SMOKE=2*[1]SMOKE
. constraint define 2 [3]SMOKE=3*[1]SMOKE
. mlogit BWT4 SMOKE, constraint(1 2) baseoutcome(0)
( 1) - 2 [1]SMOKE + [2]SMOKE = 0
( 2) - 3 [1]SMOKE + [3]SMOKE = 0
------------------------------------------------------------------------------
BWT4 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 SMOKE | .3695792 .1332141 2.77 0.006 .1084844 .630674
_cons | -.1099797 .2106498 -0.52 0.602 -.5228458 .3028864
-------------+----------------------------------------------------------------
2 SMOKE | .7391584 .2664281 2.77 0.006 .2169689 1.261348
_cons | -.4414182 .2333447 -1.89 0.059 -.8987655 .015929
-------------+----------------------------------------------------------------
3 SMOKE | 1.108738 .3996422 2.77 0.006 .3254533 1.892022
_cons | -.1750312 .2494677 -0.70 0.483 -.6639789 .3139164
------------------------------------------------------------------------------
(BWT4==0 is the base outcome)
269
LR TEST baseline vs constraint model
. quietly mlogit BWT4 SMOKE, baseoutcome(0)
. estimates store baseline
. constraint define 1 [2]SMOKE=2*[1 ]SMOKE
. constraint define 2 [3]SMOKE=3*[1]SMOKE
. quietly mlogit BWT4 SMOKE, constraint(1 2) baseoutcome(0)
. estimates store constraint
. lrtest constraint baseline
Tab. 8.19
. generate bwc1=.
. replace bwc1=1 if BWT4==1
. replace bwc1=0 if BWT4==0
------------------------------------------------------------------------------
bwc1 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | .6233703 .461288 1.35 0.177 -.2807376 1.527478
_cons | -.1880522 .2511059 -0.75 0.454 -.6802108 .3041063
------------------------------------------------------------------------------
. generate bwc2=.
. replace bwc2=1 if BWT4==2
. replace bwc2=0 if BWT4==0 |BWT4==1
------------------------------------------------------------------------------
bwc2 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | .5082248 .399114 1.27 0.203 -.2740243 1.290474
_cons | -1.067841 .247142 -4.32 0.000 -1.55223 -.5834512
------------------------------------------------------------------------------
. generate bwc3=.
. replace bwc3=1 if BWT4==3
. replace bwc3=0 if BWT4==2 |BWT4==1|BWT4==0
. logit bwc3 SMOKE
270
Logistic regression Number of obs = 189
LR chi2(1) = 4.87
Prob > chi2 = 0.0274
Log likelihood = -114.9023 Pseudo R2 = 0.0207
------------------------------------------------------------------------------
bwc3 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | .7040592 .3196386 2.20 0.028 .0775791 1.330539
_cons | -1.087051 .2147299 -5.06 0.000 -1.507914 -.6661886
------------------------------------------------------------------------------
Log-Likelihood =-62.840008+(-77.743614)+(-114.9023)=-255.4859
Siano βˆ1 e βˆ2 due stime di massima verosimiglianza, sotto ipotesi nulla che β1 − β 2 = 0 e che le due
stime siano indipendenti, si ha:
( βˆ − βˆ ) ( βˆ − βˆ ) ( βˆ − βˆ )
2 2 2
βˆ1 − βˆ2 1 2 1 2 1 2
W= ∼ Z →W 2 = = = ∼ χ12
(
se βˆ1 − βˆ2 ) var ( βˆ − βˆ ) var ( βˆ ) − var ( βˆ ) se ( βˆ ) − se ( βˆ )
1 2 1 2 1
2
2
2
Ma piochè:
W12 + W22 + .... + Wn2 ∼ χ n2
Si ha la (8.34)
Tab. 8.20
N.B.: occorre preliminarmente installare il file ocratio.ado
The sign in the continuation-ratio model is reversed from those in the binary regression models so
that the effect parameters are positive if they cause a shift to higher categories (and hence are
qualitatively similar to those from a cumulative probability model). In realtà quindi ocratio fitta un
modello del tipo:
rk ( x ) = θ k − x '⋅ β
Ecco perchè in Tab. 8.20 si riporta il coefficiente determinato da ocratio, ma cambiato di segno.
271
------------------------------------------------------------------------------
bwt4_rec | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | -.6265962 .2192267 -2.86 0.004 -1.056273 -.1969197
------------------------------------------------------------------------------
_cut1 | -1.052336 .1862181 (Ancillary parameters)
_cut2 | -1.113813 .2129495
_cut3 | -.189008 .2204464
------------------------------------------------------------------------------
Tab. 8.21
. ologit BWT4N LWT
Ordered logistic regression Number of obs = 189
LR chi2(1) = 9.01
Prob > chi2 = 0.0027
Log likelihood = -255.14768 Pseudo R2 = 0.0173
------------------------------------------------------------------------------
BWT4N | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | .0127375 .0043168 2.95 0.003 .0042767 .0211982
-------------+----------------------------------------------------------------
/cut1 | .8316033 .5686351 -.282901 1.946108
/cut2 | 1.70695 .5781657 .5737665 2.840134
/cut3 | 2.831112 .602725 1.649793 4.012432
------------------------------------------------------------------------------
Tab. 8.22
. ologit BWT4N SMOKE
Ordered logistic regression Number of obs = 189
LR chi2(1) = 7.96
Prob > chi2 = 0.0048
Log likelihood = -255.6725 Pseudo R2 = 0.0153
------------------------------------------------------------------------------
BWT4N | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | -.7607847 .2718672 -2.80 0.005 -1.293635 -.2279348
-------------+----------------------------------------------------------------
/cut1 | -1.116297 .1984448 -1.505241 -.7273522
/cut2 | -.2476773 .1819248 -.6042433 .1088887
/cut3 | .8667339 .1937335 .4870232 1.246445
------------------------------------------------------------------------------
272
Tab. 8.23
. generate PTD=1
. replace PTD=0 if PTL==0
Tab.8.23b
. generate LWTHT=LWT*HT
. xi:ologit BWT4N AGE LWT i.RACE SMOKE HT UI PTD LWTHT
i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)
273
------------------------------------------------------------------------------
BWT4N | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE | .001885 .0274242 0.07 0.945 -.0518654 .0556355
LWT | .0096885 .0050889 1.90 0.057 -.0002855 .0196625
_IRACE_2 | -1.525058 .4366122 -3.49 0.000 -2.380802 -.6693141
_IRACE_3 | -.8777433 .3365506 -2.61 0.009 -1.53737 -.2181163
SMOKE | -1.067912 .3187399 -3.35 0.001 -1.69263 -.4431929
HT | -5.648412 2.535291 -2.23 0.026 -10.61749 -.6793335
UI | -.9523827 .4049335 -2.35 0.019 -1.746038 -.1587277
PTD | -.7983177 .420871 -1.90 0.058 -1.62321 .0265744
LWTHT | .0291668 .0156173 1.87 0.062 -.0014425 .0597761
-------------+----------------------------------------------------------------
/cut1 | -.9330488 .9051772 -2.707163 .8410659
/cut2 | .0839649 .9059086 -1.691583 1.859513
/cut3 | 1.394533 .9116309 -.3922304 3.181297
------------------------------------------------------------------------------
Tab. 8.24
. generate AGEN=AGE/10
. generate LWTN=LWT/10
. xi:ologit BWT4 AGEN LWTN i.RACE SMOKE HT UI PTD, or
i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)
------------------------------------------------------------------------------
BWT4 | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGEN | .9937625 .2729794 -0.02 0.982 .5800477 1.702557
LWTN | .8790112 .042837 -2.65 0.008 .7989373 .9671106
_IRACE_2 | 4.35314 1.892271 3.38 0.001 1.856918 10.20499
_IRACE_3 | 2.385055 .7977799 2.60 0.009 1.238166 4.594284
SMOKE | 2.685106 .845749 3.14 0.002 1.448277 4.978186
HT | 3.300257 2.020571 1.95 0.051 .9940369 10.95704
UI | 2.491702 1.007859 2.26 0.024 1.127708 5.505481
PTD | 2.27495 .949483 1.97 0.049 1.003946 5.155052
-------------+----------------------------------------------------------------
/cut1 | -1.803489 .8913835 -3.550568 -.0564094
/cut2 | -.5160991 .8816949 -2.244189 1.211991
/cut3 | .4952643 .8798401 -1.229191 2.219719
------------------------------------------------------------------------------
274
Fig. 8.5
set obs 800
mat cod=J(800,2,0)
forvalues i=1/800 {
mat cod[`i',1]=`i'
mat cod[`i',2]=int((cod[`i',1]-1)/4)+1
}
svmat cod
rename cod1 cod
rename cod2 cluster
generate x1=rnormal(0,3)
generate x0=0
generate xb=0
generate exb=0
generate by=0
generate alfa=0
mat resul=J(41,4,0)
local sigma=-0.5
local i=0
forvalues sigmaa=0(0.5)20 {
local i=`i'+1
local sigma=`sigma'+0.5
if `sigma'==0 {
replace x0=0
}
else {
replace x0=rnormal(0,`sigma')
}
replace alfa=x0[clust]
replace xb=alfa+x1
replace exb=1/(1+exp(-xb))
replace by=rbinomial(1,exb)
quietly xtlogit by x1,i(clust) pa
mat a=e(b)
quietly xtlogit by x1,i(clust) re
mat b=e(b)
quietly loneway by clust
mat c=r(rho)
**********************************************************
* matrix resul *
* c1 coefficient re *
* c2 coefficient pa *
* c3 coefficient approximated estimated pa coefficient *
* c4 Intracluster Correlation *
**********************************************************
mat resul[`i',1]=a[1,1]
mat resul[`i',2]=b[1,1]
mat resul[`i',4]=c[1,1]
mat resul[`i',3]=b[1,1]*(1-c[1,1])
}
matlist resul
svmat resul
twoway (connected resul1 resul4, sort) (connected resul2 resul4, sort) (connected resul3
resul4, sort)
clear
275
Tab. 8.25
. list if ID==1 |ID==2 |ID==43
+--------------------------------------------------+
| ID OBS SMOKE RACE AGE LWT BWT LOW |
|--------------------------------------------------|
1. | 1 1 1 3 28 120 2865 0 |
2. | 1 2 1 3 33 141 2609 0 |
3. | 2 1 0 1 29 130 2613 0 |
4. | 2 2 0 1 34 151 3125 0 |
5. | 2 3 0 1 37 144 2481 1 |
|--------------------------------------------------|
109. | 43 1 1 2 24 105 2679 0 |
110. | 43 2 1 2 30 131 2240 1 |
111. | 43 3 1 2 35 121 2172 1 |
112. | 43 4 1 2 41 141 1853 1 |
+--------------------------------------------------+
Tab. 8.26
. xtlogit LOW AGE LWT SMOKE , i(ID) pa robust
Tab. 8.27
. xtlogit LOW AGE LWT SMOKE, i(ID) re
276
tau = 0.0 log likelihood = -288.76218
tau = 0.1 log likelihood = -283.8448
tau = 0.2 log likelihood = -278.75435
tau = 0.3 log likelihood = -273.49059
tau = 0.4 log likelihood = -268.05351
tau = 0.5 log likelihood = -262.44808
tau = 0.6 log likelihood = -256.69965
tau = 0.7 log likelihood = -250.90472
tau = 0.8 log likelihood = -245.44398
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE | .1475209 .0504714 2.92 0.003 .0485987 .246443
LWT | -.0223008 .010549 -2.11 0.035 -.0429764 -.0016251
SMOKE | 1.869386 .7177699 2.60 0.009 .462583 3.276189
_cons | -3.663891 1.522575 -2.41 0.016 -6.648084 -.6796994
-------------+----------------------------------------------------------------
/lnsig2u | 2.718459 .3119935 2.106963 3.329955
-------------+----------------------------------------------------------------
sigma_u | 3.893193 .6073255 2.867618 5.285556
rho | .8216566 .0457186 .71425 .8946466
------------------------------------------------------------------------------
Likelihood-ratio test of rho=0: chibar2(01) = 111.20 Prob >= chibar2 = 0.000
277
Risultato Formula (8.50)
. loneway LOW ID
One-way Analysis of Variance for LOW:
Intraclass Asy.
correlation S.E. [95% Conf. Interval]
------------------------------------------------
0.60648 0.03975 0.52856 0.68439
Tab. 8.29
. gen AGE5 = AGE/5
. gen LWT10 = LWT/10
. xtlogit LOW AGE5 LWT10 SMOKE, i( ID) re or
------------------------------------------------------------------------------
LOW | OR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE5 | 2.09092 .5276587 2.92 0.003 1.27506 3.428816
LWT10 | .8001088 .0844034 -2.11 0.035 .6506626 .9838801
SMOKE | 6.484314 4.654245 2.60 0.009 1.588171 26.47469
278
-------------+----------------------------------------------------------------
/lnsig2u | 2.718459 .3119935 2.106963 3.329955
-------------+----------------------------------------------------------------
sigma_u | 3.893193 .6073255 2.867618 5.285556
rho | .8216566 .0457186 .71425 .8946466
------------------------------------------------------------------------------
Likelihood-ratio test of rho=0: chibar2(01) = 111.20 Prob >= chibar2 = 0.000
Tab. 8.30
tsset ID OBS
panel variable: ID (unbalanced)
time variable: OBS, 1 to 4
delta: 1 unit
. gen prewlow = l.LOW
xi: logit LOW AGE LWT i.SMOKE prewlow
i.SMOKE _ISMOKE_0-1 (naturally coded; _ISMOKE_0 omitted)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE | .0801916 .0337502 2.38 0.017 .0140425 .1463408
LWT | -.0166757 .0065635 -2.54 0.011 -.02954 -.0038113
_ISMOKE_1 | 1.687073 .3612794 4.67 0.000 .9789783 2.395167
prewlow | 3.414563 .3892281 8.77 0.000 2.651689 4.177436
_cons | -2.490903 1.259569 -1.98 0.048 -4.959614 -.0221929
------------------------------------------------------------------------------
279
Tab. 8.31
. generate prewow2=L2.LOW
. generate prewlow3=L3.LOW
. generate prewlow4=L4.LOW
. egen everlow=rowmax( prewlow prevlow2 prevlow3 prevlow4)
. xi: logit LOW AGE LWT i.SMOKE everlow
i.SMOKE _ISMOKE_0-1 (naturally coded; _ISMOKE_0 omitted)
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE | .0740821 .0349632 2.12 0.034 .0055555 .1426087
LWT | -.0203524 .0071223 -2.86 0.004 -.0343118 -.0063929
_ISMOKE_1 | 1.78388 .3804927 4.69 0.000 1.038128 2.529632
everlow | 3.654518 .4062973 8.99 0.000 2.85819 4.450846
_cons | -2.010754 1.30102 -1.55 0.122 -4.560706 .5391975
------------------------------------------------------------------------------
Tab. 8.32
. use "C:\docb\Scuola\2010\logistic\chapter8_2.dta"
| PTL
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 19 4 | 23
1 | 2 2 | 4
-----------+----------------------+----------
Total | 21 6 | 27
Tab. 8.33
. quietly:exlogistic LOW PTL if AGE >=30, saving(dist1)
. use dist1, clear
. egen sum1=total(_f_)
. generate p = _f_/ sum1
. list PTL _f_ p, noobs sum(_f_ p)
+------------------------+
| PTL _f_ p |
|------------------------|
| 0 5985 .3410257 |
| 1 7980 .4547009 |
| 2 3150 .1794872 |
| 3 420 .0239316 |
| 4 15 .0008547 |
|------------------------|
Sum | 17550 1 |
+------------------------+
Tab. 8.34
280
. logit LOW PTL if AGE>=30
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
PTL | 1.558145 1.141323 1.37 0.172 -.6788077 3.795097
_cons | -2.251292 .7433911 -3.03 0.002 -3.708312 -.7942721
------------------------------------------------------------------------------
x = -1.383217237
x = 4.369589947
Tab. 8.35
. tabulate LOW SMOKE if AGE >=30
| SMOKE
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 17 6 | 23
1 | 0 4 | 4
-----------+----------------------+----------
Total | 17 10 | 27
281
Tab. 8.36
. quietly: exlogistic LOW SMOKE if AGE >=30, saving(dist11)
. use dist11,clear
. egen sum1=total(_f_)
. generate p = _f_/ sum1
. list SMOKE _f_ p, noobs sum(_f_ p)
+--------------------------+
| SMOKE _f_ p |
|--------------------------|
| 0 2380 .1356125 |
| 1 6800 .3874644 |
| 2 6120 .348718 |
| 3 2040 .1162393 |
| 4 210 .0119658 |
|--------------------------|
Sum | 17550 1 |
+--------------------------+
Tab. 8.37
Realizzata con LogXact 9.
282
Tab. 8.38
. use "C:\docb\Scuola\2010\logistic\chapter4_2.dta", clear
. tabulate dfree treat
| treat
dfree | 0 1 | Total
-----------+----------------------+----------
0 | 227 201 | 428
1 | 62 85 | 147
-----------+----------------------+----------
Total | 289 286 | 575
use "C:\docb\Scuola\2010\logistic\chapter4_2.dta"
. summ age
. generate ages=(age-32.4)/6.2
. logit dfree ages
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
ages | .1126681 .0951329 1.18 0.236 -.0737889 .2991252
_cons | -1.071444 .0958413 -11.18 0.000 -1.25929 -.883599
------------------------------------------------------------------------------
Tab. 8.39
use "C:\docb\Scuola\2010\logistic\chapter4_2.dta"
. generate ages=(age-32.4)/6.2
. generate ndrugxs=(ndrugtx-5)/5
. xi: logit dfree ages ndrugxs i.ivhx race treat
------------------------------------------------------------------------------
dfree | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
ages | .3159551 .1073159 2.94 0.003 .1056197 .5262905
ndrugxs | -.3159992 .1282624 -2.46 0.014 -.5673889 -.0646094
_Iivhx_2 | -.5928725 .2864333 -2.07 0.038 -1.154272 -.0314735
_Iivhx_3 | -.7600441 .2489941 -3.05 0.002 -1.248064 -.2720245
race | .2081089 .221453 0.94 0.347 -.2259309 .6421488
treat | .438959 .1991429 2.20 0.028 .0486461 .829272
_cons | -1.020665 .2106909 -4.84 0.000 -1.433612 -.6077185
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ages | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
ndrugxs | .0949585 .0371603 2.56 0.011 .0219704 .1679465
_Iivhx_2 | .6546031 .1100135 5.95 0.000 .4385209 .8706852
_Iivhx_3 | .7270396 .0919827 7.90 0.000 .5463724 .9077067
race | .2212688 .0912133 2.43 0.016 .042113 .4004246
treat | -.0803453 .0776896 -1.03 0.301 -.2329386 .072248
_cons | -.4412968 .0815471 -5.41 0.000 -.6014668 -.2811268
------------------------------------------------------------------------------
. predict treat1
(option pr assumed; Pr(treat))
| treat1 treat
-------------+------------------
treat1 | 1.0000
treat | 0.1123 1.0000
ρ 2 = 0.11232 = 0.0126
284
Bibliografia
1
Wilks, S. S. (1938). "The Large-Sample Distribution of the Likelihood Ratio for Testing Composite
Hypotheses". The Annals of Mathematical Statistics, 9, 60–62.
2
Hauck, W.W., Donner, A. (1977). Wald’s test as applied to hypotheses in logit analysis.
Journal of the American Statistical Association, 82, 1110-1117
3
Szilard Nemes, Junmei Miao Jonasson, Anna Genell and Gunnar Steineck (2009) Bias in odds ratios by
logistic regression modelling and sample size. BMC Medical Research Methodology , 9,56
4
Mikey,J., and Greenland,S. (1989) A study of impact of confounder-selection criteria on effect estimation.
American Journal of Epidemiology, 129,125-137
5
Greenland, S. (1989) Modelling variable selection in epidemiologic analysis. American Journal of Public
Health, 79, 340-349
6
Royston, P., Altman, D.G. (1994) Regression using fractional polynomials of continuous covariates:
Parsimonious parametric modelling (with discussion). Applied Statistics, 43, 429-467
7
Robertson,C., Boyle,P., Hsieh, C., Macfarlane, G., Maisonneuve, P. (1994) Some Statistical Considerations in
the Analysis of Case-Control Studies When the Exposure Variables Are Continuous Measurements.
Epidemiology, 51, 164-170
8
Hosmer, D.W.,and Lemeshow,S.A (1980) goodness-of-fit test for the multiple logistic regression model.
Communication in Statistics, A10,1043-1069
9
Mittlböck,M., and Schemper M. (1996) Explained variation for logistic regression.
Statistics in Medicine,15,1987-1997
10
Pregibon, D. (1981) Logistic regression diagnostics. Annals of Statistics, 9, 705-724
11
Cook, R.D.(1979) Influential observations in linear regression.
Journal of the American Statistical Association, 74, 169-174
12
Zhang J, Yu KF. (1998) What’s relative risk? A Method of Correcting the Odds Ratio in Cohort Studies of
Common Outcomes. JAMA, 280, 1960-1:
13
McNutt LA, Wu C, Xue X, Hafner JP. Estimating the Relative Risk in Cohort Studies and Clinical Trials of
Common Outcomes. Am J Epidemiol, 157, 940-943
14
Sander Greenland (2004) Model-based Estimation of Relative Risks and Other Epidemiologic Measures in
Studies of Common Outcomes and in Case-Control Studies
American Journal of Epidemiology;160,301-305
15
Cook TD. (2002) Up with odds ratios! A case for odds ratios when outcomes are common.
Acad Emerg Med, 9,1430-4
16
Zou G. (2004) A Modified Poisson Regression Approach to Prospective Studies with Binary Data.
Am J Epidemiol, 159(7),702-6.
17
Prentice RL, Pike R (1979) Logistic disease incidence models and case-control studies.
Biometrika, 66, 403-411
285
18
Fears TR, Brown CC (1986) Logistic regression methods for retrospective case-control studies using complex
sampling procedures. Biometrics,42,955-966
19
Breslow NE, Zaho LP(1988) Logistic regression for stratified case-control studies. Biometrics,44,891-899
20
Robert G, Rao JNK, Kumar S. (1987) Logistic regression analysis of sample survey data. Biometrika,74,1-12
21
Bresolw NE, Day NE. (1980) Statistical Methods in Cancer Research. Vol.1: The analysis of case-control
studies. IARC, Lyon,France
22
Lynn H.S., McCulloch C.E. (1992) When does it pay to break the matches for an analysis of a matched-pairs
design. Biometrics,48,397-409
23
Moolgavkar S, Lustbader E and Venzon DJ (1985) Assessing the adeguacy of the logistic regression model for
matched case-control studies. Statistics in Medicine, 4,425-435
24
Begg CB, Gray R (1984) Calculation of polychotomous logistic regression parameters using individualized
regressions. Biometrika,71,11-18
25
Neuhaus JM,Kalbfleish JD and Hauck WW (1991). A comparison of cluster-specific and population-average
approaches for analyzing correlated binary data. International Statistical Review, 59,599-516
26
Mehta CR, Patel NR (1995) Exact logistic regression: Theory and examples.
Statistics in Medicine, 14, 2143-2160
27
Hirji KF, Tsiatis AA, Metha CR (1989)Median unbiased estimation for binary data.
The American Statistician 43, 7-11.
28
Whitemore AS (1981) Sample size for logistic regression with small response probability.
Journal of the American Statistical Association, 76, 27-32
29
Hseih FY (1989) Sample size tables for logistic regression. Statistic in Medicine, 8, 795-802
30
Peduzzi PN et al. (1996) A simulation study of the number of events per variable in logistic regression
analysis. Journal of Clinical Epidemiology, 99, 1373-1379.
286