Sei sulla pagina 1di 287

Silvano Andorno

APPLIED LOGISTIC REGRESSION

A practical approach using Stata


30
20
H-L dX^2
10
0

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.

1.2. Necessità del modello logistico


Può sorgere a questo punto spontanea una domanda: perché quando la variabile dipendente è di
tipo dicotomico non possiamo utilizzare il modello di regressione lineare?
Nel modello lineare la media dei valori di yi per ogni valore della X (attesa condizionata di Y) risulta
determinata da:
E (Y | x ) = β 0 + β1 x (1.2)
In questo caso E(Y|x) potenzialmente varia tra meno infinito e più infinito a secondo dei valori
raggiunti da x. E' evidente che, nel caso di una variabile dicotomica, il modello non è adeguatoa.
Possiamo tentare di superare questo intoppo adottando un modello parzialmente modificato:
π ( x ) = E (Y | x ) = P (Y = 1| x ) = exp ( β0 + β1 x ) (1.3)

a
Nel caso di una variabile dicotomica la media condizionata deve essere compresa tra zero e
uno 0≤E(Yx)≤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 )

Per semplificare ulteriormente la modellazione introduciamo l’ODDS, definito come segue:


π ( x)
odds = = exp ( β 0 + β1 x ) (1.5)
1− π ( x)

Passando ai logaritmi si ottiene infine un modello lineare:

 π ( 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.

1.3. Stima di massima verosimiglianza


Si estragga un campione da una popolazione avente funzione di densità di probabilità π(x;β) in cui β è
un qualunque vettore dei parametri della popolazione che occorre stimare. La densità di probabilità
congiunta dell'intero campionea si ottiene mediante moltiplicazione:
n
π ( x1 , x2 ...xn ; β ) = π ( x1 ; β ) π ( x2 ; β ) ...π ( xn ; β ) = ∏ π ( xi ; β )
i =1

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

Per massimizzare la (1.9) dovremo annullarne le derivate parziali rispetto a β0 e β1 ottenendo le


seguenti equazioni :

 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

Le stime di massima verosimiglianza di β0 e β1 sono:


βˆ = −5.309 βˆ = 0.111
0 1

I valori fittati sono dati dall’equazione:


exp ( −5.309 + 0.111 ⋅ AGE )
πˆ ( x ) = (1.12)
1 + exp ( −5.309 + 0.111 ⋅ AGE )
e la stima del logit, ĝ ( x ) , è dato dalla seguente equazione:

gˆ ( x ) = −5.309 + 0.111 ⋅ AGE (1.13)

Il valore del Log likelihood fornito dalla Tab. 1.3, è ottenuto dalla (1.9) calcolata usando i valori di

βˆ0 e βˆ1 .

1.4. Valutazione della SIGNIFICATIVITA' dei coefficienti


1.4.1.Metodo della massima verosimiglianza
La valutazione della significatività dei coefficienti si conduce sfruttando le funzioni di massima
verosimiglianza calcolate in corrispondenza del modello completo e di quello ridottoa.
A titolo di esempio, si supponga di voler valutare se da un modello completo con 5 (p) covariate si

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 )

Si procede nel seguente modo:

1) si calcola la funzione di massima verosimiglianza in corrispondenza del modello completo l(β0);


2) si calcola la funzione di massima verosimiglianza in corrispondenza del modello ridotto l(βr);
3) si calcola la funzione G così definita:

 ℓ ( 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:

G = −2  log ( ℓ ( reduced model ) ) − log ( ℓ ( completed ) ) 


log ( ℓ ( completed ) ) = −53.676546 
 → G = 29.31 (1.17)
log ( ℓ ( reduced ) ) = −68.331491 

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à.

G = 29.31 > 3.84 = χ 2 (0.05;1df )

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)

1.4.2 Wald test


Oltre che con il test del rapporto delle verosimoglianze (LikelihoodRatioTest), le significatività dei
coefficienti del modello possono essere valutate tramite il cosiddetto Wald testa2.
Questo test è ottenuto rapportando la stima di massima verosimiglianza del parametro con il suo
errore standard stimato:
βˆi
Wi = (1.19)
se βˆ ( )
i

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:

≅ 4.61 → p ( z > 4.61) = 2 ⋅ 10−6


.1109211
W= (1.20)
.0240598

Si noti che:
4.612 = 21.25 ≅ G = 29.31

1.5 Intervalli di confidenza delle stime


Intervalli di confidenza dei parametri
Gli intervalli di confidenza dei parametri del modello si determinano sulla base dei loro
corrispondenti Wald test. Con riferimento ad un modello con una sola covariata
rappresentato dalla (1.6), gli intervalli di confidenza dei parametri (pendenza e intercetta),
tenuta presente la (1.19), valgono rispettivamente:

( )
βˆ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

Il logit in corrispondenza di un’età di 44.38 anni (AGEC = 0) vale:


gˆ ( x = 44.38 ) = −0.38677
a cui corrisponde una probabilità di evento coronarico pari a:
exp ( −0.38677 )
π ( x = 44.38) = = 0.4045
1 + exp ( −0.38677 )

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

La varianza stimata risulta:

var  gˆ ( x = 50 )  = 1.28517 + 502 ⋅ 0.000579 + 2 ⋅ 50 ⋅ ( −0.026677 ) = 0.0650

A cui corrisponde uno standard error pari a:

se  gˆ ( x = 50 )  = 0.2549

I limiti dell’intervallo di confidenza, al 95%, valgono pertanto:

CI 95% = 0.240 ± 1.96 ⋅ 0.2550 = {−0.260;0.740}

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 |
+------------------------+

. graph twoway scatter chd age, xlabel(20(10)70) ylabel(0(.2)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

. list agrp count absent present prop

+--------------------------------------------+
| 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

. graph twoway scatter prop agrp, ylabel(0(.2)1) xlabel(1(1)8)

13
Tab. 1.3
. use "C:\docb\Scuola\2010\logistic\chapter1.dta", clear
. logistic chd age, coef

Logistic regression Number of obs = 100


LR chi2(1) = 29.31
Prob > chi2 = 0.0000
Log likelihood = -53.676546 Pseudo R2 = 0.2145

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

. logit chd age

Iteration 0: log likelihood = -68.331491


Iteration 1: log likelihood = -54.170558
Iteration 2: log likelihood = -53.681645
Iteration 3: log likelihood = -53.676547
Iteration 4: log likelihood = -53.676546

Logistic regression Number of obs = 100


LR chi2(1) = 29.31
Prob > chi2 = 0.0000
Log likelihood = -53.676546 Pseudo R2 = 0.2145

------------------------------------------------------------------------------
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

Iteration 0: log likelihood = -68.331491


Iteration 1: log likelihood = -54.170558
Iteration 2: log likelihood = -53.681645
Iteration 3: log likelihood = -53.676547
Iteration 4: log likelihood = -53.676546

Logistic regression Number of obs = 100


LR chi2(1) = 29.31
Prob > chi2 = 0.0000
Log likelihood = -53.676546 Pseudo R2 = 0.2145

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

Oppure con il comando lrtest


. quietly logistic chd age.
. lrtest, saving(0)
. quietly logistic chd
. lrtest

14
Formula (1.18)
. tabulate chd

chd | Freq. Percent Cum.


------------+-----------------------------------
0 | 57 57.00 57.00
1 | 43 43.00 100.00
------------+-----------------------------------
Total | 100 100.00

Formula (1.20)

≅ 4.61 → p ( z > 4.61) = 2 ⋅ 10−6


.1109211
W=
.0240598

Si noti che:

4.612 = 21.25 ≅ G = 29.31

Il Wald test, analogamente all’LRT, può essere eseguito direttamente da STATA.

. quietly logit chd age


. testparm age
( 1) age = 0
chi2( 1) = 21.25
Prob > chi2 = 0.0000

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

Oppure sfruttando il comando estat


. estat vce
Covariance matrix of coefficients of logit model

e(V) | 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

Parameters Confidence Intervals


------------------------------------------------------------
intercept = -5.3094534 C.I.-7.5314164 ; -3.0874903
------------------------------------------------------------
slope = .11092114 C.I..06376386 ; .15807842
------------------------------------------------------------

Fitted values Confidence Intervals


------------------------------------------------------------
Fitted value = .55887652 C.I..43492323 ; .67590143
------------------------------------------------------------

Fig. 1.3 e Fig. 1.4

Calcoliamo i valori predetti della probabilità e del logit, con i rispettivi intervalli di confidenza,
sfruttando la funzione predict.

File.do

logistic chd age


drop probability logit se lsp lip lsl lil
predict probability, pr
predict logit, xb
predict se, stdp
generate lsp=exp(logit+1.96*se)/(1+exp(logit+1.96*se))
generate lip=exp(logit-1.96*se)/(1+exp(logit-1.96*se))
generate lsl=logit+1.96*se
generate lil=logit-1.96*se
twoway (connected probability age) (line lsp age) (line lip age)
twoway (connected logit age) (line lsl age) (line lil age)

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.

2.2. Il Modello Logistico Multiplo


Sia x un vettore costituito dalle p variabili indipendenti, la probabilità condizionata del “successo”,
con la notazione consueta, è definita da:

P (Y = 1| x ) = π ( x ) (2.1)

Il logit associato al modello multivariato è:

g ( x ) = β 0 + β1 x1 + β 2 x2 + ... + β p x p (2.2)

Pertanto la probabilità condizionata è modellata come segue:

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

2.3. Stima del Modello Logistico multiplo


2.3.1 Stima dei coefficienti
Assumiamo di avere un campione di n osservazioni indipendenti (xi,yi). Come nel caso univariato, la
( )
definizione del modello richiede di stimare le componenti del vettore β ' = β 0 , β1 ,...β p . Tale stima
sarà condotta con il consueto metodo della massima verosimiglianza.
La funzione di verosimiglianza è quasi identica a quella definita dalla (1.8). Tuttavia occorre tenere
presente che, nel modello logistico multiplo, la probabilità condizionata π(x) è ora espressa dalla (2.3)
Ci troveremo pertanto, in generale, di fronte a p+1 equazioni di verosimiglianza ottenute
differenziando le funzioni di log-verosimiglianza rispetto ai p+1 coefficienti. Le funzioni di
verosimiglianza possono essere espresse come segue:

∑  y − π ( x ) = 0
i =1
i i

n
(2.5)
∑x ij  yi − π ( xi )  = 0 j = 1, 2,... p
i =1

Poniamo che β̂ sia il vettore delle soluzioni delle (2.5).


I valori predetti dal modello πˆ ( xi ) si ottengono dalla (2.3) utilizzando β̂ e x i .

2.3.2. Stima delle varianze/covarianze dei coefficienti


Le varianze e le covarianze dei coefficienti si ottengono dalla matrice delle derivate parziali seconde
della funzione di log-verosimiglianza.

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)
 

Sia L ( β ) una generica funzione di verosimiglianza, la matrice I ( β ) , con elementi


a
I ij , si definisce
matrice di informazione osservata:
∂2 L (β )
I ij = −
∂β i ∂β j
β = βˆ

Si definisce invece matrice di informazione attesa o informazione di Fisher, ()


la matrice I βˆ con elemento

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

Passando alle rispettive stime si ha:

( ) ( ( )) ( ) ( ( ))
−1 −1
var O βˆ = Iˆ βˆ var E βˆ = I βˆ
21
La stima della matrice di informazione, relativa ai coefficienti stimati, vale:

()
Iˆ βˆ = X'VX

1 x11 x12 . x1 p  πˆ1 (1 − πˆ1 ) 0 . 0 


1 x  
x22 . x2 p  0 πˆ 2 (1 − πˆ 2 ) . 0 (2.9)
X= V= 
21
. . . . .   . . . . 
   
1 xn1 xn 2 . xnp   0 0 . πˆ n (1 − πˆ n ) 

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

La stima del logit è pari a:


gˆ ( x ) = 1.295 − 0.024 ⋅ age − 0.014 ⋅ lwt + 1.004 ⋅ _ Irace _ 2 + 0.433 ⋅ _ Irace _ 3 − 0.049 ⋅ ftv

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.

2.4.1. LRT test (Likelihood ratio test)


Il LRT si basa sulla statistica G definita dalla (1.14). Il modello completo comprenderà tutti i
parametri, il modello ridotto solo l’intercetta. Sotto l’ipotesi nulla che tutti i parametri, esclusa
l’intercetta, siano contemporaneamente nulli, la statistica G si distribuisce secondo una chi-quadro
con p gradi di libertà.a
Con riferimento al modello a cui alla Tab.2.2, la statistica G assume il seguente valore:

G = −2  L ( ModelIntercetta ) − L ( ModelCOMPLETO )  = −2 ( −117.336 ) − ( −111.286 )  = 12.099

In questo caso l’ipotesi nulla viene rifiutata: almeno uno dei coefficienti, intercetta esclusa, è diverso
da zero. Infatti:

P  χ 52gl > 12.099  = 0.034 < 0.05

2.4.2 Wald Test Univariato


Il Wald test effettua un test univariato per valutare l’ipotesi nulla che un singolo coefficiente sia
nullo. Il risultato del test viene generalmente tabulato da ogni software.
Il test valuta la statistica W calcolata per ogni singolo coefficiente:

( )
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.

2.4.3. Wald Test Multivariato


Il Wald test multivariato si ottiene valutando la statistica W definita dalla seguente espressione
matriciale:

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:

W = ( R ⋅ b '− r ) ' ( RVR ' ) ( R ⋅ b '− r )


−1
(2.12)
W ∼χ 2
q

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).

2.4.4. Ottimizzazione del Modello


Il nostro scopo è ovviamente quello di ottenere un modello che spieghi convenientemente un
fenomeno con l’utilizzo del minor numero possibile di parametri. Con riferimento al modello di cui
alla Tab.2.2, tramite il Wald Test, abbiamo visto che le variabili age e ftv non risultano significative.
Possiamo pertanto ora valutare se effettivamente un modello che escluda tali parametri sia
informativo, dal punto di vista statistico, quanto il modello completoa.
Il fitting di tale modello ridotto è riportato in Tab. 2.4.

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

G = −2  L ( Modelsenza age ftv ) − L ( ModelCompleto )  = −2 ( −111.630 ) − (111.286 )  = 0.688

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.

Particolare attenzione va posta nell’eventuale esclusione di una variabile categorica.


Dalla Tab. 2.4 vediamo che il Wald test dà come significativo solamente il coefficiente relativo alla
dummy _IRACE_2, mentre risulta non significativo il coefficiente relativo alla dummy _IRACE_3.
Come già spiegato in precedenza, a meno di ricategorizzare la variabile sottostante, le dummy
devono essere inserite o escluse dal modello solamente in toto.
La variabile categorica RACE potrà essere esclusa o inserita solamente sulla base di un LR test
comparando il modello di Tab. 2.4 con quello presentato in Tab. 2.5.

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

 (114.345 ) − (111.630 )  = 5.43 → P  χ 2 gl > 5.43 = 0.066


G = −2 − 2

Poiché i due modelli non sono significativamente diversi la variabile RACE potrebbe, su questa base,
essere esclusa.

2.5. Intervalli di Confidenza delle Stime


2.5.1. Intervalli di Confidenza dei coefficienti
La determinazione degli intervalli di confidenza delle stime dei coefficienti del modello logistico
multivariato è sostanzialmente identica a quando visto a proposito del modello logisto univariato.
Con riferimento alla Tab. 2.2 l’intervallo di confidenza del coefficiente associato alla variabile age vale
ad esempio:

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 )

2.5.2. Intervallo di Confidenza del Logit


L’espressione per lo stimatore del Logit associato ad un modello multivariato contenente p covariate
è:
gˆ ( x ) = βˆ + βˆ x + βˆ x + ... + βˆ x = x'βˆ
0 1 1 2 2 p p (2.13)
dove:
(
β' = βˆ0 , βˆ1 , βˆ2 ...βˆ p ) x' = ( x0 , x1 , x2 ,..., x p ) = (1, x1 , x2 ,..., x p )
Dalla (2.13) si ottiene:

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)

La probabilità logistica stimata vale:

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

La varianza stimata del logit risulta:


( ) ( )
Var  gˆ ( LWT = 150, RACE = White )  = Var βˆ0 + 1502 Var βˆ1 + 02 Var βˆ2 + 02 Var βˆ3 ( ) ( )
+2 ⋅ 150 ⋅ Cov ( βˆ , βˆ ) + 2 ⋅ 0 ⋅ Cov ( βˆ , βˆ ) + 2 ⋅ 0 ⋅ Cov ( βˆ , βˆ ) + 2 ⋅ 150 ⋅ 0 ⋅ Cov ( βˆ , βˆ )
0 1 0 2 0 3 1 2 (2.18)

+2 ⋅ 150 ⋅ 0 ⋅ Cov ( βˆ , βˆ ) + 2 ⋅ 0 ⋅ 0 ⋅ Cov ( βˆ , βˆ ) = 0.0768


1 3 2 3

E il corrispondente standard error vale:

se  gˆ ( LWT = 150, RACE = White )  = 0.0768 = 0.2771

L’intervallo di confidenza, al 95%, della stima del logit vale quindi:


CI 95% = −1.444 ± 1.96 ⋅ 0.2771 = {−1.988; − 0.901}

E l’intervallo di confidenza, al 95%, del valore fittato vale:


 exp ( −1.988 ) exp ( −0.901) 
 ;  = {0.120; 0.289}
1 + exp ( −1.988 ) 1 + exp ( −0.901) 

27
Applicazione Capitolo 2

Tab. 2.2
. use "E:\logistic\chapter2.dta", clear

. xi:logit low age lwt i.race ftv


i.race _Irace_1-3 (naturally coded; _Irace_1 omitted)

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -111.41656
Iteration 2: log likelihood = -111.28677
Iteration 3: log likelihood = -111.28645

Logistic regression Number of obs = 189


LR chi2(5) = 12.10
Prob > chi2 = 0.0335
Log likelihood = -111.28645 Pseudo R2 = 0.0516

------------------------------------------------------------------------------
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

. use "E:\logistic\chapter2.dta", clear


. xi:logit low lwt i.race
i.race _Irace_1-3 (naturally coded; _Irace_1 omitted)

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -111.7491
Iteration 2: log likelihood = -111.62983
Iteration 3: log likelihood = -111.62955

Logistic regression Number of obs = 189


LR chi2(3) = 11.41
Prob > chi2 = 0.0097
Log likelihood = -111.62955 Pseudo R2 = 0.0486

------------------------------------------------------------------------------
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

. use "E:\logistic\chapter2.dta", clear


. xi:logit low lwt

Logistic regression Number of obs = 189


LR chi2(1) = 5.98
Prob > chi2 = 0.0145
Log likelihood = -114.34533 Pseudo R2 = 0.0255

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

Applicazione formule (2.11) e (2.12) “lrtest” “test”

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

. display " p = "chi2tail(5,W[1,1])


p = .05773588

lrtest Modello completo vs Modello con sola Intercetta


. use "E:\logistic\chapter2.dta", clear
. quietly xi: logit low age lwt i.race ftv
. estimates store full
. quietly xi: logit low
. estimates store reduced
. lrtest full reduced

Likelihood-ratio test LR chi2(5) = 12.10


(Assumption: reduced nested in full) Prob > chi2 = 0.0335

test Modello completo vs Modello con sola Intercetta (Wald test)


. use "E:\logistic\chapter2.dta", clear
. quietly xi: logit low age lwt i.race ftv
. testparm age lwt _Irace_2 _Irace_3 ftv

( 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

Covariance matrix of coefficients of logit model

e(V) | lwt _Irace_2 _Irace_3 _cons


-------------+------------------------------------------------
lwt | .00004146
_Irace_2 | -.00064703 .23819397
_Irace_3 | .00035585 .05320001 .12721584
_cons | -.00521365 .02260223 -.1034968 .71429959

Memorizzazione della matrice di covarianza


. use "E:\logistic\chapter2.dta", clear
. quietly xi: logit low lwt i.race
. mat V=e(V)
. mat list V

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

Costruzione, via matriciale,della matrice di covarianza

. use "E:\logistic\chapter2.dta", clear


. quietly xi: logit low lwt i.race
* Costruzione matrice X
. generate const=1
. mkmat age lwt _Irace_2 _Irace_3 ftv const,mat(X)
* Costruzione matrice V
. predict pr
. generate vel=pr*(1-pr)
. mkmat vel,mat(D)
. mat V=diag(D)
. mat vc=inv(X'*V*X)
. mat list vc

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)

Intervallo di confidenza del logit

. use "E:\logistic\chapter2.dta", clear


. quietly xi: logit low lwt i.race
. mat Var=e(V)
. mat b=e(b)
. mat x=150,0,0,1
. mat g=x*b'
. mat list g
symmetric g[1,1]
y1
r1 -1.4777119

. mat varg=x*Var*x'

. mat list varg


symmetric varg[1,1]
r1
r1 .08316359

. 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.

3.2 Variabile indipendente dicotomica


Consideriamo un modello logistico semplice:
g ( x ) = β0 + β1 x
in cui x sia una variabile dicotomica codificata 0/1.
Ricordata la (1.5) i valori associati a questo modello logistico possono essere raggruppati come nella
tabella sotto riportata:
Tab. 3.1
Indipendent variable (X)
Otucome (Y)
x=1 x=0
exp ( β 0 + β1 ) exp β 0
y =1 π (1) = π (1) =
1 + exp ( β 0 + β1 ) 1 + exp β 0

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:

L’OR è usualmente il parametro oggetto di interesse da parte di un modello logistico, ma la sua


stima, sia ottenuta tramite il cross product, sia tramite la massima verosimiglianza ha una
distribuzione molto asimmetrica con valori compresi tra zero e infinito. E’ meglio quindi lavorare sulla
distribuzione campionari di log OR ( ) che tende ad approssimare una normale già con numerosità
non troppo elevata.
La Tab. 3.3 mostra la relazione tra presenza di malattia coronarica (chd) ed età dei soggetti (agec =1
età >=55; agec = 0 età <55) e i coefficienti del relativo modello logistico semplice. Con questi dati si
ha:
OR ML = exp ( 2.094 ) = 8.12
CI 95% = exp ( 2.094 ± 1.96 ⋅ 0.528 ) = {2.9;22.9}

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

chd Coef. Std. Err. z P>z [95% Conf.Interval]


agec 2.093546 0.528534 3.96 0 1.057639 3.129453
_cons -0.84078 0.255073 -3.3 0.001 -1.34072 -0.34085

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)

3.3 Variabile indipendente politomica


Se una variabile indipendente è politomica (categorizzata su più di due livelli) non potrà essere
inserita direttamente nel modello, ma dovrà essere sostituta dalle relative Dummy Variables.
Ricordiamo che se una variabile politomica è categorizzata su k livelli, può essere convenientemente
sostituita da k-1 Dummy Variables.
La Tab. 3.4 riporta il rischio di CHD (coronary heart disease) in funzione della razza di appartenenza
(White, Black, Hispanic, Other). La Tab.3.5 riporta la codifica delle Dummy Variables associate alla
variabile RACE.

35
Tab. 3.4

Cross-Classification of Hypothetical Data on RACE and CHD


Status for 100 Subjects
RACE
CHD White Black Hispanic Other Total
Absent 20 10 10 10 50
Present 5 20 15 10 50
Total 25 30 25 20 100
OR 8 6 4
95% CI 2.3; 27.6 1.7; 21.3 1.1; 14.9
ln(OR) 2.08 1.79 1.39
Reference group: Race = White

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

Confrontando i risultati di Tab.3.4 e Tab.3.6 è facile riconoscere che:

36
log OR ( Black ,White) )  = log ( 8 ) = 2.079 = βˆ1
 

log OR ( Hispanic,White) )  = log ( 6 ) = 1.792 = βˆ2


 

log OR ( Other ,White) )  = log ( 4 ) = 1.386 = βˆ3


 
Ciò significa che i coefficienti stimati dal modello logistico (Tab.3.6) sono uguali al logaritmo degli
odds ratio calcolati direttamente dalla tabella dei dati (Tab.3.4).
Con riferimento all’Odds Ratio Black vs White si ha infatti:
( ) ( )
log OR ( Black ,White )  = gˆ ( Black ) − gˆ (White ) = βˆ0 + βˆ1 − βˆ0 = βˆ1
Gli standard error dei coefficienti, nel caso univariato, possono essere calcolati direttamente dalla
relativa tabella di contingenza.

( )
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

CI 95% (OR ) = exp  βˆ


± z1−α 2 se βˆ j 
j
 ( )
Come già accennato nella sezione 3.3 la codifica delle Dummy variables può essere effettuata
(deviation from means coding) in modo tale da impostare come valore di riferimento il valore medio
del logit.
La codifica effettuata (reference cell coding) in accordo con quanto specificato in Tab. 3.5 permette di
interpretare i coefficienti βi come log(ORi).
Seguendo la codifica (deviation from means coding) l’interpretazione dei coefficienti βi non è
immediata. Nel seguito comunque illustreremo sia la nuova codifica sia il metodo con cui
interpretare i coefficienti βi ottenuti dal nuovo modello.
La nuova codifica impone di porre a -1 i valori di tutte la variabili dummy relative ad una categoria, e
di utilizzare la consueta codifica 0/1 per le categorie restanti.
Con riferimento alla variabile RACE, una codifica, in accordo con la cosiddetta deviation from means
coding, è quella riportata in Tab. 3.7
Tab 3.7

Specification of the Design Variables for RACE Using


Deviation from Means Coding
Design Variables (Dummy Variables)
RACE(Code) _IRACE_2 _IRACE_3 _IRACE_4
White(1) -1 -1 -1
Black(2) 1 0 0
Hispanic(3) 0 1 0
Other(4) 0 0 1

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.

3.4 Variabile indipendente continua


Quando un modello di regressione logistico contiene una variabile continua, l’interpretazione del
relativo coefficiente dipende sia dalla modalità di inserimento della variabile stessa (lineare,
quadratica….logaritmica…) sia dalla unità di misura con cui è espressa.
Sotto l’assunzione che il logit sia lineare rispetto alla covariata continua x, il modello è espresso dalla
seguente equazione:
g ( x ) = β 0 + β1 x
Segue che il coefficiente β1 esprime geometricamente una pendenza, ossia la variazione del log odds
corrispondente ad una variazione di “1” unità della covariata x. Quindi:
β1 = g ( x + 1) − g ( x ) ∀x
Molto spesso la variazione del log odds corrispondente ad una variazione di “1” unità della covariata
è clinicamente priva di importanza. E’ pertanto meglio riferirsi ad una variazione del log odds
corrispondente ad una generica variazione di “c” unità della covariata x.
g ( x + c ) − g ( x ) = c ⋅ β1 → OR ( x + c, x ) = exp ( c β1 )
E passando alle stime si ha:
( )
gˆ ( x + c ) − gˆ ( x ) = c ⋅ βˆ1 → OR ( x + c, x ) = exp cβˆ1

 ( )
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…)

3.5 Modello multivariato


Nella precedente sezione abbiamo discusso l’interpretazione dei coefficienti stimati dal modello
logistico nel caso in cui il modello preveda una singola covariata. Tuttavia, il fittare una serie di
modelli univariati ha solamente una valenza “esplorativa”: in genere solo un modello multivariato
permette di stabilire un legame “soddisfacente” tra la variabile risposta (outcome variable) e le
variabili esplicative.
Con riferimento al modello multivariato i coefficienti stimati forniscono una stima dei log odds
“aggiustata” per tutte le altre variabili incluse nel modello.
Per chiarire il concetto di “aggiustamento” ci riferiremo inizialmente a un modello di regressione
lineare per poi estendere le nostre considerazioni al modello logistico.
Supponiamo di voler confrontare il peso medio di due gruppi di ragazzi. Nell’ipotesi che il peso sia
funzione dell’età e che i due gruppi di ragazzi abbiano età diverse (un gruppo molto più giovane
dell’altro), il semplice confronto delle medie dei pesi dei due gruppi avrebbe uno scarso significato: di
fronte ad una differenza delle età dei due gruppi non sappiamo se tale differenza sia imputabile ad
una reale differenza tra i gruppi di giovani (giganti vs nani) oppure ad una differenza delle età
(bambini vs adolescenti).
Non è possibile determinare “l’effetto gruppo” senza preliminarmente eliminare la discrepanza fra le
età dei due gruppi. Questa condizione è descritta graficamente nella Fig. 3.1 dove si assume che la
relazione tra peso ed età sia di tipo lineare ed identica nei due gruppi (le due rette sono parallele).
Il modello statistico associato, indicato con w il peso e con a l’età, stabilisce una relazione lineare del
tipo:
w = β 0 + β1 x + β 2 ⋅ a
Dove x = 0 per il gruppo 1 e x = 1 per il gruppo 2.
Fig. 3.1
40
Comparison of the weight of two groups of boys with different distribution of age.

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

Coefficient. Std. Err. z P>z [95% Conf.Interval]


age -0.0649 0.04461 -1.45 0.146 -0.15233 0.022537
smoke 0.555697 0.383965 1.45 0.148 -0.19686 1.308253
_cons 0.484959 1.133666 0.43 0.669 -1.73699 2.706904

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.

Consideriamo un modello contenente un fattore di rischio dicotomico (smoke) e una covariata


continua (age). Se l’associazione tra la covariata (age) e la variabile risposta (outcome) è la
medesima entro ciascun livello del fattore di rischio (smoke), allora diremo che non c’è
interazione tra la covariata e il fattore di rischio.
Graficamente l’assenza di interazione si rappresenta con un modello costituito da due linee
parallele, una per ciascun livello del fattore di rischio. In generale l’assenza di interazione è
caratterizzata da un modello che non contiene termini di ordine superiore od uguale al secondo.
Quando l’interazione è presente, l’associazione tra il fattore di rischio e la variabile risposta varia
in funzione del livello della covariata. In altri termini, diremo che la covariata modifica l’effetto del
fattore di rischio.

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 )

Il log odds ratio si ottiene dalla differenza dei logit:


log OR ( F = f1 , F = f 0 , X = x )  = g ( f1 , x ) − g ( f 0 , x ) = β1 ( f1 − f 0 ) + β3 ⋅ x ( f1 − f 0 ) (3.11)
L’odds ratio, ribadiamo calcolato per X = x, si ottene esponenziando la (3.11):
OR = exp  β1 ( f1 − f 0 ) + β3 ⋅ x ( f1 − f 0 )  (3.12)
Notiamo come nelle (3.11) e (3.12) sono contenuti due coefficienti, quello relativo al fattore di
rischio e quello riferito al termine di interazione.
Ovviamente la stima del log-odds ratio si ottiene semplicemente sostituendo i parametri contenuti
nelle (3.10) e (3.11) con le relative stime.

Per calcolare i limiti dell’intervallo di confidenza dell’odds ratio, esponenzieremo i limiti


dell’intervallo di confidenza del log-odds ratio.
Calcoliamo la varianza del log-odds ratio espresso dalla (3.11)

{
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)

e i limiti dell’intervallo di confidenza sono:


 β 1 + β 3 ⋅ x  ± z1−α 2 se  β 1 + β 3 ⋅ x  (3.17)
   

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:

log OR ( LWD = 1, LWD = 0, AGE = a )  = β 1 + β 3 ⋅ a (3.18)


 

Per stimare la varianza, dobbiamo utilizzare la matrice di covarianza dei parametri stimati.

Tab. 3.15

Covariance matrix of coefficients of logistic model 3 of Tab 3.15

e(V) age lwd lwdage _cons


age .00157088
lwd 03526621 2.974949
lwdage -.00157088 -.12760349 .00573022
_cons -.03526621 -.82827277 .03526621 .82827277

La varianza stimata del log-odds ratio, si ottiene dalla (3.16):


49
{ }
var log OR ( LWD = 1, LWD = 0, AGE = a )  = 2.975 + a 2 ⋅ 0.0057322 + 2 ⋅ a ⋅ ( −0.12760349 )
 

Tab. 3.16

Estimated Odds Ratio and 95% Confidence Intervals for LWD,


Controlling for AGE
Age 15 20 25 30
OR 1.04 2.01 3.90 7.55
95% CI 0.29; 3.79 0.91; 4.44 1.71; 8.88 1.95; 29.19

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

Cross-Classification of Low Birth Weight


by Smoking Status
SMOKE
1 0 Total
1 30 29 59
LOW
0 44 86 130
Total 74 115 189

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

Cross-Classification of Low Birth Weight by


Smoking Status Stratified by RACE
White
SMOKE Total
1 0
1 19 4 23
LOW
0 33 40 73
Total 52 44 96
Black
1 6 5 11
LOW
0 4 11 15
Total 10 16 26
Other
1 5 20 25
0 7 35 42
LOW
Total 12 55 67
Total 189

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

Sostituendo nella (3.19) i dati di Tab. 3.18 si ottiene:

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

Tabulation of Estimated Odds Ratios, log(Estimated Odds


Ratios), Estimated Variance of the log(Estimated Odds Ratios),
and the Inverse of the Estimated Variance, w, for Smoking
Status Within Each Stratum of RACE
White Black Other

OR 5.758 3.300 1.250

( )
log OR 1.751 1.194 0.223

var log ( OR )  0.358 0.708 0.421


 
w 2.794 1.413 2.375

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 

ed è leggermente inferiore al valore ottenuto con il metodo di Mantel-Haenszel.

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.

3.9 Interpretazione dei valori fittati


In questo paragrafo introdurremo la presentazione dei valori fittati e i relativi intervalli di confidenza.
Inoltre esamineremo come può essere predetto un outcome per un soggetto che non rientra nel
campione in esame.
Come esempio consideriamo un modello comprendente LWT e RACE, applicato al data set relativo al
Low Birh Weight Study, i cui coefficienti stimati con gli standard error associati sono riportati in
Tab.3.21.

Tab. 3.21

Estimated Coefficient for a Multiple Logistic Regression Model Using the


Variables Weight at Last Menstrual Period (LWT) and from Low Birth
Weight Study
Variable Coeff. Std.Err. z P>|z|
LWT -0.015 0.0064 -2.36 0.018
RACE_2 1.081 0.4881 2.22 0.027
RACE_3 0.481 0.3567 1.35 0.178
Constant 0.806 0.8452 0.95 0.340
Log-Likelihood = -111.630
Ad una donna di razza White con un peso di 150 pound è associato un logit pari a:

g ( LWT = 150, RACE = White ) = 0.806 − 0.015 ⋅150 + 1.081 ⋅ 0 + 0.481 ⋅ 0 = −1.444 (3.22)

e la probabilità logistica stimata risulta:

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

100 150 200 250


LWT

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

100 150 200 250


LWT

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)

. tabulate chd agec

| agec
chd | 0 1 | Total
-----------+----------------------+----------
0 | 51 6 | 57
1 | 22 21 | 43
-----------+----------------------+----------
Total | 73 27 | 100

. logit chd agec

Iteration 0: log likelihood = -68.331491


Iteration 1: log likelihood = -59.020453
Iteration 2: log likelihood = -58.979594
Iteration 3: log likelihood = -58.979565

Logistic regression Number of obs = 100


LR chi2(1) = 18.70
Prob > chi2 = 0.0000
Log likelihood = -58.979565 Pseudo R2 = 0.1369

------------------------------------------------------------------------------
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)

. tab chd race

| 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

. tabulate race, gen(race_)

race | Freq. Percent Cum.


------------+-----------------------------------
1 | 25 25.00 25.00
2 | 30 30.00 55.00
3 | 25 25.00 80.00
4 | 20 20.00 100.00
------------+-----------------------------------
Total | 100 100.00

. logistic chd race_2 race_3 race_4

Logistic regression Number of obs = 100


LR chi2(3) = 14.04
Prob > chi2 = 0.0028
Log likelihood = -62.293721 Pseudo R2 = 0.1013

------------------------------------------------------------------------------
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

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 | 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

. logit chd race_2 race_3 race_4

Iteration 0: log likelihood = -69.314718


Iteration 1: log likelihood = -62.368156
Iteration 2: log likelihood = -62.293897
Iteration 3: log likelihood = -62.293721

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 | 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)

. list race race_2 race_3 race_4 in 1/4

+---------------------------------+
| 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

. logit chd race_2 race_3 race_4

Iteration 0: log likelihood = -69.314718


Iteration 1: log likelihood = -62.368156
Iteration 2: log likelihood = -62.293897
Iteration 3: log likelihood = -62.293721

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

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -110.71804
Iteration 2: log likelihood = -110.57024
Iteration 3: log likelihood = -110.56997

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]
-------------+----------------------------------------------------------------
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

. logit low lwd age

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -112.19831
Iteration 2: log likelihood = -112.14339
Iteration 3: log likelihood = -112.14338

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

Likelihood-ratio test LR chi2(1) = 3.15


(Assumption: B nested in A) Prob > chi2 = 0.0761

. logit low lwd

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -113.161
Iteration 2: log likelihood = -113.12058
Iteration 3: log likelihood = -113.12058

Logistic regression Number of obs = 189


LR chi2(1) = 8.43
Prob > chi2 = 0.0037
Log likelihood = -113.12058 Pseudo R2 = 0.0359

------------------------------------------------------------------------------
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

Likelihood-ratio test LR chi2(1) = 1.95


(Assumption: C nested in B) Prob > chi2 = 0.1621

. logit low
Iteration 0: log likelihood = -117.336

Logistic regression Number of obs = 189


LR chi2(0) = -0.00
Prob > chi2 = .
Log likelihood = -117.336 Pseudo R2 = -0.0000

------------------------------------------------------------------------------
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

Likelihood-ratio test LR chi2(1) = 8.43


(Assumption: D nested in C) Prob > chi2 = 0.0037

Fig. 3.3

. logit low age lwd lwdage

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -110.71804
Iteration 2: log likelihood = -110.57024
Iteration 3: log likelihood = -110.56997

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
------------------------------------------------------------------------------

. predict el, xb
. graph twoway scatter el age, xlabel(10(5)45) ylabel(-3 .6)

Tab. 3.15

. estat vce

Covariance matrix of coefficients of logit model

e(V) | age lwd lwdage _cons


-------------+------------------------------------------------
age | .00157088
lwd | .03526621 2.974949
lwdage | -.00157088 -.12760349 .00573022
_cons | -.03526621 -.82827277 .03526621 .82827277

Tab. 3.16
. logit low age lwd lwdage

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -110.71804
Iteration 2: log likelihood = -110.57024
Iteration 3: log likelihood = -110.56997

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
------------------------------------------------------------------------------

. lincom lwd + 15*lwdage , or

( 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
------------------------------------------------------------------------------

. lincom lwd + 20*lwdage , or

( 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
------------------------------------------------------------------------------

. lincom lwd + 25*lwdage , or

( 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
------------------------------------------------------------------------------

. lincom lwd + 30*lwdage , or

( 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

. tab2 low smoke

-> tabulation of low by smoke

| 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

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -108.9189
Iteration 2: log likelihood = -108.42021
Iteration 3: log likelihood = -108.4089
Iteration 4: log likelihood = -108.40889

Logistic regression Number of obs = 189


LR chi2(5) = 17.85
Prob > chi2 = 0.0031
Log likelihood = -108.40889 Pseudo R2 = 0.0761

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

Gli odds ratio potevano essere ottenuti anche con il comando cc

cc low smoke,by(race)

RACE | OR [95% Conf. Interval] M-H Weight


-----------------+-------------------------------------------------
1 | 5.757576 1.657574 25.1388 1.375 (exact)
2 | 3.3 .4865385 23.45437 .7692308 (exact)
3 | 1.25 .273495 5.278229 2.089552 (exact)
-----------------+-------------------------------------------------
Crude | 2.021944 1.029092 3.965864 (exact)
M-H combined | 3.086381 1.49074 6.389949
-------------------------------------------------------------------
Test of homogeneity (M-H) chi2(2) = 3.03 Pr>chi2 = 0.2197

Test that combined OR = 1:


Mantel-Haenszel chi2(1) = 9.41
Pr>chi2 = 0.0022

67
Fig. 3.4

. logit low lwt _Irace_2 _Irace_3

Iteration 0: log likelihood = -117.336


Iteration 1: log likelihood = -111.7491
Iteration 2: log likelihood = -111.62983
Iteration 3: log likelihood = -111.62955

Logistic regression Number of obs = 189


LR chi2(3) = 11.41
Prob > chi2 = 0.0097
Log likelihood = -111.62955 Pseudo R2 = 0.0486

------------------------------------------------------------------------------
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

. gen odds1 = exp(ulp1)


. gen ulprob1 = odds1/(1+odds1)
. gen odds2 = exp(p1)
. gen prob1 = odds2/(1+odds2)
. gen odds3 = exp(llp1)
. gen llprob1 = odds3/(1+odds3)

. 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

. xi:logistic low lwt i.race, coef


i.race _Irace_1-3 (naturally coded; _Irace_1 omitted)

Logistic regression Number of obs = 189


LR chi2(3) = 11.41
Prob > chi2 = 0.0097
Log likelihood = -111.62955 Pseudo R2 = 0.0486

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

Covariance matrix of coefficients of logistic model

e(V) | lwt _Irace_2 _Irace_3 _cons


-------------+------------------------------------------------
lwt | .00004146
_Irace_2 | -.00064703 .23819397
_Irace_3 | .00035585 .05320001 .12721584
_cons | -.00521365 .02260223 -.1034968 .71429959

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.

4.2 Selezione delle Variabili


Step 1
Il processo di selezione dovrebbe iniziare da un’attenta analisi degli effetti di ciascuna variabile presa
individualmente (analisi univariata)
Per le covariate continue può essere senz’altro utile plottarle in funzione del logit allo scopo di
individuare successivamente la scala opportuna di rappresentazione.

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.

Analisi dei quartili


Questo metodo, si basa sulla filosofia del precedente, ma può essere usato con facilità nell’ambito
dei modelli multivariati.
Vediamo in dettaglio la procedura:
a) si divide la variabile continua sotto esame in quartili;
b) si crea una variabile categorica su 4 livelli usando i tre cutpoint definiti al punto
precedente;
c) si fitta un modello multivariato sostituendo la variabile continua in esame tramite tre
variabili dummy (il primo quartile sia il gruppo di riferimento);
d) si plottano le stime dei tre coefficienti vs il punto medio del gruppo, ottenendo tre punti;
e) si aggiunge un quarto punto avente zero sulle ordinate e il punto medio del primo quartile
sulle ascisse;
f) si connettono i quattro punti così ottenuti;
g) si analizza visivamente il plot scegliendo le parametrizzazioni clinicamente e/o
biologicamente giustificate;
h) il passo finale consiste nel refittare i modello con le parametrizzazioni definite al punto
precedente, scegliendo quelle che risultano significativamente differenti dal modello
contenente la parametrizzazione lineare. Tra i vari modelli selezionati si scelga quello di più
facile interpretazione.

Uso dei polinomi frazionari


Questo metodo6 consente di di trovare, in modo analitico, la migliore rappresentazione della
covariata in esame ed è facilmente utilizzabile anche all’interno di una modellizzazione multivariata.
Nel seguito illustreremo il metodo con riferimento, solo per semplicità di esposizione, al modello
univariato.
Il logit, lineare nella sua singola covariata nell’ambito di un modello univariato, è espresso come:

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

La prima funzione è:a


F1 = x p1 p1 ∈℘{−2, −1, −0.5,0,0.5,1, 2,3}
Le rimanenti sono:
 x pj , p j ≠ p j −1
Fj ( x ) =  con j = 2,...J e p j ∈℘
 F j −1 ( x ) ⋅ log ( x ) , p j = p j −1
Per esempio, se scegliamo J = 2 con p1 = 0 e p2 = -0.5, l’espressione del logit diventa:
1
g ( x, β ) = β 0 + β1 ⋅ log ( x ) + β 2 ⋅
x
Qualora scegliessimo J = 2 con p1 = 2 e p2 = 2, l’espressione del logit diventerebbe:
g ( x, β ) = β 0 + β1 ⋅ x 2 + β3 ⋅ x 2 ⋅ log ( x )
Il modello è quadratico in x quando J = 2 con p1= 1 e p2= 2.
L’implementazione di questo metodo richiede, per J =1, di esaminare 8 modelli tra cui scegliere come
migliore quello con il maggior log likelihood. Successivamente si ripete il processo per J =2
esaminando questa volta 36 modelli, ciascuno con una coppia di potenzeb distinta e di nuovo il
modello migliore sarà scelto sulla base del log likelihood.
Ora si pone il problema di valutare quale dei due modelli è significativamente migliore del modello
lineare. Posto con L(1) il log likelihood del modello lineare ossia quello con J =1 e p1 = 1, con L(p1) il
log likelihood per il modello migliore tra quelli con J =1 (escludendo ovviamente il modello lineare) e
con L(p1,p2) il log likelihood per il modello migliore tra quelli con J = 2, il confronto tra il modello
lineare e quelli ottenuti tramite i polinomi frazionari si effettua valutando le seguenti quantità, che
sotto l’ipotesi nulla, si distribuiscono secondo una χ 2 rispettivamente con uno e due gradi di
libertàc:
G (1, p1 ) = −2 {L(1) − L ( p1 )} ∼ χ12
(4.3)
G  p1 , ( p1 , p2 )  = −2 {L ( p1 ) − L ( p1 , p2 )} ∼ χ 22
Da ultimo una raccomandazione: quando viene selezionato un modello più “complicato” rispetto al
lineare, dobbiamo sempre ricordare che viene accettato solo se fornisce un miglioramento
statisticamente significativo mantenendo una giustificazione clinica e/o biologica.

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 )

4.3 Esemplificazione della costruzione di un modello logistico


Come data base di lavoro utilizzeremo i dati resi disponibili dall’UMARU IMPACT Study (UIS). La
tabella sotto riportata fornisce una descrizione delle variabili.

Tab. 4.1
Description of Variables in the UMARU IMPACT Study

Variable Description Codes/Values Name


1 Identification Code 1-575 ID
2 Age at Enrollment Years AGE
3 Beck Depression Score at 0.000-54.000 BECK
Admission
4 IV Drug Use History 1 = Never, IVHX
at Admission 2 = Previous 3 = Recent
5 Number of Prior Drug 0-40 NDRUGTX
Treatments
6 Subject's Race 0 = White, 1 = Other RACE
7 Treatment Randomization 0 = Short, 1 = Long TREAT
Assignment
8 Treatment Site 0 = A, 1 = B SITE
9 Remained Drug Free 1 = Remained Drug Free DFREE
for 12 Months 0 = Otherwise

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

Univariable lowess smoothed logit versus 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).

Metodo dei quartili


La Tab. 4.4 mostra il risultato dell’analisi dei quartili (quartile di riferimento: primo quartile).
Tab. 4.4
Results of the Quartile Analyses of age from the Multivariable Model
Containing the Variables Shown in the Model in Tab. 4.3
Quartile 1 2 3 4
Midpoint 23.5 29.5 34.5 46.5
Number 148 144 166 117
Coeff 0 0.0984 0.406 0.594
95% CI -0.4; 0.598 -0.234; 1.046 -0.019; 1.21
La Fig. 4.3 mostra il plot dei coefficienti rispetto al punto medio del quartile associato.

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).

Metodo dei quartili o altro tipo di suddivisione


Suddividiamo la variabile ndrgtx in quattro gruppi in accordo con la Fig. 4.4
Group 0 1-2 3-15 16-40
La Tab. 4.6 mostra i risultati dell’analisi e la Fig. 4.4 il plot di logit riferiti al punto medio degli
intervalli.

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

Determinazione del fattore di scala


lrange = Log ( max ( ndrgtx + 1) − min ( ndrgtx + 1) ) = Log ( 40 ) ≅ 1.602
scale = 10 ^ ( int ( lrange ) ) = 10
−1
 ( ndrgtx + 1)   ( ndrgtx + 1) 
ndrgfp1 =   ndrgfp 2 = ndrgfp1 ⋅ log  
 10   10 

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

Indrg _1 = ( x −1 − x −1 ) Indrg _ 2 = ( x ⋅ log ( x ) ) − ( x


−1 −1
⋅ log ( x ) )

Valutazione delle interazioni


I modelli in Tab. 4.8 (non centrato) e Tab. 4.9 (centrato) comprendono tutti gli effetti principali
ritenuti significativi. L’unica variabile esclusa è beck che non risulta né significativa (p = 0.932) né
svolgere un ruolo di importante confondente quando viene aggiunta al modello comprendente gli
effetti principali.
Tab. 4.10

Preliminary Final Model Containing Significant Main Effects plus beck


Variable Coef. Std. Err. z P>z [95% Conf.Interval]
age 0.054307 0.017563 3.09 0.002 0.019885 0.088729
ndrgfp1 0.982029 0.288933 3.4 0.001 0.415731 1.548327
ndrgfp2 0.361425 0.109919 3.29 0.001 0.145987 0.576863
_Iivhx_2 -0.60776 0.291408 -2.09 0.037 -1.17891 -0.03661
_Iivhx_3 -0.72082 0.257936 -2.79 0.005 -1.22636 -0.21527
race 0.248113 0.224288 1.11 0.269 -0.19148 0.687709
treat 0.42254 0.200376 2.11 0.035 0.029811 0.815269
site 0.172294 0.221255 0.78 0.436 -0.26136 0.605945
beck -0.00093 0.010865 -0.09 0.932 -0.02222 0.020368
_cons -4.29501 0.822337 -5.22 0 -5.90676 -2.68326

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).

4.4. Stepwise logistic regression


Il metodo stepwise è una procedura di selezione automatica delle variabili che permette, da un set di
covariate, di estrarre quelle statisticamente più significative. La procedura richiede che vengano
fissati due valori limiti: una pE (il valore massimo di p che consente ancora l’ingresso della covariata
nel modello) e il valore pR (il valore minimo di p che giustifica l’uscita della covariata dal modello). Il
valore di pR deve essere essere superiore a pE. pR e pE e dovrebbero essere scelti rispettivamente
all’interno dei range 0.20-0.30 e 0.15-0.20.a
La procedura stepwise può seguire due metodi di selezione: una selezione forward, in cui si parte da
un modello iniziale vuoto, e una backward in cui si parte da un modello pieno, ossia da un modello
contenente tutte le covariate del set.
Vediamo i passi iniziali delle due procedure:
1) Procedura forward
a) Si fittano tutti i possibili modelli comprendenti una sola covariata. Si seleziona la covariata
con il minore valore di p le la si include nel modello.b
b) Si fittano tutti i possibili modelli contenti la covariata selezionata al passo precedente più una
delle rimanenti. Si seleziona la covariata aggiunta con p minore e la si inserisce nel modello.b

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

Si prosegue con gli step b e c fino all’esaurimento di tutte le covariate.


. stepwise, pe(0.1) pr(0.15 forward: regress response predictors…

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.

Si prosegue con gli step b e c fino all’esaurimento di tutte le covariate.


. stepwise, pe(0.1) pr (0.15): regress response predictor…

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

Variable Coef. Std. Err. z P>z [95% Conf.Interval]


_Iivhx_2 -0.62366 0.284703 -2.19 0.028 -1.18166 -0.06565
_Iivhx_3 -0.80561 0.244536 -3.29 0.001 -1.28489 -0.32633
age 0.052593 0.017211 3.06 0.002 0.018861 0.086325
ndrugtx -0.06376 0.025628 -2.49 0.013 -0.11399 -0.01353
treat 0.451335 0.198597 2.27 0.023 0.062093 0.840577
_cons -2.33276 0.548386 -4.25 0 -3.40758 -1.25795

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

Variable Coef. Std. Err. z P>z [95% Conf.Interval]


_Iivhx_2 -0.62366 0.284703 -2.19 0.028 -1.18166 -0.06565
_Iivhx_3 -0.80561 0.244536 -3.29 0.001 -1.28489 -0.32633
age 0.052593 0.017211 3.06 0.002 0.018861 0.086325
ndrugtx -0.06376 0.025628 -2.49 0.013 -0.11399 -0.01353
treat 0.451335 0.198597 2.27 0.023 0.062093 0.840577
_cons -2.33276 0.548386 -4.25 0 -3.40758 -1.25795

4.5 Problemi numerici


La corretta definizione del modello logistico, specie se multivariato, può essere impedita dalla
particolare struttura dei dati. Nel seguito analizzeremo i problemi più comuni.

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

. logit dfree age

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -326.16602
Iteration 2: log likelihood = -326.16544

Logistic regression Number of obs = 575


LR chi2(1) = 1.40
Prob > chi2 = 0.2371
Log likelihood = -326.16544 Pseudo R2 = 0.0021

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

. logit dfree age,or

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -326.16602
Iteration 2: log likelihood = -326.16544

Logistic regression Number of obs = 575


LR chi2(1) = 1.40
Prob > chi2 = 0.2371
Log likelihood = -326.16544 Pseudo R2 = 0.0021

------------------------------------------------------------------------------
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

Iteration 0: log likelihood = -326.86446

Logistic regression Number of obs = 575


LR chi2(0) = -0.00
Prob > chi2 = .
Log likelihood = -326.86446 Pseudo R2 = -0.0000

------------------------------------------------------------------------------
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

Likelihood-ratio test LR chi2(1) = 1.40


(Assumption: B nested in A) Prob > chi2 = 0.2371

N.B.: Odds Ratio for 10 year increase in AGE is:


OR = exp ( coeff ⋅10 ) = exp ( 0.182 ) = 1.20
……..
……..
Lo stesso per le altre variabili

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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -310.17928
Iteration 2: log likelihood = -309.62871
Iteration 3: log likelihood = -309.62413
Iteration 4: log likelihood = -309.62413

Logistic regression Number of obs = 575


LR chi2(7) = 34.48
Prob > chi2 = 0.0000
Log likelihood = -309.62413 Pseudo R2 = 0.0527

------------------------------------------------------------------------------
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

. lowess dfree age, gen(var3) logit nodraw


. graph twoway line var3 age, sort xlabel(20(10)50 56)

92
Tab. 4.4
. summarize age

Variable | Obs Mean Std. Dev. Min Max


-------------+--------------------------------------------------------
age | 575 32.38261 6.193149 20 56

. centile age,centile(25 50 75)

-- 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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -310.10643
Iteration 2: log likelihood = -309.5257
Iteration 3: log likelihood = -309.52103
Iteration 4: log likelihood = -309.52103

Logistic regression Number of obs = 575


LR chi2(9) = 34.69
Prob > chi2 = 0.0001
Log likelihood = -309.52103 Pseudo R2 = 0.0531

------------------------------------------------------------------------------
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

. graph twoway scatter coef age, connect(l) ylabel(-.25(.25).75) xlabel(20(10)50)


yline(0)

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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -309.95259
Iteration 2: log likelihood = -309.38924
Iteration 3: log likelihood = -309.38436
Iteration 4: log likelihood = -309.38436

Logistic regression Number of obs = 575


LR chi2(8) = 34.96
Prob > chi2 = 0.0000
Log likelihood = -309.38436 Pseudo R2 = 0.0535

------------------------------------------------------------------------------
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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -309.65414
Iteration 2: log likelihood = -309.31959
Iteration 3: log likelihood = -309.31915
Iteration 4: log likelihood = -309.31915

Logistic regression Number of obs = 575


LR chi2(9) = 35.09
Prob > chi2 = 0.0001
Log likelihood = -309.31915 Pseudo R2 = 0.0537

------------------------------------------------------------------------------
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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -307.22312
Iteration 2: log likelihood = -306.72663
Iteration 3: log likelihood = -306.72558

Logistic regression Number of obs = 575


LR chi2(8) = 40.28
Prob > chi2 = 0.0000
Log likelihood = -306.72558 Pseudo R2 = 0.0616

------------------------------------------------------------------------------
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.

Fractional polynomial model comparisons:


---------------------------------------------------------------
ndrugtx df Deviance Dev. dif. P (*) Powers
---------------------------------------------------------------
Not in model 0 626.176 12.725 0.013
Linear 1 619.248 5.797 0.122 1
m = 1 2 618.818 5.367 0.068 .5
m = 2 4 613.451 -- -- -1 -1
---------------------------------------------------------------
(*) P-value from deviance difference comparing reported model with m = 2 model

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

Variable | Obs Mean Std. Dev. Min Max


-------------+--------------------------------------------------------
lgtfp | 575 -2.833776 .3931459 -3.950496 -2.314035

. global mlgfp = r(mean)

. summarize low

Variable | Obs Mean Std. Dev. Min Max


-------------+--------------------------------------------------------
low | 575 -1.058213 .3250529 -1.930522 -.7305751

. global mlow = r(mean)


. generate lgtfp1 = lgtfp + ($mlow-$mlgfp)
. sort ndrugtx
. twoway (line low ndrugtx)(line lgtfp1 ndrugtx), ylabel(-2.184 -.547) xlabel(0 1 2
5(5)40)

Tab. 4.8
xi: logit dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site
i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -307.22312
Iteration 2: log likelihood = -306.72663
Iteration 3: log likelihood = -306.72558

Logistic regression Number of obs = 575


LR chi2(8) = 40.28
Prob > chi2 = 0.0000
Log likelihood = -306.72558 Pseudo R2 = 0.0616

------------------------------------------------------------------------------
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

Variable | Obs Mean Std. Dev. Min Max


-------------+--------------------------------------------------------
x | 575 .5542609 .5475429 .1 4.1

. 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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -307.22312
Iteration 2: log likelihood = -306.72663
Iteration 3: log likelihood = -306.72558

Logistic regression Number of obs = 575


LR chi2(8) = 40.28
Prob > chi2 = 0.0000
Log likelihood = -306.72558 Pseudo R2 = 0.0616

------------------------------------------------------------------------------
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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -307.2197
Iteration 2: log likelihood = -306.723
Iteration 3: log likelihood = -306.72195

Logistic regression Number of obs = 575


LR chi2(9) = 40.29
Prob > chi2 = 0.0000
Log likelihood = -306.72195 Pseudo R2 = 0.0616

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

Likelihood-ratio test LR chi2(2) = 7.79


(Assumption: A nested in B) Prob > chi2 = 0.0204
…..
e così per tutte le altre interazioni

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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -298.88292
Iteration 2: log likelihood = -297.5959
Iteration 3: log likelihood = -297.58224
Iteration 4: log likelihood = -297.58223

Logistic regression Number of obs = 575


LR chi2(12) = 58.56
Prob > chi2 = 0.0000
Log likelihood = -297.58223 Pseudo R2 = 0.0896

------------------------------------------------------------------------------
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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -298.85012
Iteration 2: log likelihood = -297.71878
Iteration 3: log likelihood = -297.71139
Iteration 4: log likelihood = -297.71139

Logistic regression Number of obs = 575


LR chi2(11) = 58.31
Prob > chi2 = 0.0000
Log likelihood = -297.71139 Pseudo R2 = 0.0892

------------------------------------------------------------------------------
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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -300.06724
Iteration 2: log likelihood = -298.98837
Iteration 3: log likelihood = -298.98146
Iteration 4: log likelihood = -298.98146

Logistic regression Number of obs = 575


LR chi2(10) = 55.77
Prob > chi2 = 0.0000
Log likelihood = -298.98146 Pseudo R2 = 0.0853

------------------------------------------------------------------------------
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

Logistic regression Number of obs = 575


LR chi2(5) = 33.14
Prob > chi2 = 0.0000
Log likelihood = -310.29344 Pseudo R2 = 0.0507

------------------------------------------------------------------------------
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

Logistic regression Number of obs = 575


LR chi2(5) = 33.14
Prob > chi2 = 0.0000
Log likelihood = -310.29344 Pseudo R2 = 0.0507

------------------------------------------------------------------------------
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

e piccoli in confronto all’errore di struttura del modello. Il ruolo delle osservazioni


individuali sulla componente erratica viene esaminata con le diagnostiche di regressione che
possono essere suddivise come segue:
• diagnostiche basate sulle misure individuali dei residui che tendono a individuare
quelle osservazioni che si distanziano dai valori predetti.
• diagnostiche basate sul leverage che tendono a individuare quei soggetti le cui
variabili indipendenti siano particolarmente inusuali
• diagnostiche di effetto che tendono a identificare quei soggetti che influenzano in
misura maggiore le stime dei parametri.
Quindi, una completa valutazione del fitting si effettua 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.

5.2 Misure globali di Goodness-of-Fit


Le misure globali del goodness-of-fit non possono fornire indicazioni circa il comportamento di singoli
componenti del modello. Un “piccolo” valore di una di queste misure non esclude che il modello
induca delle deviazioni importanti dal fit relativamente ad alcuni soggetti. D’altra parte un “elevato”
valore di queste misurazioni evidenzia che il modello presenta sicuramente dei problemi
relativamente al fit.

Supponiamo che il nostro modello fittato contenga p variabili indipendenti


x ' = ( x1 , x2 , x3 ,.....x p )
e indichiamo con J il numero di distinti vettori osservati x (J = numero di covariate patterns). Se più
soggetti condividono lo stesso valore di x allora sarà J<n (n = numero di soggetti nel campione).
Denoteremo il numero di soggetti con x= xj con mj, j = 1,2,3,…,J.
Sia infine yj il numero di risposte positive (y=1) tra gli mj soggetti con x= xj.
Ne consegue che:

103
∑y j = n1 numero totale di soggetti con y =1

5.2.1 Pearson Chi-Square Statistic and Deviance


La teoria della regressione logistica assume che le osservazioni siano un campione casuale della
popolazione in cui vale il seguente modello:
y j = π (x j ) + ε j
In questa equazione yj rappresenta la variabile dicotomica risposta (variabile dipendente, variabile
outcome); π(xj) rappresenta la probabilità condizionale ossia la probabilità dedotta dal j-esimo
pattern di covariate; infine εj rappresenta il termine di errore binomiale.
Con queste premesse, è evidente che:
(
y j ∼ B m jπ j , m jπ j (1 − π j ) ) con π j = π ( x j )
Ed è pertanto facile verificare che:
(y j − m jπ j )
∼ N ( 0,1)
m jπ j (1 − π j )
Il residuo, secondo Pearson, con riferimento all’j-esimo pattern di covariate, vale:

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.

La devianza residua è definita come segue:


 ( m j − y j )   
1/ 2
   yj 

d ( y j , πˆ j ) = ±  2  y j log   ( j
+ m − y j) log    (5.3)
 
 m jπˆ j
  
 m j (1 − πˆ j ) 
  
dove il segno ± è lo stesso segno di (y j − m jπˆ j )
Con riferimento ad un pattern di covariate con y j = 0 la devianza residua è:

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 )

e la devianza residua quando y j = m j , vale:

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)

5.2.2 Test di Hosmer-Lemeshow


Si ordina il data set in funzione della probabiltà calcolata dal modello e lo si partiziona in g gruppi (in
genere 10). La statistica di Hosmer-Lemeshow è la seguente:
( o − n 'k ⋅ π k )
2

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

C=∑ Ok = ∑ yik Ek = ∑ πˆ ik (5.6)


k =1 Ek (1 − Ek / n 'k ) i i

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.

In presenza di una covariata continua, almeno teoricamente, si ha m j = 1 ∀j


a

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

number of observations 575


number of groups 10
Hosmer-Lemeshow chi2(8) 4.39
Prob > chi2 0.8199
¥ Prob. è la massima probabilità nel decile considerato

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.

5.2.3 Tabella di Classificazione


La tabella di classificazione è una tabella 2x2 costruita con la variabile outcome y e una variabile
dicotomica definita dalla probabilità logistica calcolata dal modello con riferimento ad determinato
un cut-point c. Se la probabilità stimata eccede il valore c, porremo la variabile dicotomica ad uno,
altrimenti uguale a zero.
Si potrebbe presumere che se il modello è in grado di predire l’appartenenza ad un gruppo, in
accordo con un determinato cut-point, allora siamo fiduciosi che fitti in modo adeguato.
Sfortunatamente le cose non stanno così: l’accuratezza della classificazione non fornisce un criterio
valido per la valutazione del goodnees-of-fit.
Tuttavia la tabella di classificazione può avere una qualche utilità quando usata assieme ad altre
misure che si basano più direttamente sui residui.

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

5.2.4 Area sottesa dalla curva ROC


Determinate sensibilità e specificità ai vari cutpoint, la curva ROC (Receiver Operating Characteristic)
è ottenuta come luogo dei punti aventi come ordinata la sensibilità e come ascissa (1-specificità) .
L’area sottesa dalla curva ROC (AR) fornisce una misura della capacità discriminante del modello.

AR = 0.5 nessuna capacità discriminante


0.7 ≤ AR < 0.8 capacità discriminante accettabile
0.8 ≤ AR < 0.9 capacità discriminante eccellente
AR ≥ 0.9 capacità discriminante quasi perfetta. (non è possibile stimare i coefficienti
del modello logistico)

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

0.00 0.25 0.50 0.75 1.00


Probability cutoff

Plot of Sensitivity and Specificity versus all possible cutpoints

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

0.00 0.25 0.50 0.75 1.00


1 - Specificity
Area under ROC curve = 0.6989

Plot of Sensitivity versus 1-Specificity for all possible cutpoint. The resulting curve is called the ROC curve

5.2.5 Altre Misure Globali


Nell’ambito della regressione lineare, la bontà del modello, ottenuto con la minimizzazione degli
scarti quadrati (OLS) può essere convenientemente giudicato tramite la valutazione del cosiddetto
R-squared definito dalla (5.7)
∑( y − yˆi )
2
i
R2 ≡ 1 − i
(5.7)
∑( y − yi )
2
i
i

L’R-squared può essere interpretato in diversi modi:


1) Variabilità spiegata
Il denominatore del rapporto esprime la variabilità totale della variabile dipendente, ossia la
variabilità rispetto al suo valore medio, il numeratore invece esprime la variabilità della variabile
dipendente che non è spiegata dal modello. Il rapporto esprime pertanto la proporzione di
variabilità totale (della variabile dipendente) non spiegata dal modello, e il suo complemento a
uno la proporzione di variabilità totale spiegata dal modello.
2) Differenza di prestazioni del modello fittato rispetto al modello nullo (con sola intercetta)
Il denominatore del rapporto può essere pensato come la somma degli errori derivati dal modello
nullo (modello con sola intercetta), il numeratore come la somma degli errori derivati dal modello

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.

Quando si analizza un modello logistico sfortunatamente una statistica equivalente all’R-squared,


utilizzato nel modello lineare, non esiste. Le stime ottenute da un modello logistico sono stime di
massima verosimiglianza, ottenute con processi iterativi e non sono pertanto determinate in modo
da minimizzare la varianza. Quindi i metodi utilizzati per valutare la bontà del fit nell’ambito dell’OLS
non possono essere estesi al modello logistico.
Comunque, per valutare la bontà del fit nell’ambito del modello logistico, sono stati sviluppati
numerosi cosiddetti pseudo R-sqared9. Si tratta di pseudo R-squared nel senso che pur essendo simili
all’R-squared non possono essere interpretati, nel modello logistico, nello stesso modo in cui si
interpreta l’R-squared nell’ambito dell’OLS.
Tuttavia anche gli pseudo R-squared, in genere, variano tra 0 e 1 e più sono elevati maggiore è la
capacità di fit del modello. Sfortunatamente diversi pseudo R-squared applicati allo stesso modello
logistico forniscono valori anche molto diversi tra loro.
Tipicamente tutti questi pseudo R-sqaured assumono valori molto più bassi del valore dell’R-squared
riferito a un buon modello di regressione lineare. Per questa ragione molti Autori ritengono non sia
raccomandabile pubblicare routinariamente gli pseudo R-squared come indice di goodness-of-fit.
Quando far uso allora degli pseudo R-squared?
Solo nella fase di costruzione del modello quando si devono mettere in competizione più soluzioni.
Di seguito riportiamo i principali pseudo R-squared ottenibili direttamente dai package statistici più
utilizzati e le cosiddette misure di informazione.

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).

Consider the definition of L(M). L(M) is the


conditional probability of the dependent
variable given the independent variables. If
there are N observations in the dataset, then
L(M) is the product of N such
Cox probabilities. Thus, taking the nth root of the
 L ( M INT ) 
2/ N
product L(M) provides an estimate of the
& R =1− 
2

 L ( M FULL ) 
likelihood of each Y value. Cox & Snell's
Snell’s presents the R-squared as a transformation of
the -2ln[L(MIntercept)/L(MFull)] statistic that is used
to determine the convergence of a logistic
regression.

Note that Cox & Snell's pseudo R-squared has a


maximum value that is not 1: if the full model
predicts the outcome perfectly and has a
likelihood of 1, Cox & Snell's is then
1-L(MIntercept)2/N, which is less than one.

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)

FAQ: What are pseudo R-squareds?


from http://www.ats.ucla.edu/stat/mult_pkg/faq/general/Psuedo_RSquareds.htm
(accessed September 29, 2011)

114
5.3 Diagnostiche della Regressione Logistica

Le statistiche di bontà di un modello dovrebbero essere sempre affiancate da diagnostiche di


regressione, che mirano a identificare le unità statistiche che possono aver influenzato l’esito
dell’analisi. Tali unità vengono definite “punti influenti” o outliers. In genere le diagnostiche di
regressione sono procedure atte a verificare se l’accordo tra valori osservati e valori attesi del
modello è distribuito omogeneamente all’interno di tutti i pattern di covariate, oppure su tutte le
osservazioni per modelli con almeno un predittore su scala continua. Tra tali misure una delle più
utilizzate è il leverage, che stima il peso che ogni osservazione esercita sul suo valore attesoa. Nel
modello di regressione lineare il leverage è rappresentato dagli elementi diagonali della Hat matrix
(H) ed è proporzionale alla distanza dalla media dei dati.
Indicata con X la matrice dello studio, la Hat matrix, nel modello lineare, è così definita:
H = X ( X'X ) X'
-1

e valgono le seguenti relazioni


yˆ = H × y
( y - yˆ ) = ( I - H ) y
Passando al modello logistico la Hat matrix è definita come10:
H = V 1/2 X ( X'VX ) X'V1/2
-1
(5.8)
dove V è una matrice diagonale JxJ con elemento generale pari a:
v j = m jπˆ ( x j ) 1 − πˆ ( x j ) 
Si dimostra che nel modello logistico i leverage, ossia gli elementi posti sulla diagonale principale
della Hat matrix definita dalla (5.8) valgono:
h j = m jπˆ ( x j ) 1 − πˆ ( x j )  x 'j ( X'VX ) x 'j = v j × b j
-1
(5.9)
dove
b j = x 'j ( X'VX ) x 'j x 'j = (1, x1 j , x2 j ....x pj )
−1
e (5.10)
La somma degli elementi diagonali di H, sia nel modello lineare, sia nel modello logistico, è pari al
numero dei parametri.
Trace ( H ) = ∑ h j = p + 1
Mentre nel modello di regressione lineare il leverage aumenta con l’aumentare della distanza dalla
media, nel modello logistico il leverage tende ad un minimo (locale) intorno al valore corrispondente
di probabilità stimata pari a 0.5 e aumenta per valori sia superiori che inferiori (con andamento a U),
decrescendo rapidamente verso 0 al di sotto di 0.1 e al di sopra di 0.9. (Fig. 5.2)
Tale comportamento “pendolare” è dovuto alla presenza del termine v j nel calcolo del leverage.
Una quantità che invece cresce sempre al crescere della distanza dalla media è il b j definito nella
(5.10).

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

plotting symbol proportional to ∆βˆ (J=521 covariate pattern)


Tab. 5.8
Covariate Values, Observed Outcome ( y j ), Number ( m j ), Estimated Logistic
Probability ( πˆ ), and Value of Four Diagnostic Statistics ∆βˆ , ∆X 2 , ∆D, and
Leverage ( h ) for the four Most Extreme Covariate Pattern (P#)
P# 31 477 105 468
age 24 41 26 40
ndrgtx 20 0 0 0
ihvx 2 3 1 3
race 0 1 1 1
treat 0 0 0 0
site 1 0 0 0
yj 1 1 2 1
mj 1 1 2 1
πˆ 0.033 0.163 0.403 0.168
∆βˆ 0.277 0.267 0.246 0.236
∆X 2 29.925 5.403 3.191 5.192
∆D 6.909 3.812 3.916 3.735
h 0.009 0.047 0.072 0.044

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!

5.5 Valutazione esterna del fit model


In alcune situazioni è possibile escludere un sotto campione delle nostre osservazioni (in genere 1/3
delle osservazioni), sviluppare un modello con le restanti osservazioni (2/3 delle osservazioni
disponibili in partenza) e infine testare il modello con le osservazioni inizialmente escluse.
Questo modo di condurre la valutazione dà luogo a risultati, in genere, troppo ottimistici: i dati
utilizzati per la validazione provengono dal campione iniziale e quindi non sono indipendenti dalle
osservazioni utilizzate per la costruzione del modello.
Meglio, quando possibile, utilizzare per la validazione un data set “esterno”, indipendente pertanto
dal campione utilizzato per la costruzione del modello.

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)

Confronto delle tabelle di classificazione


Il modello può essere validato confrontando le tabelle di classificazione ricavate dal data set originale
e da quello di validazione confrontando sensibilità, specificità, valore predittivo positivo e negativo.
Si tratta, in estrema sintesi, di confrontare delle proporzioni binomiali indipendenti.

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 )

• OR di treatment iv drug use (ivhx)


In Tab. 5.11 sono riportati gli odds ratio, con i corrispondenti intervalli di confidenza, relativi alle
variabili treat (short, long) e ivhx (never, previous, recent)
Tab. 5.11
Estimated Odds Ratio and 95% Confidence Intervals for
Treatment and History of IV Drug Use (n = 575)
Variable Value Odds Ratio 95% CI
Treatment
Short 1
Long 1.54 1.04-2.30
IV Drug Use
Never 1
Previous 0.53 0.30-0.95
Recent 0.49 0.30-0.83

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) .

• OR di race all’interno di site


Ora, sempre con riferimento al modello di Tab. 5.10, interpretiamo i risultati inerenti alle variabili
race e site che nel modello contribuiscono anche al termine di interazione racesite.

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 ( Odds ) = βˆ + .... + βˆ ⋅ race + βˆ ⋅ site + βˆ ⋅ site ⋅ race


site = 0 0 r s rs

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 ( Odds ) = βˆ + .... + βˆ ⋅ race + βˆ ⋅ site + βˆ ⋅ site ⋅ race


site =1 0 r s rs

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 ( Odds ) = βˆ + .... + βˆ ⋅ race + βˆ ⋅ site + βˆ ⋅ site ⋅ race


race = 0 0 r s rs

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 ( Odds ) = βˆ + .... + βˆ ⋅ race + βˆ ⋅ site + βˆ ⋅ site ⋅ race


race =1 0 r s rs

log ( OR ) = βˆ + βˆ → OR
site , race =1 s = exp ( βˆ + βˆ ) = exp ( 0.516 − 1.429 ) = 0.401
rs site , race =1 s rs

• OR age controllato per ndrgtx (number of prevous drug treatments)

Al solito riprendiamo il modello

( )
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

log ( OR age + 5 vs age , ndrgtx = cost ) = 5 ⋅ βˆ a + 5 ⋅ βˆint ⋅ ndrgfp1


Ricordiamo che il legame tra ndrgtx e ndrgfp1 è espresso dalla seguente relazione:
−1 −1
 ndrgtx + 1   ndrgtx + 1 
ndrgfp1 =   ndrgfp 2 = ndrgfp1 ⋅ log  
 10   10 
da cui
−1

( )  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

• OR number of previous treatments controlling for age


129
Inizialmente valutiamo l’effetto, controllato per l’età, dell’aumento di una unità del numero di
precedenti trattamenti. Il logit corrispondente vale:

( )
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 

La differenza dei logit espressi rispettivamente dalla (5.21) e (5.18) vale:

( )
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)

Fig. 5.10 (d)

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.

Fig. 5.11 (a)

134
Fig. 5.11 (b)

Fig. 5.11 (c)

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
------------------------------------------------------------------------------

estat gof, table group(10)

Logistic model for dfree, goodness-of-fit test

(Table collapsed on quantiles of estimated probabilities)


+--------------------------------------------------------+
| Group | Prob | Obs_1 | Exp_1 | Obs_0 | Exp_0 | Total |
|-------+--------+-------+-------+-------+-------+-------|
| 1 | 0.0939 | 4 | 4.1 | 54 | 53.9 | 58 |
| 2 | 0.1261 | 5 | 6.2 | 52 | 50.8 | 57 |
| 3 | 0.1631 | 8 | 8.5 | 50 | 49.5 | 58 |
| 4 | 0.2036 | 11 | 10.4 | 46 | 46.6 | 57 |
| 5 | 0.2335 | 16 | 12.7 | 42 | 45.3 | 58 |
|-------+--------+-------+-------+-------+-------+-------|
| 6 | 0.2788 | 11 | 14.5 | 46 | 42.5 | 57 |
| 7 | 0.3240 | 18 | 17.5 | 40 | 40.5 | 58 |
| 8 | 0.3764 | 24 | 19.8 | 33 | 37.2 | 57 |
| 9 | 0.4590 | 23 | 23.9 | 35 | 34.1 | 58 |
| 10 | 0.7283 | 27 | 29.3 | 30 | 27.7 | 57 |
+--------------------------------------------------------+

number of observations = 575


number of groups = 10
Hosmer-Lemeshow chi2(8) = 4.39
Prob > chi2 = 0.8199

137
Tab. 5.2
estat classification

Logistic model for dfree

-------- True --------


Classified | D ~D | Total
-----------+--------------------------+-----------
+ | 16 11 | 27
- | 131 417 | 548
-----------+--------------------------+-----------
Total | 147 428 | 575

Classified + if predicted Pr(D) >= .5


True D defined as dfree != 0
--------------------------------------------------
Sensitivity Pr( +| D) 10.88%
Specificity Pr( -|~D) 97.43%
Positive predictive value Pr( D| +) 59.26%
Negative predictive value Pr(~D| -) 76.09%
--------------------------------------------------
False + rate for true ~D Pr( +|~D) 2.57%
False - rate for true D Pr( -| D) 89.12%
False + rate for classified + Pr(~D| +) 40.74%
False - rate for classified - Pr( D| -) 23.91%
--------------------------------------------------
Correctly classified 75.30%
--------------------------------------------------

Tab. 5.3
estat classification, cutoff(.05)

Logistic model for dfree

-------- True --------


Classified | D ~D | Total
-----------+--------------------------+-----------
+ | 146 417 | 563
- | 1 11 | 12
-----------+--------------------------+-----------
Total | 147 428 | 575

Classified + if predicted Pr(D) >= .05


True D defined as dfree ~= 0
--------------------------------------------------
Sensitivity Pr( +| D) 99.32%
Specificity Pr( -|~D) 2.57%
Positive predictive value Pr( D| +) 25.93%
Negative predictive value Pr(~D| -) 91.67%
--------------------------------------------------
False + rate for true ~D Pr( +|~D) 97.43%
False - rate for true D Pr( -| D) 0.68%
False + rate for classified + Pr(~D| +) 74.07%
False - rate for classified - Pr( D| -) 8.33%
--------------------------------------------------
Correctly classified 27.30%
--------------------------------------------------

138
Incrementando via via il cutoff si completa la tabella.

Fig. 5.1
lsens

Fig. 5.2
lroc

Tab. 5.4
fitstat

Measures of Fit for logit of dfree

Log-Lik Intercept Only: -326.864 Log-Lik Full Model: -298.981


D(564): 597.963 LR(10): 55.766
Prob > LR: 0.000
McFadden's R2: 0.085 McFadden's Adj R2: 0.052
Maximum Likelihood R2: 0.092 Cragg & Uhler's R2: 0.136
McKelvey and Zavoina's R2: 0.159 Efron's R2: 0.095
Variance of y*: 3.913 Variance of error: 3.290
Count R2: 0.753 Adj Count R2: 0.034
AIC: 1.078 AIC*n: 619.963
BIC: -2985.902 BIC': 7.778

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

Logistic model for dfree, goodness-of-fit test

number of observations = 575


number of covariate patterns = 521
Pearson chi2(510) = 511.78
Prob > chi2 = 0.4695

estat gof, group(10) table

Logistic model for dfree, goodness-of-fit test

(Table collapsed on quantiles of estimated probabilities)


+--------------------------------------------------------+
| Group | Prob | Obs_1 | Exp_1 | Obs_0 | Exp_0 | Total |
|-------+--------+-------+-------+-------+-------+-------|
| 1 | 0.0939 | 4 | 4.1 | 54 | 53.9 | 58 |
| 2 | 0.1261 | 5 | 6.2 | 52 | 50.8 | 57 |
| 3 | 0.1631 | 8 | 8.5 | 50 | 49.5 | 58 |
| 4 | 0.2036 | 11 | 10.4 | 46 | 46.6 | 57 |
| 5 | 0.2335 | 16 | 12.7 | 42 | 45.3 | 58 |
|-------+--------+-------+-------+-------+-------+-------|
| 6 | 0.2788 | 11 | 14.5 | 46 | 42.5 | 57 |
| 7 | 0.3240 | 18 | 17.5 | 40 | 40.5 | 58 |
| 8 | 0.3764 | 24 | 19.8 | 33 | 37.2 | 57 |
| 9 | 0.4590 | 23 | 23.9 | 35 | 34.1 | 58 |
| 10 | 0.7283 | 27 | 29.3 | 30 | 27.7 | 57 |
+--------------------------------------------------------+

number of observations = 575


number of groups = 10
Hosmer-Lemeshow chi2(8) = 4.39
Prob > chi2 = 0.8199

quietly xi:logistic dfree age ndrgfp1 ndrgfp2 i.ivhx race treat site agendrgfp1
racesite

ldev

Logistic estimates for dfree, goodness-of-fit test

no. of observations = 575


no. of covariate patterns = 521
Deviance chi2(510) = 530.74
P>chi2 = 0.2541

Le delezioni di un determinato pattern di covariate si ottiene come segue:


logit dfree age ndrgfp1 ndrgfp2 ivhx2 ivhx3 race treat site agendrgfp1 racesite if n!=31

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)

Iteration 0: log likelihood = -326.86446


Iteration 1: log likelihood = -300.06724
Iteration 2: log likelihood = -298.98837
Iteration 3: log likelihood = -298.98146
Iteration 4: log likelihood = -298.98146

Logistic regression Number of obs = 575


LR chi2(10) = 55.77
Prob > chi2 = 0.0000
Log likelihood = -298.98146 Pseudo R2 = 0.0853

------------------------------------------------------------------------------
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)

Fig. 5.10 (a) (b) (c) (d)


Le figure 5.10 sono ottenuta, sulla base dei dati di Tab. 5.14, mediante il sw SigmaPlot.

Fig. 5.11 (a) (b) (c) (d)


I dati necessari per la costruzione delle figure si ottengono dalle (5.23) e (5.24) una volta definite le
costanti A e B rispettivamente con le (5.25) e (5.26).
I grafici sono stati realizzati con il sw SigmaPlot.

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 i − yˆi + yˆi − y )( yˆi − y )


= 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

Resta ancora da dimostrare che:


∑ ( yi − yˆi )( yˆi − y ) = 0
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)

Logistic regression Number of obs = 100


LR chi2(1) = 5.90
Prob > chi2 = 0.0151
Log likelihood = -66.183234 Pseudo R2 = 0.0427

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

Implementando un modello log-binomiale possiamo ottenere il RR:

. xi: glm lenses i.carrot, fam(bin) link(log) nolog eform


i.carrot _Icarrot_0-1 (naturally coded; _Icarrot_1 omitted)

Generalized linear models No. of obs = 100


Optimization : ML Residual df = 98
Scale parameter = 1
Deviance = 132.366467 (1/df) Deviance = 1.350678
Pearson = 100.0000007 (1/df) Pearson = 1.020408

Variance function: V(u) = u*(1-u) [Bernoulli]


Link function : g(u) = ln(u) [Log]

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
------------------------------------------------------------------------------

Ora stimiamo il RR tramite un modello di Poisson con varianza robusta.16

. xi: glm lenses i.carrot, fam(poisson) link(log) nolog robust eform


i.carrot _Icarrot_0-1 (naturally coded; _Icarrot_1 omitted)

Generalized linear models No. of obs = 100


Optimization : ML Residual df = 98
Scale parameter = 1

146
Deviance = 64.53613549 (1/df) Deviance = .658532
Pearson = 46.99999999 (1/df) Pearson = .4795918

Variance function: V(u) = u [Poisson]


Link function : g(u) = ln(u) [Log]

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
------------------------------------------------------------------------------

Calcoliamo ora il RR aggiustato per gender e latitude:

. 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)

Generalized linear models No. of obs = 100


Optimization : ML Residual df = 96
Scale parameter = 1
Deviance = 63.7617568 (1/df) Deviance = .664185
Pearson = 46.7434144 (1/df) Pearson = .4869106

Variance function: V(u) = u [Poisson]


Link function : g(u) = ln(u) [Log]

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.

6.2 Studi di coorte


Lo schema più semplice di uno studio di coorte consiste nel reclutare un campione casuale di soggetti
su cui misurare le covariate di interesse. Tali soggetti sono seguiti per un periodo di tempo prefissato
e, al termine di tale periodo, viene registrata la presenza o meno dell’outcome di interesse. (y = 1
presenza outcome; y = 0 assenza ).
In questo modello si assume che le covariate siano prive di componente erratica (misurate senza
errore) e che il verificarsi dell’outcome sia condizionato solo dai valori assunti dalle covariate.
Sotto queste assunzioni, e nell’iptesi di indipendenza delle osservazioni, la funzione di
verosimiglianza, per un campione di dimensione n, vale:
n
L ( β ) = ∏ P (Yi = yi | xi ) (6.1)
i =1

Se Y è codificato 0/1, tenuta presente la (1.4), si ottiene la (1.8).

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.

6.3 Studi Caso-Controllo


Forse una delle principali ragioni per cui il modello logistico ha incontrato un così grande successo in
ambito biomedico è la sua applicabilità anche agli studi caso-controllo.
Se da una parte è immediato riconoscere che l’Odds Ratio (OR) è invariante rispetto al tipo di studio
(di coorte o caso-controllo), dall’altro solo recentemente sono stati elaborati i dettagli matematici
che giustificano la comune pratica di analizzare gli studi caso-controllo nello stesso modo in cui si
trattano gli studi di coorte.17
A differenza degli studi di cooorte, l’outcome binario degli studi caso-contollo è oggetto di
stratificazione, nel senso che i casi e i controlli sono selezionati dallo sperimentatore.
Indichiamo con z una variabile che assume il valore 1 nel caso che un soggetto entri nello studio e 0
se ne è escluso e siano τ 1 e τ 0 rispettivamente le probabilità che una persona malata (sana) sia
incluso nello studio come caso (controllo).

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.

6.4 Campionamenti compessi (complex data surveys)


I software statistici “classici” conducono le loro stime sotto l’ipotesi che i dati analizzati provengano
da un campione casuale semplice. Tale assunzione, se da un lato è verificata quando abbiamo a che
fare con dati sperimentali o quasi-sperimentali, dall’altro è sicuramete violata in presenza di
campionamenti complessi che prevedano cluster e/o stratificazioni e che inseriscano le singole unità
con probabilità diverse (pesi).
In queste situazioni, l’uso di routine classiche porta a risultati inattendibili che in genere sottostimano
gli standard error e suggeriscono risultati statisticamente significativi, quando essi in realtà non lo
sono (aumento dell’errore tipo I).
Pertanto in presenza di campionamenti complessi, occorre utilizzare routine ad hoc che prevedano la
definizione puntuale del tipo di campionamento (cluster, stratificazioni, pesi) e computino stime ed
errori standard per vie alternative.
Anche il modello logistico, quando applicato su dati ottenuti con campionamenti complessi, necessita
di qualche aggiustamento. In pratica si lavorerà su una funzione di pseudo verosimiglianza che
permetterà di stimare i coefficienti del modello e la loro varianza.20
Per quando riguarda la definizione del modello, è importante sottolineare che, poiché si lavora con
una funzione di pseudo verosimiglianza, in luogo del consueto likelihood ratio test dovremo utilizzare
un Wald test multivariato in forma semplice (6.8) o modificata (6.9).
−1
W = βˆ '  var βˆ

()  βˆ

pxp 
W ∼ χ 2p (6.8)

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

Variables in the NHANES III Data Set

Variable Description Codes/Values Name


1 Respondent Identification Number SEQN
2 Pseudo-PSU 1,2 SDPPSU6
3 Pseudo-stratum 01 - 49 SDPSTRA6
4 Statistical weight 225.93 - 139744.9 WTPFHX6
5 Age years HSAGEIR
6 Sex 0 = Female, 1 = Male HSSEX
7 Race 1 = White, DMARACER
2 = Black, 3 = Other
8 Body Weight pounds BMPWTLBS
9 Standing Height inches BMPHTIN
10 Average Systolic BP mm Hg PEPMNK1R
11 Average Diastolic BP mm Hg PEPMNK5R
12 Has respondent smoked 1 = Yes, 2 = No HAR1
> 100 cigarettes in life
13 Does respondent smoke 1 = Yes, 2 = No HAR3
cigarettes now?
14 Smoking 1 = if HAR1 = 2 SMOKE
2 = if HAR1=1 & HAR3=2
3 = if HAR1=1 & HAR3=1
15 Serum Cholesterol mg/100ml TCP
16 High Blood Pressure 0 if PEPMNK1R <= 140 HBP
1 if PEPMNK1R > 140
Come esempio utilizzeremo il data set NHANES III discritto in Tab.6.1 ottenuto tramite un
campionamento complesso ottenuto con cluster (SDPSTRA6 01-49), stratificazione (SDPPSU6 1-2) e
assegnazione di pesi individuali (WTPFHX6 225.93-139744.9)
Il data set contiene 17030 osservazioni che rappresentano una popolazione di 177.2 milioni di adulti
viventi negli U.S.
In Tab. 6.2 vediamo le stime dei coefficienti del modello logistico contenente come variabili
indipendenti HSAGEIR, HSSEX, due variabili dummy per DMRACER, BMPWTLBS, BMPHTIN e due
variabili dummy per SMOKE e come variabile dipendente HBP.
Il modello è stato realizzato specificando i pesi assegnati a ciascuna osservazione (pweight =
WTPFHX6), il cluster (strata = SDPSTRA6) e la stratificazione (psu = SDPPSU6).
L’ipotesi nulla che tutti i coefficienti siano nulli si verifica, tramite un Wald test multivariato,
valutando la statistica W oppure con un Wald test multivariato modificato valutando la statistica F
come di seguito specificato.

()
−1
W = βˆ '  var βˆ  βˆ = 1806
 (6.10)
 8 x8 

P  χ 82 ≥ 1806  < 0.001

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 

La statistica di Wald modificata vale invece:

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

svyset SDPPSU6 [pweight = WTPFHX6], strata(SDPSTRA6)

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)

Survey: Logistic regression

Number of strata = 49 Number of obs = 16963


Number of PSUs = 98 Population size = 1.772e+08
Design df = 49
F( 8, 42) = 193.50
Prob > F = 0.0000

------------------------------------------------------------------------------
| 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

svy: logit HBP HSAGEIR HSSEX _IDMARACER_2 _IDMARACER_3 BMPWTLBS BMPHTIN


(running logit on estimation sample)

Survey: Logistic regression

Number of strata = 49 Number of obs = 16964


Number of PSUs = 98 Population size = 176946046
Design df = 49
F( 6, 44) = 205.76
Prob > F = 0.0000

------------------------------------------------------------------------------
| 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

logit HBP HSAGEIR HSSEX _IDMARACER_2 _IDMARACER_3 BMPWTLBS BMPHTIN

Iteration 0: log likelihood = -8602.8989


Iteration 1: log likelihood = -6870.2255
Iteration 2: log likelihood = -6671.2868
Iteration 3: log likelihood = -6663.7359
Iteration 4: log likelihood = -6663.7081

Logistic regression Number of obs = 16964


LR chi2(6) = 3878.38
Prob > chi2 = 0.0000
Log likelihood = -6663.7081 Pseudo R2 = 0.2254

------------------------------------------------------------------------------
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

Stratum Case Z2 Z1 np nt offset


1 0 0 0.6 657 180000 2.893834
1 0 1 0.6 45 2.893834
1 1 0 0.6 60 1007.9 2.893834
1 1 1 0.6 11 2.893834
2 0 0 0.6 191 102500 3.297688
2 0 1 0.6 14 3.297688
2 1 0 0.6 107 2421.44 3.297688
2 1 1 0.6 24 3.297688
3 0 0 0.6 178 68214.29 2.712804
3 0 1 0.6 13 2.712804
3 1 0 0.6 52 1611.37 2.712804
3 1 1 0.6 16 2.712804
4 0 0 0.14 685 109848.5 3.540513
4 0 1 0.14 40 3.540513
4 1 0 0.14 82 474.52 3.540513
4 1 1 0.14 26 3.540513
5 0 0 0.14 198 70666.67 3.995138
5 0 1 0.14 14 3.995138
5 1 0 0.14 130 1000 3.995138
5 1 1 0.14 33 3.995138
6 0 0 0.14 157 45526.32 3.990451
6 0 1 0.14 16 3.990451
6 1 0 0.14 131 783.45 3.990451
6 1 1 0.14 30 3.990451
7 0 0 1.07 467 42996.1 2.85168
7 0 1 1.07 40 2.85168
7 1 0 1.07 29 195.89 2.85168
7 1 1 1.07 11 2.85168
8 0 0 1.07 131 31063.83 3.597014
8 0 1 1.07 15 3.597014
8 1 0 1.07 63 431.49 3.597014
8 1 1 1.07 11 3.597014
9 0 0 1.07 70 10000 2.905416
9 0 1 1.07 7 2.905416
9 1 0 1.07 37 312.72 2.905416
9 1 1 1.07 7 2.905416
10 0 0 0.96 427 42523.37 2.299767
10 0 1 0.96 28 2.299767
10 1 0 0.96 38 431.12 2.299767
10 1 1 0.96 8 2.299767
158
11 0 0 0.96 138 27777.78 3.095244
11 0 1 0.96 12 3.095244
11 1 0 0.96 104 1022.63 3.095244
11 1 1 0.96 18 3.095244
12 0 0 0.96 196 18035.71 2.264368
12 0 1 0.96 6 2.264368
12 1 0 0.96 65 695.73 2.264368
12 1 1 0.96 10 2.264368

Esempio di calcolo della variabile offset per lo strato 1


offset = log ( ( ( 60 − 11) /1007.09 ) / ( ( 657 + 45) /180000 ) )
expand n
logit status z1 z2,offset(offset)

Iteration 0: log likelihood = -2512.5136


Iteration 1: log likelihood = -2437.429
Iteration 2: log likelihood = -2435.4593
Iteration 3: log likelihood = -2435.4592

Logistic regression Number of obs = 4848


Wald chi2(2) = 155.78
Log likelihood = -2435.4592 Prob > chi2 = 0.0000

------------------------------------------------------------------------------
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

gen hsagei_1=(HSAGEIR/10) if e(sample)==1


gen hsagei_2=(HSAGEIR/10)^3 if e(sample)==1
gen bmwpt_1=ln( BMPWTLBS)

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)

Survey: Logistic regression

Number of strata = 49 Number of obs = 16964


Number of PSUs = 98 Population size = 176946046
Design df = 49
F( 7, 43) = 152.77
Prob > F = 0.0000

------------------------------------------------------------------------------
| 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
------------------------------------------------------------------------------

Controllo dell’adeguatezza del modello

lfit HBP,beta(b) group(10) outsample table

Logistic model for HBP, goodness-of-fit test

(Table collapsed on quantiles of estimated probabilities)


+---------------------------------------------------------+
| Group | Prob | Obs_1 | Exp_1 | Obs_0 | Exp_0 | Total |
|-------+--------+-------+-------+-------+--------+-------|
| 1 | 0.0089 | 10 | 10.2 | 1687 | 1686.8 | 1697 |
| 2 | 0.0176 | 14 | 21.7 | 1682 | 1674.3 | 1696 |
| 3 | 0.0327 | 45 | 41.5 | 1652 | 1655.5 | 1697 |
| 4 | 0.0597 | 77 | 75.9 | 1619 | 1620.1 | 1696 |
| 5 | 0.1095 | 180 | 140.1 | 1516 | 1555.9 | 1696 |
|-------+--------+-------+-------+-------+--------+-------|
| 6 | 0.2001 | 306 | 254.7 | 1391 | 1442.3 | 1697 |
| 7 | 0.3174 | 488 | 440.2 | 1208 | 1255.8 | 1696 |
| 8 | 0.4167 | 691 | 625.5 | 1006 | 1071.5 | 1697 |
| 9 | 0.5129 | 823 | 785.4 | 873 | 910.6 | 1696 |
| 10 | 0.8415 | 842 | 998.0 | 854 | 698.0 | 1696 |
+---------------------------------------------------------+

160
number of observations = 16964
number of groups = 10
Hosmer-Lemeshow chi2(10) = 108.06
Prob > chi2 = 0.0000

Il test di Hosmer/Lemeshow è significativo, sopportando l’’ipotesi di un fitting inadeguato.


Dall’esame della tabella dei valori osservati vs gli attesi, emerge, per contro, una sostanziale
adeguatezza previsionale del modello.

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

La funzione di verosimiglianza totale vale


K
l ( β ) = ∏ lk ( β ) (7.4)
k =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

93.25 113.5 128.5 188.75


Weight at the Last Menstrual Period (LWT)

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.

7.2.1 Valutazione del fitting


Nel capitolo 5 abbiamo affrontato la valutazione del fitting di un modello logistico “classico”.
Abbiamo visto, tra l’altro, che il test di Hosmer-Lemeshow (test globale) basava i suoi presupposti su
una distribuzione m-asintotica ( mj numero di soggetti con lo stesso valore delle covariate).
Negli studi caso controllo il numero di covariate pattern corrisponde al numero di coppie, pertanto m
è sempre uguale a uno rendendo inapplicabile, in questo contesto, il test di Hosmer-Lemeshow e
tutti gli altri test basati sulla distribuzione m-asintotica.
Per quanto riguarda le statistiche diagnostiche, già descritte in precedenza, è stato dimostrato23 che
possono ricavarsi utilizzando le variabili differenza x* = x1 − x0 da inserire nel consueto modello
logistico.
Riportiamo di seguito i grafici più informativi rispetto alla valutazione del fitting.

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

Estimated Odds Ratios and 95% Confidence


Intervals for Model in Tab. 7.3
Variable OR 95% CI
lwt10 .8599902 .7330781 1.008874
SMOKE 4.391033 1.459403 13.21169
PTD 5.315325 1.229836 22.97272
HT 10.27138 1.439651 73.28251
UI 3.837782 .9850994 14.95135

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

Variable Description Codes/Values Name


1 Stratum 1 - 50 STR
2 Observation within Stratum 1 = Case, OBS
2 - 4 = Control
3 Age at Interview Years AGMT
4 Final Diagnosis 1 = Case, 0 = Control FNDX
5 Highest Grade in School 5 - 20 HIGD
6 Degree 0 = None DEG
1 = High School
2 = Jr. College
3 = College
4 = Masters
5 = Doctoral
7 Regular Medical Check-ups 1 = Yes, 2 = No CHK
8 Age at First Pregnancy Years AGP1
9 Age at Menarche Years AGMN
10 No. of Stillbirths, 0 - 7 NLV
Miscarriages etc.
11 Number of Live Births 0 - 11 LIV
12 Weight of the Subject Pounds WT
At Interview
13 Age at Last Menstrual Period Years AGLP
14 Marital Status 1 = Married MST
2 = Divorced
3 = Separated
4 = Widowed
5 = Never Married

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

Estimated Coefficients, Estimated Standard Errors, Wald Statistics,


Two-Tailed p-Values and 95% Confidence Intervals for the
Multivariable Model
Variable Coeff. Std. Err. z P>|z| 95% CI
CHK -1.12185 0.447447 -2.51 0.012 -1.99883 -0.24487
AGMN 0.356133 0.129172 2.76 0.006 0.102961 0.609306
WT -0.02836 0.009978 -2.84 0.004 -0.04791 -0.0088
_Imst_2 -0.20305 0.647291 -0.31 0.754 -1.47171 1.06562
_Imst_4 -0.49158 0.817309 -0.6 0.548 -2.09348 1.110314
_Imst_5 1.472195 0.758206 1.94 0.052 -0.01386 2.958252

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

Stratum, Data, Estimated Probability, and the Three Diagnostic


Statistics ∆β, ∆X2, and Leverage (h) for Five Influential and
Poorly Fit Strata
STR OBS CHK AGMN WT NVMR θˆ ∆βˆ ∆X 2 h
10 1 2 12 105 0 0.11 0.22 7.21 0.03
10 2 1 13 115 0 0.39 0.01 0.4 0.02
10 3 2 12 120 0 0.07 <0.01 0.07 0.02
10 4 1 16 150 0 0.42 0.02 0.45 0.05
12 1 2 10 170 0 0.01 0.71 84.55 0.01
12 2 1 13 140 0 0.26 0.02 0.27 0.06
12 3 1 11 240 0 0.01 <0.01 0.01 0.01
12 4 2 16 100 0 0.73 0.02 0.75 0.03
18 1 2 14 135 0 0.05 0.73 17.96 0.04
18 2 1 14 132 1 0.89 0.01 0.9 0.01
18 3 1 11 205 0 0.01 <0.01 0.01 0.01
18 4 1 10 127 0 0.05 <0.01 0.05 0.03
24 1 2 15 145 0 0.07 0.17 13.22 0.01
24 2 1 13 140 0 0.12 <0.01 0.12 0.01
24 3 1 17 155 0 0.33 0.01 0.34 0.03
24 4 1 15 116 0 0.48 0.01 0.49 0.02
31 1 2 16 156 0 0.17 0.24 4.35 0.05
31 2 2 12 161 0 0.03 <0.01 0.03 0.01
31 3 1 13 150 0 0.22 <0.01 0.22 0.01
31 4 1 13 115 0 0.58 0.01 0.6 0.02

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)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 2.51
Prob > chi2 = 0.1131
Log likelihood = -37.561103 Pseudo R2 = 0.0323

------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT | -.0093749 .0061654 -1.52 0.128 -.0214589 .0027091
------------------------------------------------------------------------------

. gen LWT10 = LWT/10


. clogit LOW LWT10, group(PAIR) or

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 2.51
Prob > chi2 = 0.1131
Log likelihood = -37.561103 Pseudo R2 = 0.0323

------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
LWT10 | .9105114 .0561368 -1.52 0.128 .8068732 1.027461
------------------------------------------------------------------------------

. clogit LOW SMOKE, group(PAIR)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 6.79
Prob > chi2 = 0.0091
Log likelihood = -35.419282 Pseudo R2 = 0.0875

------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 1.011601 .4128614 2.45 0.014 .2024074 1.820794
------------------------------------------------------------------------------

. clogit LOW SMOKE, group(PAIR) or

------------------------------------------------------------------------------
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)

. egen test = total(SMOKE), by(PAIR)

list PAIR SMOKE test in 1/20

+---------------------+
| 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

. xi: clogit LOW i.RACE, group(PAIR)


i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(2) = 0.06
Prob > chi2 = 0.9714
Log likelihood = -38.787243 Pseudo R2 = 0.0007
------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_IRACE_2 | .0870496 .5233129 0.17 0.868 -.9386249 1.112724
_IRACE_3 | -.0290003 .396792 -0.07 0.942 -.8066982 .7486977
------------------------------------------------------------------------------

181
i. xi: clogit LOW i.RACE, group(PAIR) or
i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(2) = 0.06
Prob > chi2 = 0.9714
Log likelihood = -38.787243 Pseudo R2 = 0.0007
------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_IRACE_2 | 1.090951 .5709087 0.17 0.868 .3911654 3.042636
_IRACE_3 | .9714162 .3854501 -0.07 0.942 .4463293 2.114245
------------------------------------------------------------------------------

. clogit LOW PTD, group(PAIR)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 6.78
Prob > chi2 = 0.0092
Log likelihood = -35.424856 Pseudo R2 = 0.0874

------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
PTD | 1.321756 .5627314 2.35 0.019 .2188225 2.424689
------------------------------------------------------------------------------

. clogit LOW PTD, group(PAIR) or

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 6.78
Prob > chi2 = 0.0092
Log likelihood = -35.424856 Pseudo R2 = 0.0874

------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
PTD | 3.75 2.110243 2.35 0.019 1.24461 11.29872
------------------------------------------------------------------------------

Numero di coppie discordanti (ultima colonna di tabella 7.1)

. 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 |
+-------------------+

. tab LOW PTD if test == 1

| PTD
LOW | 0 1 | Total
-----------+----------------------+----------
0 | 15 4 | 19
1 | 4 15 | 19
-----------+----------------------+----------
Total | 19 19 | 38

. clogit LOW HT, group(PAIR)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 1.65
Prob > chi2 = 0.1996
Log likelihood = -37.993413 Pseudo R2 = 0.0212

------------------------------------------------------------------------------
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

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 1.65
Prob > chi2 = 0.1996
Log likelihood = -37.993413 Pseudo R2 = 0.0212

------------------------------------------------------------------------------
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
HT | 2.333333 1.610152 1.23 0.220 .6033812 9.023218
------------------------------------------------------------------------------

. clogit LOW UI, group(PAIR)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 4.19
Prob > chi2 = 0.0408
Log likelihood = -36.72325 Pseudo R2 = 0.0539

------------------------------------------------------------------------------
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
UI | 1.098612 .5773502 1.90 0.057 -.0329738 2.230197
------------------------------------------------------------------------------

. clogit LOW UI, group(PAIR) or

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(1) = 4.19
Prob > chi2 = 0.0408
Log likelihood = -36.72325 Pseudo R2 = 0.0539

------------------------------------------------------------------------------
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)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(7) = 26.04
Prob > chi2 = 0.0005
Log likelihood = -25.794271 Pseudo R2 = 0.3355

------------------------------------------------------------------------------
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)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(5) = 25.16
Prob > chi2 = 0.0001
Log likelihood = -26.236872 Pseudo R2 = 0.3241

------------------------------------------------------------------------------
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)

Conditional (fixed-effects) logistic regression Number of obs = 112


LR chi2(6) = 26.39
Prob > chi2 = 0.0002
Log likelihood = -25.619273 Pseudo R2 = 0.3400

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.

Fractional polynomial model comparisons:


---------------------------------------------------------------
LWT df Deviance Dev. dif. P (*) Powers
---------------------------------------------------------------
Not in model 0 56.299 5.060 0.281
Linear 1 52.474 1.235 0.745 1
m = 1 2 51.541 0.302 0.860 3
m = 2 4 51.239 -- -- 3 3
---------------------------------------------------------------
(*) P-value from deviance difference comparing reported model with m = 2 model

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

50% 120 Mean 127.1696


Largest Std. Dev. 30.46986
75% 136.5 200
90% 168 215 Variance 928.4124
95% 190 235 Skewness 1.434646
99% 235 241 Kurtosis 5.353944

. 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

. input coef2go lwt2go


. 0 93.25
. -.399 113.25
. -.433 128.25
. -.889 188.75
. end

. graph twoway scatter coef2go lwt2go,connect(l) ylabel(-1(.25)0) xlabel(93.25 113.5


128.5 188.75)

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

Difference of 3.520 in BIC' provides positive support for saved model.


Note: p-value for difference in LR is only valid if models are nested.

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"

. clogit fndx chk , group(str)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(1) = 12.99
Prob > chi2 = 0.0003
Log likelihood = -62.817366 Pseudo R2 = 0.0937

------------------------------------------------------------------------------
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

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(1) = 12.99
Prob > chi2 = 0.0003
Log likelihood = -62.817366 Pseudo R2 = 0.0937

------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
chk | .2878128 .1098124 -3.26 0.001 .1362516 .6079648
------------------------------------------------------------------------------

. clogit fndx agmn, group(str)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(1) = 21.76
Prob > chi2 = 0.0000
Log likelihood = -58.432931 Pseudo R2 = 0.1570

------------------------------------------------------------------------------
fndx | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
agmn | .4717591 .1109862 4.25 0.000 .25423 .6892881
------------------------------------------------------------------------------

. gen agmn2 = agmn/2


. clogit fndx agmn2, group(str) or

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(1) = 21.76
Prob > chi2 = 0.0000
Log likelihood = -58.432931 Pseudo R2 = 0.1570

------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
agmn2 | 2.569004 .5702481 4.25 0.000 1.662729 3.969246
------------------------------------------------------------------------------

. clogit fndx wt, group(str)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(1) = 25.53
Prob > chi2 = 0.0000
Log likelihood = -56.551372 Pseudo R2 = 0.1841

------------------------------------------------------------------------------
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

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(1) = 25.53
Prob > chi2 = 0.0000
Log likelihood = -56.551373 Pseudo R2 = 0.1841

------------------------------------------------------------------------------
fndx | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
wt10 | .7035689 .0605019 -4.09 0.000 .5944419 .8327293
------------------------------------------------------------------------------

. xi: clogit fndx i.mst, group(str)


i.mst _Imst_1-5 (naturally coded; _Imst_1 omitted)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(3) = 7.28
Prob > chi2 = 0.0635
Log likelihood = -65.674935 Pseudo R2 = 0.0525

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

. xi: clogit fndx i.mst, group(str) or


i.mst _Imst_1-5 (naturally coded; _Imst_1 omitted)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(3) = 7.28
Prob > chi2 = 0.0635
Log likelihood = -65.674935 Pseudo R2 = 0.0525

------------------------------------------------------------------------------
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)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(6) = 48.20
Prob > chi2 = 0.0000
Log likelihood = -45.214824 Pseudo R2 = 0.3477

------------------------------------------------------------------------------
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)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(4) = 47.75
Prob > chi2 = 0.0000
Log likelihood = -45.439011 Pseudo R2 = 0.3445

------------------------------------------------------------------------------
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 | Freq. Percent Cum.


------------+-----------------------------------
10 | 1 20.00 20.00
12 | 1 20.00 40.00
18 | 1 20.00 60.00
24 | 1 20.00 80.00
31 | 1 20.00 100.00
------------+-----------------------------------
Total | 5 100.00

. format p _dbeta _dx2 _hat %4.2f


. list str obs chk agmn wt nvmr p _dbeta _dx2 _hat if str == 10 | str == 12 | str ==18
| str == 24 | str ==31

+--------------------------------------------------------------------+
| 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)

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(4) = 47.75
Prob > chi2 = 0.0000
Log likelihood = -45.439011 Pseudo R2 = 0.3445

------------------------------------------------------------------------------
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)

Conditional (fixed-effects) logistic regression Number of obs = 196


LR chi2(4) = 49.65
Prob > chi2 = 0.0000
Log likelihood = -43.104413 Pseudo R2 = 0.3654

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

. matrix del10 = e(b)


. matrix diff = J(1,4,0)
/* da un file do */
. local i = 1
. while `i' <= 4 {
. matrix diff[1,`i']= 100*((del10[1,`i']-all[1,`i'])/all[1,`i'])
. local i = `i' + 1
. }
. matrix list diff

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

Conditional (fixed-effects) logistic regression Number of obs = 200


LR chi2(4) = 47.75
Prob > chi2 = 0.0000
Log likelihood = -45.439011 Pseudo R2 = 0.3445

------------------------------------------------------------------------------
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 ) 

E l’espressione generale della probabilità condizionata risulta:


exp  g j ( x ) 
P (Y = j | x ) = π j ( x ) = 2
dove β 0 = 0 e g 0 ( x ) = 0 (8.6)
∑ exp  gk ( x )
k =0

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

si ottengono dalle (8.10), valutate in corrispondenza di β̂ e cambiandone il segno.


La stima della matrice di covarainza degli stimatori di massima verosimiglianza è l’inversa della
matrice di informazione osservata:

() ()
−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

8.1.2 Interpretazione dei Coefficienti Stimati


In questo paragrafo, con riferimento al data set descritto in Tab. 8.1, cercheremo di interpretare i
coefficienti del modello tramite una esemplificazione.
Assumeremo che l’ outcome Y = 0 sia l’outcome di riferimento.
Inoltre il pedice associato all’odds ratio indicherà con quale outcome si starà comparando l’outcome
di riferimento. Ad esempio, l’odds ratio dell’outcome Y = j verso l’outcome di riferimento Y = 0 in
corrispondenza di valori di covariate x = a vs x = b verrà indicato come:
P ( Y = j | x = a ) / P (Y = 0 | x = a )
OR j ( a, b ) =
P (Y = j | x = b ) / P ( Y = j | x = b )
Tab. 8.1
Code Sheet for the Variables in the Mammography Experience Study
Variable Description Codes/Values Name
1 Identification Code 1-412 OBS
2 Mammograph Experience 0 = Never ME
1 = Within One Yea
2 = Over One Year Ago
3 "You do not need a mamogram unless 1 = Strongly Agree SYMPT
you develop symptoms" 2 = Agree
3 = Disagree
4 = Stongly Disagree
4 Perveived benefit of mammography* 5 - 20 PB
5 Mother or Sister with a history 0 = No, 1 = Yes HIST
of breast cancer
6 "Has anyone taught you how to 0 = No, 1 = Yes BSE
examine your own breasts: that is BSE"
7 "How likelyis it that a mamogram 1= Not likely DETC
could find a new case of 2 = Somewhat likely
breast cancer" 3 = Very likely

*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

In Tab. 8.3 riportiamo il risultato del fitting del modello multinomiale.

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

Da cui i limiti per l’intervallo di confidenza, al 95%, della differenza valgono:


CI 95% = −0.247 ± 1.96 ⋅ 0.1712 = [ −1.058;0.564] (8.15)
Poiché l’intervallo di confidenza comprende lo zero, non possiamo affermare che il log-odds per
ME=1 è differente dal log-odds relativo a ME=2.

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

CI 95% = exp ( −1.058) ;exp ( 0.564 )  = [ 0.347;1.758]


Poiché la differenza tra i due odds ratio non è statisticamente significativa, potrebbe essere
giustificato ricodificare la variabile outcome solo su due livelli: “sottoposta a mammografia” vs “mai
sottoposta a mammografia”. Affronteremo successivamente questo problema.

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

Cross-Classification of Mammography Experience (ME) by DECT.


DETC
ME 1 2 3 Total
Never (0) 13 77 144 234
Within 1 Year (1) 1 12 91 104
Over 1 Year (2) 4 16 54 74
Total 18 105 289 412

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.

8.1.3 Strategie di realizzazione del Modello Logistico Multinomiale


In linea di principio le strategie e i metodi utilizzati per la costruzione del modello logistico ordinario
possono estendersi facilmente anche al modello multinomiale.
Tuttavia le selezioni automatiche (stepwise) utilizzate per determinare le variabili indipendenti
significative non sono normalmente disponibili in package di uso corrente, ed è questa la ragione per
cui , in questo paragrafo, illustreremo solo le strategie “manuali” per la selezione delle variabili.
Con riferimento al data set descritto in Tab.8.1 iniziamo col costruire il modello completo (Tab.8.7).
Tab. 8.7
Estimated Coefficients, Estimated Standard Errors, Wald Statistics and Two-Tailed
p-Values for the Full Multivariable Model Fit to the Mammography Experience Data
ME Variable Coef. Std. Err. z P>z [95% Conf.Interval]
_ISYMPT_2 0.110037 0.922761 0.12 0.905 -1.69854 1.918615
_ISYMPT_3 1.924708 0.777598 2.48 0.013 0.400645 3.448771
_ISYMPT_4 2.456993 0.775332 3.17 0.002 0.937369 3.976616
PB -0.21944 0.075514 -2.91 0.004 -0.36744 -0.07143
1 HIST 1.366239 0.43752 3.12 0.002 0.508716 2.223762
BSE 1.291666 0.529891 2.44 0.015 0.253099 2.330234
_IDETC_2 0.017021 1.161896 0.01 0.988 -2.26025 2.294296
_IDETC_3 0.904138 1.126822 0.8 0.422 -1.30439 3.112668
_cons -2.99875 1.53922 -1.95 0.051 -6.01557 0.018066
_ISYMPT_2 -0.29008 0.644064 -0.45 0.652 -1.55243 0.972258
_ISYMPT_3 0.817314 0.539792 1.51 0.13 -0.24066 1.875287
_ISYMPT_4 1.132239 0.54767 2.07 0.039 0.058825 2.205654
PB -0.14821 0.076369 -1.94 0.052 -0.29789 0.001473
2 HIST 1.065436 0.459396 2.32 0.02 0.165037 1.965836
BSE 1.052144 0.514989 2.04 0.041 0.042784 2.061505
_IDETC_2 -0.92439 0.713738 -1.3 0.195 -2.32329 0.474508
_IDETC_3 -0.69053 0.687108 -1 0.315 -2.03724 0.656174
_cons -0.98609 1.111832 -0.89 0.375 -3.16524 1.193059

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.

Valutazione della eventuale esclusione della variabile DETC


Dato che in Tab. 8.8 tutti i coefficienti relativi alla variabile DETC non sono significativi, potrebbe
essere giustificato analizzare un modello privo di tale variabile (Tab. 8.9)
Tab. 8.9
Estimated Coefficients, Estimated Standard Errors, Wald Statistics and Two-Tailed
p-Values for the Model Fit Excluding DETC to the Mammography Experience Data
ME Variable Coef. Std. Err. z P>z [95% Conf.Interval]
SYMPTD 2.230432 0.451959 4.94 0 1.344609 3.116255
PB -0.28254 0.071349 -3.96 0 -0.42239 -0.1427
1 HIST 1.29663 0.429303 3.02 0.003 0.455211 2.138049
BSE 1.220961 0.521042 2.34 0.019 0.199737 2.242185
_cons -1.78877 0.847072 -2.11 0.035 -3.449 -0.12854
SYMPTD 1.153122 0.351375 3.28 0.001 0.464439 1.841805
PB -0.15779 0.071178 -2.22 0.027 -0.2973 -0.01829
2 HIST 1.061324 0.452677 2.34 0.019 0.174093 1.948556
BSE 0.960382 0.507202 1.89 0.058 -0.03372 1.95448
_cons -1.74214 0.808682 -2.15 0.031 -3.32713 -0.15715

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

5 6.5 8.5 13.5


Perceived Benefit

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.

Uso dei polinomi frazionari


Con il metodo dei polinomi frazionari, né il termine m = 1 nè il termine m = 2 si dimostrano superiori
al termine lineare nei due logit. Pertanto decidiamo di inserire la variabile PB continua e lineare in
entrambi i logit.

Fitting individual logistic regression models vs multinomial logistic


La Tab. 8.11 mostara iI coefficienti relativi al modello multinomiale e ai modelli con logit individuali.
Come si può vedere le differenze sia tra i coefficienti, sia tra gli standard error sono minime: quindi in
assenza di software specifici, possiamo utilizzare i software per la logistica ordinaria analizzando
separatamente le due funzioni logit.
Procedendo in tal modo si consegue tra l’altro il vantaggio di poter più facilmente realizzare un
modello più parsimonioso. Nel caso che una covariata sia significativa solo per alcune funzioni logit,
per semplificare il modello dovremmo forzare a zero i coefficienti non significativi all’interno di
specifiche funzioni logit e stimare solo i valori dei soli coefficienti dei restanti logit. Questa strategia,
che non è normalmente disponibile nei software multinomiale, può essere con facilità perseguita
analizzando separatamente le funzioni logit.
208
Tab. 8.11
Comparison of Maximum Likelihood Estimates, MLE, and the
Estimates from Individual Logistic Regression Fits, ILR
MLE ILR
ME Variable Coef. Std.Err. Coef. Std.Err.
SYMPTD 2.09475 0.45743 2.091002 0.465129
PB -0.24947 0.072579 -0.24261 0.073756
HIST 1.309864 0.433602 1.385025 0.46826
1
BSE 1.237011 0.525424 1.363308 0.533899
DETCD 0.885184 0.356238 0.852694 0.365456
Constant -2.62376 0.926396 -2.76509 0.94218
SYMPTD 1.127417 0.356362 1.15299 0.356579
PB -0.15432 0.072621 -0.15377 0.072601
HIST 1.063179 0.452841 1.097696 0.459341
2
BSE 0.95601 0.507337 0.9535 0.509742
DETCD 0.114157 0.318212 0.098705 0.319079
Constant -1.82388 0.855093 -1.8381 0.860046

8.1.4 Valutazione del Fit e Diagnostica del Modello Logistico Multinomiale


Come sempre, prima di convalidare definitivamente il modello , dobbiamo valutare il fitting globale e
il contributo individuale di ciascuna osservazione a tale fitting.
Si può procedere valutando le due funzioni logit separatamente e applicando ad esse i metodi
illustrati in precedenza a proposito del modello logistico binario.
In Tab. 8.12 sono presentati i risultati dei test di fitting globali applicati separatamente alle due
funzioni logit.
Tab. 8.12
Summary Goodness-of-Fit Statistics (p-Value) for
Individual Logistic Regressions
Logit HL(Cˆ ) Pearson (X2) Stukel(S)
1 12.20 (0.142) 67.84 (0.996) 1.02 (0.601)
2 9.62 (0.293) 68.83 (0.733) 1.86 (0.393)

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

∆X 2 33.585 7.037 3.818 9.490 2.534


∆D 5.820 6.586 5.268 4.781 3.014
h 0.016 0.198 0.200 0.027 0.282

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

8.2.1 Introduzione ai Modelli e Interpretazione dei parametri


Ci sono situazioni in cui la variabile outcome è multipla e di carattere ordinale (assenza di malattia,
presenza di malattia allo stato iniziale, presenza malattia in stato finale, oppure fortemente in
disaccordo, in disaccordo, parzialmente in accordo, totalmente in accordo).
In tutte questi casi potremo utilizzare il modello multinomiale descritto nella sezione precedente.
Procedendo in tal modo, tuttavia, non terremmo conto della natura ordinale dell’outcome e di
conseguenza gli odds ratio stimati potrebbero non essere adeguati a definire le risposte corrette
imposte dall’analisi dei dati.
Uno dei maggiori problemi che si incontra nella regressione logistica ordinale consiste nel fatto che, a
differenza dello logistico ordinaria, non esiste un modello unico di riferimento, ma si deve scegliere
tra più modelli in base soprattutto alle domande a cui si deve dar risposta.
Nel seguito illustreremo i tre modelli maggiormente diffusi:
1. il modello a categorie adiacenti;
2. il modello a rapporto continuo;
3. il modello a odds proporzionale.
Modello ordinale a categorie adiacenti
Supporremo che la variabile outcome ordinale, Y, possa assumere K+1 valori codificati 0, 1, 2,…, K.
Inoltre indicheremo con P [Y = k | x ] = φk ( x ) la probabilità che l’outcome sia uguale a k
condizionata da un vettore , x, di p covariate.
Se, con queste premesse, assumiamo che il modello sia il modello multinomiale logistico definito
nella sezione 8.1, posto allora φk ( x ) = π k ( x ) e K =2, il modello è descritto dalle equazioni (8.3)-(8.5).
Tale modello, nel contesto della regressione logistica ordinale, viene frequentemente definito come il
modello logit di base (baseline logit model): questo termine trova giustificazione nel fatto che il
modello è normalmente prametrizzato in modo tale che i coefficienti siano i log-odds che
confrontano la categoria Y =k con la categoria di base, Y = 0. Come mostrato nella sezione 8.1, il
modello logistico di base, pienamente parametrizzato, ha K·(p+1) coefficienti e i logit hanno la
seguente espressione generale:
π ( x) 
g k ( x ) = log  k  = β k 0 + x '⋅ β k k = 1, 2,...K (8.26)
 π 0 ( x ) 
Quando dal modello multinomiale di base dirigiamo la nostra attenzione verso il modello logistico
ordinale, noi dovremo anche decidere quali outcome confrontare e in base a ciò scegliere il modello
adeguato. Per esempio, supponiamo che il nostro interesse sia quello di confrontare ciascuna
risposta con la risposta ordinale successiva. In tal caso useremo il modello a categorie adiacenti.
Se assumiamo che i log odds non dipendano dalla risposta e che siano lineari nei coefficienti, allora i
logit relativi a categorie adiacenti possono essere espressi come:
 φ (x) 
ak ( x ) = log  k  = α k + x 'β k = 1, 2,...K (8.27)
 φk −1 ( x ) 
Tali logit sono una versione vincolata dei logit riferiti al modello multinomiale di base. Infatti,
esprimendo i logit del modello multinomiale di base in funzione di logit adiacenti si ha:

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.

Modello ordinale a rapporto continuo


Supponiamo che, invece di comparare una risposta con la successiva, il nostro obiettivo sia di
confrontare ciascuna risposta con tutte le precedenti. In altri termini siamo interessati al confronto
della risposta Y = k vs le risposte Y < k con k = 1,2,…,K.
Questo modello viene definito modello logistico a rapporto continuo e i logit sono definiti come
segue:
 P (Y = k | x ) 
rk ( x ) = log  
 P (Y < k | x ) 
 φk ( x ) 
= log   (8.31)
 φ0 ( x ) + φ1 ( x ) + ... + φk −1 ( x ) 
= θk + x ' β k = 1, 2,....K

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)

Modello ordinale con odds proporzionali


Supponiamo ora di volere comparare la probabilità di una risposta inferiore o uguale a k ( Y ≤ k ) con
la probabilità di una risposta maggiore di k (Y > k).
 P (Y ≤ k | x ) 
ck ( x ) = log  
 P (Y > k | x ) 
 φ ( x ) + φ1 ( x ) + ... + φk ( x ) 
= log  0  (8.33)
 φk +1 ( x ) + φk + 2 ( x ) + ... + φK ( x ) 
= τ k − x 'β k = 0,1,...K − 1

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

Variable Description Codes/Values Name


1 Identification Code ID Number ID
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, 1 = One, PTL
2 = Two, etc.
8 History of Hypertension 0 = No, 1 = Yes HT
9 Presence of Uterine 0 = No, 1 = Yes UI
Irritability
10 Number of Physician Visits 0 = None, 1 = One FTV
During the First Trimester 2 = Two,etc.
11 Birth Weight Grams BWT

Modello a categorie adiacenti


Per prima cosa categorizziamo la variabile risposta in quattro categorie (0,1,2,3) assegnando alla
categoria 0 (categoria di riferimento) la categoria contraddistinta dal peso massimo. Introdurremo
pertanto la variabile BWT4 così categorizzata:

BWT ≤ 2500   BWT 4 = 3


2500 < BWT ≤ 3000   BWT 4 = 2

 → 
3000 < BWT ≤ 3500   BWT 4 = 1
BWT > 3500   BWT 4 = 0

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

aˆ3 ( SMOKE ) = αˆ 3 + β31 ⋅ SMOKE = ( βˆ 30 − βˆ20 ) + βˆ


31 ⋅ SMOKE = 0.266 + 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.

Modello a rapporto continuo


Come mostrato in precedenza, i coefficienti relativi a questo modello permettono di calcolare i log
odds di una nascita nella categoria di peso immediatamente inferiore rispetto ad una nascita in tutte
le categorie di peso superiori.

 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.

Modello a log odds proporzionali


Questo modello è probabilmente il più usato e si differenzia dai precedenti , che confrontavano un
singolo outcome vs una o più risposte (Y =k vesus Y = k-1 oppure Y = k versus Y < k), per il fatto di
confrontare outcome inferiori ad un certo livello versus quelli di livello superiore.
Per esempio se l’outcome fosse il livello di malattia, il modello a log odds proporzionali valuterebbe il
log odds di una malattia al di sotto di un certo livello di gravità versus una malattia con livello di
gravità superiore. Il vincolo che viene imposto al modello è che il log odds non dipende dal
particolare livello raggiunto dall’outcome. In sostanza questo modello focalizza la sua attenzione
sulla direzione generale della risposta piuttosto che sugli effetti nei confronti di un singolo outcome.
Per prima cosa useremo il data set utilizzato in precedenza per derivare intuitivamente il modello
sulla base di una ipotetica sottostante risposta continua. Ciò, tra l’altro, permetterà di utilizzare
alcuni concetti derivati dalla regressione lineare.
Definiamo pertanto un nuovo outcome BWT4N codificato come segue:
0 BWT ≤ 2500
1 2500 < BWT ≤ 3000

BWT 4 N 
2 3000 < BWT ≤ 3500
 3 BWT > 3500
Fig. 8.2

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

MIN 2500 3500 MAX


.05

0 1000 2000 3000 4000 5000


BWT

Plot of the hypotetical underlying logistic distribution at LWT = 125

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

Applicando il modello lineare sui dati reali si otterrebbe λ0 = 1.316 β = 0.00848


a

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

Plot of hypothetical underlying logistic distribution at LWT = 175

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.

8.2.3 La costruzione del modello logistico ordinale


I passi necessari alla costruzione di un modello logistico ordinale, identici a quelli già descritti a
proposito del modello logistico binario, vengono di seguito richiamati:

1. selezionare gli effetti principali;


2. scegliere la scala più approppriata con cui inserire le covariate continue;
3. controllare che le covariate omesse non siano dei confondenti degli effetti principali;
4. controllare le assunzioni del modello confrontando il modello vincolato con il modello di
base non vincolato;
5. valutare la bontà del fit globale e identificare potenziali outlier (usare modelli binari
separati)

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.

8.3.1 Modello logistico per dati correlati: esemplificazione


Applicheremo i due modelli, precedentemente illustrati, al data base descritto in Tab. 8.25 e di cui
riportiamo in Tab. 8.26 il listing di alcuni record.

Tab. 8.25
Code Sheet for the Variables in the Longitudinal Low Birth Weight Study

Variable Description Codes/Values Name


1 Identification Code ID Number ID
2 Birth Number 1-4 BIRTH
3 Smoking Status 0 = No, 1 = Yes SMOKE
During Pregnancy
4 Race 1 = White, 2 = Black RACE
3 = Other
5 Age of Mother Years AGE
6 Weight of Mother at Pounds LWT
Last Menstrual Period

7 Birth Weight Grams BWT


8 Low Birth Weight 1 = BWT <=2500g, LOW
0 = BWT >2500g

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

AGE 0.141 0.058 0.055


LWT -0.015 -0.009 -0-006
SMOKE 1.861 0.702 0.733

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.

Population Average Model


Gli Odds Ratio ottenuti dall’applicazione di questo modello sono abbastanza facili da interpretare e
rapportano gli odds ottenuti dalle proporzioni di soggetti a differenti livelli della covariata di
confronto una volta che si mantengano fisse tutte le altre covariate.
Per esempio l’Odds Ratio stimato per la variabile di confronto SMOKE è 2.017
L’interpretazione è che l’Odds di avere un neonato di basso peso tra le proporzioni di donne che
fumano è circa il doppio dell’Odds riferito alle donne che non fumano, una volta che si mantengano
fisse età e peso della madre in corrispondenza dell’ultima mestruazione.
In modo analogo si interpretano gli Odds Ratio di AGE e LWT.
Questi Odds Ratio stimati descrivono il rischio di un evento nell’ambito di un porzione di popolazione
e, in questo senso, si avvicina, dal punto di vista interpretativo agli Odds Ratio ottenuti dal modello
logistico classico e descritti al Capitolo 3.
D’altra parte avevamo già sottolineato che, con una correlazione intracluster nulla, ossia con ρ = 0, il
modello Population Average coincide con il modello logistico classico.
Comunque sia una cosa deve essere ben chiara: gli Odds Ratio ottenuti da questo modello si
riferiscono ad una proporzione di soggetti e non al singolo individuo.

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.

8.3.1.2 Considerazioni finali


Per quanto riguarda la valutazione del fit dei modelli, sorgono numerose complicazioni.
Con riferimento al Population Average Model potremmo usare il consueto test di Hosmer-Lemeshow.
Tuttavia tale test è sconsigliato quando:
1. i cluster sono pochi;
2. le correlazioni intracluster sono elevate
3. ci sono poche osservazioni nei cluster
Una o più di queste condizioni, nella pratica, si verificheranno sempre, per cui il test di
Hosmer-Lemeshow, in questo contesto, è di scarsa applicabilità.
Il test di Hosmer-Lemeshow potrebbe essere usato teoricamente anche nel Cluster-specific Model
Tuttavia dovremmo usare dei valori fittati che includano gli effetti random: questi valori, che non
possono essere ottenuti facilmente in STATA, possono essere calcolati in ambiente SAS dove, per
altro, non è però disponibile il test di Hosmer-Lemeshow. Non rimane, allo stato attuale, che lavorare
su due ambienti: in SAS per determinare i valori fittati, in STATA per realizzare il test di
Hosmer-Lemeshow. Una complicazione non da poco!

8.3.2 Modelli Transizionali

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

8.4 METODI ESATTI PER MODELLI DI REGRESSIONE LOGISTICA


I metodi usati fino ad ora per effettuare inferenze sui parametri stimati si basavano, tra l’altro,
sull’ipotesi che la dimensione del campione fosse sufficientemente elevata in modo da consentire al
likelihood ratio test e al test di Wald (metodi di validità asintotica) di distribuirsi rispettivamente
secondo una chi quadro e una normale.
Nel caso di campioni di numerosità non adeguata occorrerà pertanto fare inferenza utilizzando
metodi computazionali “esatti” (regressione logistica esatta), ossia che non facciano riferimento a
ipotesi valide solo asintoticamente.
La regressione logistica esatta sta alla regressione logistica ordinaria come il test di Fisher sta al
consueto test chi quadro nell’analisi delle tabelle di contingenza e calcoli.
E come il test di Fisher, anche la regressione logistica esatta richiede una mole di calcoli che, se non
sopportati da un algoritmo efficiente, sono di difficile esecuzione anche con gli attuali calcolatori.
Recentemente26 si sono sviluppati algoritmi efficienti e moderatamente “esigenti” che sono stati
inseriti all’interno dei pacchetti statistici più diffusi (SAS, Sata) e di software ad hoc (LogXact 9).

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
 

La funzione di verosimiglianza, ossia la probabilità di osservare un set di valori y1 , y2 ,..., yn è


espressa, come già visto in precedenza, dalla (8.54)
235
 n 
exp  ∑ y j ( x ' j β + γ ) 
Pr ( Y1 = y1 , Y2 = y2 ,..., Yn = yn ) = n  
j =1
(8.54)
∏ 1 + exp ( x ' j β + γ )
j =1

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

Otteniamo così la seguente funzione di verosimiglianza condizionata:


 n 
exp  ∑ yi x 'i β 
Pr ( Y1 = y1 , Y2 = y2 ,..., Yn = yn | n1 ) =  i =1  (8.55)
 n


l ∈R
exp  ∑ y j x ' j β 
 l =1 
Dove R denota il numero di modi in cui possono essere collocati una serie di 0 e 1 all’interno di un
n
vettore ( y1 , y2 ,..., yn ) sotto la condizione che 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

Dalla (8.56) si ha che:


c ( t1 ) exp ( t1 ' β )
Pr (T1 = t1 ) = (8.57)
∑ c ( u ) exp ( u ' β )
u∈S

I possibili valori della statistica sufficiente t1 sono:


t1 = 0,1, 2,3, 4

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:

c ( t1 ) exp ( t1 ' β ) c ( 2 ) exp ( 2 β1 )


Pr ( T1 = 2 ) = =
∑ c ( u ) exp ( u ' β ) ∑ c ( u ) exp ( u ' β )
u∈S u∈S

3150 ⋅ exp ( 2β1 )


=
5985 ⋅ exp ( 0 ⋅ β1 ) + 7980 ⋅ exp (1 ⋅ β1 ) + 3150 ⋅ exp ( 2 ⋅ β1 ) + 420 ⋅ exp ( 3 ⋅ β1 ) + 15 ⋅ exp ( 4 ⋅ β1 )

238
Fig. 8.6

Plot della funzione di verosimiglianza. Il massimo della funzione si ha in corrispondenza di β1 = 1.482

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 −∞

Analogamente il limite superiore dell’intervallo è quel valore di β1 tale che:


t1obs
α 2= ∑ P (T
k = t min
1 = k) (8.59)

e se t1obs = tmin allora il limite superiore dell’intervallo viene posto pari a +∞ .


Come si può osservare dalla Tab. 8.34, gli intervalli di confidenza calcolati con il metodo esatto sono
più ampi degli analoghi intervalli ottenuti con il modello logistico usuale. Ciò è conseguneza della
maggiore incertezza nelle stime per effetto della numerosità campionaria esigua.

8.4.2 Logistica esatta (seconda esemplificazione)


Come secondo esempio consideriamo la Tab.8.35, sempre riferita ai dati analizzati al punto
precedente.

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

8.5 DETERMINAZIONE DELLA NUMEROSITA’ CAMPIONARIA


La determinazione della numerosità campionaria, nell’ambito del modello logistico, deve rispondere
fondamentalmente a due quesiti:
1. qual è il numero di soggetti da arruolare per poter determinare, con una prefissata
potenza, che uno dei due trattamenti sia superiore? (questione prospettica)
2. ho elementi sufficienti per ritenere che le le stime dei coefficienti definite dal modello siano
affidabili? (questione retrospettica)
In questa sezione illustreremo come determinare il numero di soggetti necessario per rispondere al
primo quesito e, solo successivamente, affronteremo la seconda questione.

La determinazione della numerosità campionaria, come già accennato, deve sostanzialmente


rispondere al seguente quesito: qual è la dimensione minima del campione necessaria per testare
l’ipotesi nulla che un particolare coefficiente (coefficiente angolare) sia uguale a zero versu l’ipotesi
alternativa che tale coefficiente assuma uno specifico valore.
H 0 : βi = 0 vs H a : βi = βi*

8.5.1 Modello logistico con una sola covariata dicotomica


Se il modello logistico comprende una sola covariata dicotomica si può usare il metodo
convenzionale utilizzato per testare l’uguaglianza di due proporzioni. Alternativamente si possono
utilizzare metodi specifici studiati per il modello logistico.28

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).

Alternativamente, sempre per determinare la numerosità campionaria, potremo utilizzare un


28
metodo che si basa sulla distribuzione del log odds ratio . Con riferimento a un modello logistico
univariato, con covariata dicotomica x, codificata 0/1, la numerosità totale del campione si calcola
con la seguente equazione:
 π 1 π 1 
 z1−α + + z1−θ + 
 1−π π 1 − π π ⋅ exp ( β1* ) 
n = (1 + 2 P0 )   (8.61)
P0 ⋅ ( β1 )
* 2

H 0 : β1 = 0 H a : β1 = β1*

Nella (8.61) π = P ( X = 0 ) denota la frazione di soggetti arruolati nello studio con x = 0.


Nel nostro esempio, fissato un rapporto di allocazione pari a uno, avremo π = 0.5 . Tenuti infine
presenti i valori di P0 (0.2) e β1* (log[1.5]), dalla (8.61) si ha:
n = 992 ≅ 994 = 497 ⋅ 2

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.

8.5.2 Modello logistico con una sola covariata continua


Nel caso di una sola covariata continua, dovremo assumere che la stessa sia standardizzata ossia
abbia media zero e deviazione standard unitaria.
La numerosità campionaria minima per un test a una coda, con livello di significatività α e potenza
1 − θ , si calcola con la seguente equazione28, 29:

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 )

il valore di δ si ricava immediatamente dalla (8.63)

( )  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

Lo stesso risultato si ottiene direttamente dalla Table 2 (P = 2.5; OR = 1.5; n = 237).

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

La numerosità campionaria richiesta risulta pertanto:


2
 1 1 1 1 
 1.645 + + 0.842 + 
(1 + 2 ⋅ 0.265)  5 5 0.5 0.5 ⋅ 1.5 
n= = 840.2
(1 − 0.0126 ) 0.265 ( log (1.5 ) )
2

Circa 419 soggetti per gruppo.

8.5.4 Numero di eventi e stime affidabili


Si può applicare, in prima approssimazione la seguente regola:30
Il modello deve contenere un numero di parametri p in grado di soddisfare la seguente disequazione:
min ( n1 , n0 )
p≤ −1 (8.67)
10
dove n1 e n0 rappresentano il numero di soggetti per cui la variabile dipendente assume
rispettivamente il valore 1 e 0.
La (8.67) deve essere usata con cautela, fornisce solo dei valori orientativi ed è stata dedotta facendo
riferimento soltanto a covariate discrete.

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

0.50 85 159 388 1706 2083 576 284 177 126 97 80 68 60 55 45 50


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.

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 ) 

Dim. formula (8.8)


n
1
log l ( β )  = L ( β ) = ∑ y0i log +
i =1 1 + exp  g1 ( xi )  + exp  g 2 ( xi ) 
exp  g1 ( xi )  exp  g 2 ( xi ) 
+ y1i log + y2i log
1 + exp  g1 ( xi )  + 1 + exp  g 2 ( xi )  1 + exp  g1 ( xi )  + 1 + exp  g 2 ( xi ) 
n
L ( β ) = ∑ y0i log (1) + y1i log  g1 ( xi )  + y2i log  g1 ( xi )  +
i =1

{
− 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

Giustificazione formula (8.10)


Poniamo j = 1, k=2 , k’=3
∂L2 ( β ) n

= ∑ x2,i ⋅ (π 1i )
∂β1,2 ∂β1,3 i =1 ∂β1,3

∂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 ( β ) n exp  g ( x )  (1 + exp  g ( x )  + exp  g ( x )  ) − exp  2 g ( x ) 


= −∑ x2,i ⋅ x3,i
1 i 1 i 2 i 1 i

∂β1,2 ∂β1,3 (1 + exp  g ( x ) + exp  g ( x ) )


2
i =1
1 i 2 i

∂L2 ( β ) n exp  g ( x )  ⋅ (1 − exp  g ( x )  )


= −∑ x2,i ⋅ x3,i
1 i 1 i

∂β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

Poniamo j =1, k = 2, j’=2, k’ = 3


∂L2 ( β ) n

= ∑ x2,i ⋅ (π1i )
∂β1,2 ∂β 2,3 i =1 ∂β 2,3
∂L2 ( β ) n x3,i exp  g 2 ( xi )  ⋅ exp  g1 ( xi ) 
= ∑ x2,i ⋅
∂β1,2 ∂β 2,3 (1 + exp  g ( x ) + exp  g ( xi ) )
2
i =1
1 i 2

∂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

Iteration 0: log likelihood = -402.59901


Iteration 1: log likelihood = -396.214
Iteration 2: log likelihood = -396.17
Iteration 3: log likelihood = -396.16997

Multinomial logistic regression Number of obs = 412


LR chi2(2) = 12.86
Prob > chi2 = 0.0016
Log likelihood = -396.16997 Pseudo R2 = 0.0160

------------------------------------------------------------------------------
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)

Risultato formula (8.15) tramite comando lincom


. lincom [1]HIST-[2]HIST

( 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

Oppure ancora con il comando mlogtest,combine


. mlogtest,combine
**** Wald tests for combining alternatives (N=412)
Ho: All coefficients except intercepts associated with a given pair
of alternatives are 0 (i.e., alternatives can be combined).
Alternatives tested| chi2 df P>chi2
-------------------+------------------------
1- 2 | 0.356 1 0.550
1- 0 | 11.245 1 0.001
2- 0 | 5.574 1 0.018
--------------------------------------------
Tab. 8.4
. estat vce

Covariance matrix of coefficients of mlogit model

| 1 | 2
e(V) | HIST _cons | HIST _cons
-------------+------------------------+------------------------
1 | |
HIST | .14037035 |
_cons | -.01631016 .01631016 |
-------------+------------------------+------------------------
2 | |
HIST | .07597403 -.00454545 | .18275604
_cons | -.00454545 .00454545 | -.02041847 .02041847

Risultato formula (8.16) con lrtest


. quietly:mlogit ME
. estimates store A
. quietly:mlogit ME HIST
. estimates store B
. lrtest A B

Likelihood-ratio test LR chi2(2) = 12.86


(Assumption: A nested in B) Prob > chi2 = 0.0016

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)

Iteration 0: log likelihood = -402.59901


Iteration 1: log likelihood = -389.76354
Iteration 2: log likelihood = -389.21625
Iteration 3: log likelihood = -389.20061
Iteration 4: log likelihood = -389.20054

Multinomial logistic regression Number of obs = 412


LR chi2(4) = 26.80
Prob > chi2 = 0.0000
Log likelihood = -389.20054 Pseudo R2 = 0.0333

------------------------------------------------------------------------------
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

Risultato formula (8.17) con lrtest


. quietly:mlogit ME
. estimates store empty
. quietly: xi:mlogit ME i.DETC
. estimates store DETC
. lrtest empty DETC

Likelihood-ratio test LR chi2(4) = 26.80


(Assumption: empty nested in DETC) Prob > chi2 = 0.0000

Confronto tra i due set di Odds Ratio [test riportato in (8.18)]


Con il comando mlogtest,combine
. mlogtest,combine
**** Wald tests for combining alternatives (N=412)
Ho: All coefficients except intercepts associated with a given pair
of alternatives are 0 (i.e., alternatives can be combined).

Alternatives tested| chi2 df P>chi2


-------------------+------------------------
1- 2 | 6.201 2 0.045
1- 0 | 20.412 2 0.000
2- 0 | 3.460 2 0.177
--------------------------------------------

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 riportato in (8.19)


. test [1]_ISYMPT_3-[1]_ISYMPT_4=0
( 1) [1]_ISYMPT_3 - [1]_ISYMPT_4 = 0
chi2( 1) = 3.28
Prob > chi2 = 0.0700

. 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

Formula (8.20) con lr test

. quietly xi: mlogit ME i.SYMPT PB HIST BSE i.DETC


. estimates store full
. quietly xi: mlogit ME SYMPTD PB HIST BSE i.DETC
. estimates store reduced
. lrtest full reduced
Likelihood-ratio test LR chi2(4) = 3.59
(Assumption: reduced nested in full) Prob > chi2 = 0.4637

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

Risultato formula (8.21)


. quietly mlogit ME SYMPTD PB HIST BSE
. estimates store reduced
. quietly xi:mlogit ME SYMPTD PB HIST BSE i.DETC
. estimates store full

258
. lrtest reduced full
Likelihood-ratio test LR chi2(4) = 8.54
(Assumption: reduced nested in full) Prob > chi2 = 0.0736

Risultato formula (8.22)


. quietly mlogit ME SYMPTD PB HIST BSE
. estimates store reduced
. quietly mlogit ME SYMPTD PB HIST BSE DETCD
. estimates store full
. lrtest reduced full
Likelihood-ratio test LR chi2(2) = 6.91
(Assumption: reduced nested in full) Prob > chi2 = 0.0317

Risultato formula (8.23)


. quietly mlogit ME SYMPTD PB HIST BSE DETCD
. estimates store two
. quietly xi:mlogit ME SYMPTD PB HIST BSE i.DETC
. estimates store three
. lrtest two three
Likelihood-ratio test LR chi2(2) = 1.64
(Assumption: two nested in three) Prob > chi2 = 0.4412

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

. mlogit ME PB2 PB3 PB4 SYMPTD HIST BSE DETCD

Multinomial logistic regression Number of obs = 412


LR chi2(14) = 106.51
Prob > chi2 = 0.0000
Log likelihood = -349.34214 Pseudo R2 = 0.1323

------------------------------------------------------------------------------
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

. input elogit1 elogit2 percb

elogit1 elogit2 percb


0 0 5
-.1592353 -.3348183 6.5
-.6278501 -.5585917 8.5
-1.482975 -.8304334 13.5

. end

. graph twoway scatter elogit1 elogit2 percb, xlabel(5 6.5 8.5 13.5) ylabel(-1.5(.5)0)
connect(l l)

Analsi con i polinomi frazionari


. generate ME1=ME
. replace ME1=. if ME==2
. generate ME2=ME
. replace ME2=. if ME==1
. replace ME2=1 if ME2==2
. fracpoly logit ME1 PB SYMPTD HIST BSE DETCD,degree(2) compare
........
-> gen double IPB__1 = X^3-.4462961267 if e(sample)
-> gen double IPB__2 = X^3*ln(X)+.1200198268 if e(sample)
(where: X = PB/10)
Logistic regression Number of obs = 338
LR chi2(6) = 95.33
Prob > chi2 = 0.0000
Log likelihood = -160.96484 Pseudo R2 = 0.2285

------------------------------------------------------------------------------
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

. fracpoly logit ME2 PB SYMPTD HIST BSE DETCD,degree(2) compare


........
-> gen double IPB__1 = X^-2-1.622515446 if e(sample)
-> gen double IPB__2 = X^3-.4838566788 if e(sample)
(where: X = PB/10)
Logistic regression Number of obs = 308
LR chi2(6) = 32.97
Prob > chi2 = 0.0000
Log likelihood = -153.3404 Pseudo R2 = 0.0971

------------------------------------------------------------------------------
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.

Fractional polynomial model comparisons:


---------------------------------------------------------------
PB df Deviance Dev. dif. P (*) Powers
---------------------------------------------------------------
Not in model 0 311.617 4.936 0.294
Linear 1 306.945 0.264 0.967 1
m = 1 2 306.760 0.080 0.961 3
m = 2 4 306.681 -- -- -2 3
---------------------------------------------------------------
(*) P-value from deviance difference comparing reported model with m = 2 model

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
------------------------------------------------------------------------------

. mlogit ME SYMPTD PB HIST BSE DETCD

------------------------------------------------------------------------------
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

Stukel test model ME1


. generate ME1=0
. replace ME1=1 if ME==1
. replace ME1=. if ME==2
. generate ME2=0
. replace ME2=1 if ME==2
. replace ME2=. if ME==1
. quietly logit ME1 SYMPTD PB HIST BSE DETCD
. predict p1
. generate g1=ln(p1/(1-p1))
. generate z11=0.5*g1^2
. replace z11=0 if p1<0.5
. generate z12=-0.5*g1^2
. replace z12=0 if p1>=0.5

. quietly logit ME1 SYMPTD PB HIST BSE DETCD


. estimates store reduced
. quietly logit ME1 SYMPTD PB HIST BSE DETCD z11 z12

262
. estimates store full
. lrtest reduced full
Likelihood-ratio test LR chi2(2) = 1.02
(Assumption: reduced nested in full) Prob > chi2 = 0.6006

Stukel test model ME2


. quietly logit ME2 SYMPTD PB HIST BSE DETCD
. predict p2
. generate g2=ln(p2/(1-p2))
. generate z21=0.5*g2^2
. replace z21=0 if p2<0.5
. generate z22=-0.5*g2^2
. replace z22=0 if p2>=0.5
. quietly logit ME2 SYMPTD PB HIST BSE DETCD
. estimates store reduced
. quietly logit ME2 SYMPTD PB HIST BSE DETCD z21 z22
. estimates store full
. lrtest reduced full
Likelihood-ratio test LR chi2(2) = 1.86
(Assumption: reduced nested in full) Prob > chi2 = 0.3937

Hosmer/ Lemeshow and Pearson test


. quietly logit ME1 SYMPTD PB HIST BSE DETCD
. estat gof
Logistic model for ME1, goodness-of-fit test

number of observations = 338


number of covariate patterns = 74
Pearson chi2(68) = 67.84
Prob > chi2 = 0.4828
. estat gof, group(10)
Logistic model for ME1, goodness-of-fit test
(Table collapsed on quantiles of estimated probabilities)
number of observations = 338
number of groups = 10
Hosmer-Lemeshow chi2(8) = 12.20
Prob > chi2 = 0.1424

. quietly logit ME2 SYMPTD PB HIST BSE DETCD


. estat gof
Logistic model for ME2, goodness-of-fit test
number of observations = 308
number of covariate patterns = 75
Pearson chi2(69) = 63.83
Prob > chi2 = 0.6535
. estat gof,group(10)
Logistic model for ME2, goodness-of-fit test

(Table collapsed on quantiles of estimated probabilities)

number of observations = 308


number of groups = 10
Hosmer-Lemeshow chi2(8) = 9.62
Prob > chi2 = 0.2929

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 |
+-----------------------------------------------------------------+

. list ME1 r rs n if n==63 | n==4

+--------------------------------+
| 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 |
+-----------------------------------------------------------------+

. list ME2 r rs n if n==62 | n==63 |n==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 |
+---------------------------------+

Risultati nella formula (8.24)


Ricordiamo che, con riferimento a tutti i soggetti appartenenti al pattern j-esimo, si ha:
y j − m j πˆ j rj rjS ⋅ h j
2

rj = rjs = ∆X = r
2 2
∆βˆ =
m jπˆ j (1 − πˆ j ) 1 − hj 1 − hj
jS

mentre per un singolo soggetto, con y =1 si ha:


1 − πˆi 1 − 0.345 h j 0.198
ri = = = 1.378 hi = = = 0.011
πˆi (1 − πˆi ) 0.345 (1 − 0.345 ) n 18

∆X 2 = riS2 = 1.92


ri 
riS = = 1.386 →  ˆ hi
1 − hi ∆β = riS 1 − h = 0.021
2

 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

∆X 2 = riS2 = 0.5323


ri 
riS = = −0.7296 →  ˆ hi
1 − hi ∆β = riS 1 − h = 0.00591
2

 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

. mlogit ME SYMPTD PB HIST BSE DETCD if n1 != 63 & n2 != 62 & n2 != 66

Multinomial logistic regression Number of obs = 372


LR chi2(10) = 103.01
Prob > chi2 = 0.0000
Log likelihood = -313.74728 Pseudo R2 = 0.1410

------------------------------------------------------------------------------
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

. mlogit ME SYMPTD PB HIST BSE DETCD, rrr

Multinomial logistic regression Number of obs = 412


LR chi2(10) = 106.07
Prob > chi2 = 0.0000
Log likelihood = -349.5663 Pseudo R2 = 0.1317

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)

. lincom [1]PB*-2, rrr

( 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
------------------------------------------------------------------------------

. lincom [2]PB*-2, rrr

( 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
------------------------------------------------------------------------------

. logistic BWT4 SMOKE if BWT4==0 | BWT4==2

------------------------------------------------------------------------------
BWT4 | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 2.31405 1.103574 1.76 0.079 .9087269 5.892667
------------------------------------------------------------------------------

. logistic BWT4 SMOKE if BWT4==0 | BWT4==3


------------------------------------------------------------------------------
BWT4 | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
SMOKE | 3.291536 1.424504 2.75 0.006 1.409346 7.687404
------------------------------------------------------------------------------

. mlogit BWT4 SMOKE, baseoutcome(0) rrr


------------------------------------------------------------------------------
BWT4 | RRR Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
1 |
SMOKE | 1.865204 .8603963 1.35 0.177 .7552264 4.606546
-------------+----------------------------------------------------------------
2 |
SMOKE | 2.31405 1.103573 1.76 0.079 .908727 5.892667
-------------+----------------------------------------------------------------
3 |
SMOKE | 3.291536 1.424503 2.75 0.006 1.409346 7.687402
------------------------------------------------------------------------------

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

Likelihood-ratio test LR chi2(2) = 0.33


(Assumption: constraint nested in baseline) Prob > chi2 = 0.8463

Tab. 8.19
. generate bwc1=.
. replace bwc1=1 if BWT4==1
. replace bwc1=0 if BWT4==0

. logit bwc1 SMOKE

Logistic regression Number of obs = 92


LR chi2(1) = 1.86
Prob > chi2 = 0.1727
Log likelihood = -62.840008 Pseudo R2 = 0.0146

------------------------------------------------------------------------------
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

. logit bwc2 SMOKE

Logistic regression Number of obs = 130


LR chi2(1) = 1.61
Prob > chi2 = 0.2050
Log likelihood = -77.743614 Pseudo R2 = 0.0102

------------------------------------------------------------------------------
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

Giustificazione formula (8.34)


Sia β̂ una stima di max verosimiglianza, sotto l’ipotesi nulla che β = 0 si dimotra che:
βˆ
W= ∼Z
( )
se βˆ

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.

. gen bwt4_rec = BWT4


. recode bwt4_rec 0 = 3 1 = 2 2 = 1 3 = 0
. ocratio bwt4_rec SMOKE

Continuation-ratio logit Estimates Number of obs = 411


chi2(1) = 8.19
Prob > chi2 = 0.0042
Log Likelihood = -255.5594 Pseudo R2 = 0.0158

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
------------------------------------------------------------------------------

Risultato formula (8.44)


. quietly mlogit BWT4N SMOKE
. estimates store baseline
. quietly ologit BWT4N SMOKE
. estimates store ordinal
. lrtest baseline ordinal,force

Likelihood-ratio test LR chi2(2) = 0.37


(Assumption: ordinal nested in baseline) Prob > chi2 = 0.8298

272
Tab. 8.23

. generate PTD=1
. replace PTD=0 if PTL==0

. xi:ologit BWT4N AGE LWT i.RACE SMOKE HT UI PTD


i.RACE _IRACE_1-3 (naturally coded; _IRACE_1 omitted)

Ordered logistic regression Number of obs = 189


LR chi2(8) = 48.00
Prob > chi2 = 0.0000
Log likelihood = -235.65042 Pseudo R2 = 0.0924
------------------------------------------------------------------------------
BWT4N | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE | .0006257 .0274693 0.02 0.982 -.0532131 .0544645
LWT | .0128958 .0048733 2.65 0.008 .0033442 .0224473
_IRACE_2 | -1.470897 .4346912 -3.38 0.001 -2.322876 -.6189183
_IRACE_3 | -.869222 .3344913 -2.60 0.009 -1.524813 -.2136312
SMOKE | -.9877202 .3149779 -3.14 0.002 -1.605066 -.3703748
HT | -1.194 .6122466 -1.95 0.051 -2.393982 .0059809
UI | -.9129658 .4044862 -2.26 0.024 -1.705744 -.1201874
PTD | -.8219579 .4173644 -1.97 0.049 -1.639977 -.0039387
-------------+----------------------------------------------------------------
/cut1 | -.4952642 .87984 -2.219719 1.229191
/cut2 | .5160991 .8816949 -1.211991 2.244189
/cut3 | 1.803489 .8913835 .0564095 3.550568
------------------------------------------------------------------------------

LR TEST Full vs Reduced (with and without HT)


. quietly xi:ologit BWT4N AGE LWT i.RACE SMOKE HT UI PTD
. estimates store full
. quietly xi:ologit BWT4N AGE LWT i.RACE SMOKE UI PTD
. estimates store reduced
. lrtest full reduced

Likelihood-ratio test LR chi2(1) = 3.98


(Assumption: reduced nested in full) Prob > chi2 = 0.0460

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)

Ordered logistic regression Number of obs = 189


LR chi2(9) = 52.06
Prob > chi2 = 0.0000
Log likelihood = -233.61977 Pseudo R2 = 0.1003

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
------------------------------------------------------------------------------

LR TEST Full vs Reduced (with and without interaction LWT*HT)


. quietly xi:ologit BWT4N AGE LWT i.RACE SMOKE HT UI PTD LWTHT
. estimates store full
. quietly xi:ologit BWT4N AGE LWT i.RACE SMOKE HT UI PTD
. estimates store reduced
. lrtest full reduced

Likelihood-ratio test LR chi2(1) = 4.06


(Assumption: reduced nested in full) Prob > chi2 = 0.0439

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)

Ordered logistic regression Number of obs = 189


LR chi2(8) = 48.00
Prob > chi2 = 0.0000
Log likelihood = -235.65042 Pseudo R2 = 0.0924

------------------------------------------------------------------------------
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

Iteration 1: tolerance = .09292774


Iteration 2: tolerance = .00535895
Iteration 3: tolerance = .00003964
Iteration 4: tolerance = 9.801e-07

GEE population-averaged model Number of obs = 488


Group variable: ID Number of groups = 188
Link: logit Obs per group: min = 2
Family: binomial avg = 2.6
Correlation: exchangeable max = 4
Wald chi2(3) = 13.46
Scale parameter: 1 Prob > chi2 = 0.0037

(Std. Err. adjusted for clustering on ID)


------------------------------------------------------------------------------
| Semi-robust
LOW | Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE | .0583975 .0195492 2.99 0.003 .0200818 .0967132
LWT | -.0091427 .0040935 -2.23 0.026 -.0171658 -.0011196
SMOKE | .7017452 .2829116 2.48 0.013 .1472486 1.256242
_cons | -1.342052 .5895171 -2.28 0.023 -2.497484 -.1866194
------------------------------------------------------------------------------

Tab. 8.27
. xtlogit LOW AGE LWT SMOKE, i(ID) re

Fitting comparison model:

Iteration 0: log likelihood = -301.89672


Iteration 1: log likelihood = -288.88873
Iteration 2: log likelihood = -288.76222
Iteration 3: log likelihood = -288.76218

Fitting full model:

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

Iteration 0: log likelihood = -250.90077


Iteration 1: log likelihood = -240.21813
Iteration 2: log likelihood = -233.50968
Iteration 3: log likelihood = -233.16458
Iteration 4: log likelihood = -233.1644
Iteration 5: log likelihood = -233.1639
Iteration 6: log likelihood = -233.1639

Random-effects logistic regression Number of obs = 488


Group variable: ID Number of groups = 188

Random effects u_i ~ Gaussian Obs per group: min = 2


avg = 2.6
max = 4

Wald chi2(3) = 14.46


Log likelihood = -233.1639 Prob > chi2 = 0.0023

------------------------------------------------------------------------------
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:

Number of obs = 488


R-squared = 0.7571

Source SS df MS F Prob > F


-------------------------------------------------------------------------
Between ID 78.943306 187 .42215672 5.00 0.0000
Within ID 25.333333 300 .08444444
-------------------------------------------------------------------------
Total 104.27664 487 .21412041

Intraclass Asy.
correlation S.E. [95% Conf. Interval]
------------------------------------------------
0.60648 0.03975 0.52856 0.68439

Estimated SD of ID effect .3607527


Estimated SD within ID .2905933
Est. reliability of a ID mean 0.79997
(evaluated at n=2.59)

Risultato Formula (8.51)


. quietly: xtlogit LOW LWT AGE SMOKE,i(ID) re
. estimates store A
. quietly: logit LOW LWT AGE SMOKE
. estimates store B
. lrtest A B, force

Likelihood-ratio test LR chi2(1) = 111.20


(Assumption: B nested in A) Prob > chi2 = 0.0000

Tab. 8.29
. gen AGE5 = AGE/5
. gen LWT10 = LWT/10
. xtlogit LOW AGE5 LWT10 SMOKE, i( ID) re or

Random-effects logistic regression Number of obs = 488


Group variable: ID Number of groups = 188

Random effects u_i ~ Gaussian Obs per group: min = 2


avg = 2.6
max = 4

Wald chi2(3) = 14.46


Log likelihood = -233.1639 Prob > chi2 = 0.0023

------------------------------------------------------------------------------
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

. xtlogit LOW AGE5 LWT10 SMOKE, i(ID) pa robust or

GEE population-averaged model Number of obs = 488


Group variable: ID Number of groups = 188
Link: logit Obs per group: min = 2
Family: binomial avg = 2.6
Correlation: exchangeable max = 4
Wald chi2(3) = 13.46
Scale parameter: 1 Prob > chi2 = 0.0037

(Std. Err. adjusted for clustering on ID)


------------------------------------------------------------------------------
| Semi-robust
LOW | Odds Ratio Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
AGE5 | 1.339086 .1308902 2.99 0.003 1.105623 1.621848
LWT10 | .9126276 .0373583 -2.23 0.026 .842267 .988866
SMOKE | 2.01727 .5707091 2.48 0.013 1.158642 3.512197
------------------------------------------------------------------------------

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)

Logistic regression Number of obs = 300


LR chi2(4) = 151.09
Prob > chi2 = 0.0000
Log likelihood = -113.99062 Pseudo R2 = 0.3986

------------------------------------------------------------------------------
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)

Logistic regression Number of obs = 300


LR chi2(4) = 164.55
Prob > chi2 = 0.0000
Log likelihood = -107.26268 Pseudo R2 = 0.4341

------------------------------------------------------------------------------
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"

tabulate LOW PTL if AGE >=30

| 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

Logistic regression Number of obs = 27


LR chi2(1) = 1.81
Prob > chi2 = 0.1791
Log likelihood = -10.423421 Pseudo R2 = 0.0797

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

. exlogistic LOW PTL if AGE >=30,coef

Exact logistic regression Number of obs = 27


Model score = 2.018634
Pr >= score = 0.2043
---------------------------------------------------------------------------
LOW | Coef. Suff. 2*Pr(Suff.) [95% Conf. Interval]
-------------+-------------------------------------------------------------
PTL | 1.48212 2 0.4085 -1.383217 4.36959
---------------------------------------------------------------------------

Estremi dell’intervallo di confidenza

3150·EXP(2·x) + 420·EXP(3·x) + 15·EXP(4·x)


---------------------------------------------------------------------- = 0.025
5985 + 7980·EXP(x) + 3150·EXP(2·x) + 420·EXP(3·x) + 15·EXP(4·x)

x = -1.383217237

5985 + 7980·EXP(x) + 3150·EXP(2·x)


---------------------------------------------------------------------- = 0.025
5985 + 7980·EXP(x) + 3150·EXP(2·x) + 420·EXP(3·x) + 15·EXP(4·x)

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 |
+--------------------------+

Stima di β1 tarmite MUE


. exlogistic LOW SMOKE if AGE >=30,coef

note: CMLE estimate for SMOKE is +inf; computing MUE

Exact logistic regression Number of obs = 27


Model score = 7.686957
Pr >= score = 0.0120
---------------------------------------------------------------------------
LOW | Coef. Suff. 2*Pr(Suff.) [95% Conf. Interval]
-------------+-------------------------------------------------------------
SMOKE | 2.509847* 4 0.0239 .3084227 +Inf
---------------------------------------------------------------------------
(*) median unbiased estimates (MUE)

.exlogistic LOW SMOKE if AGE >=30

note: CMLE estimate for SMOKE is +inf; computing MUE

Exact logistic regression Number of obs = 27


Model score = 7.686957
Pr >= score = 0.0120
---------------------------------------------------------------------------
LOW | Odds Ratio Suff. 2*Pr(Suff.) [95% Conf. Interval]
-------------+-------------------------------------------------------------
SMOKE | 12.30305* 4 0.0239 1.361276 +Inf
---------------------------------------------------------------------------
(*) median unbiased estimates (MUE)

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

Modello univariato con covariata AGE standardizzata

use "C:\docb\Scuola\2010\logistic\chapter4_2.dta"

. summ age

Variable | Obs Mean Std. Dev. Min Max


-------------+--------------------------------------------------------
age | 575 32.38261 6.193149 20 56

. generate ages=(age-32.4)/6.2
. logit dfree ages

Logistic regression Number of obs = 575


LR chi2(1) = 1.40
Prob > chi2 = 0.2371
Log likelihood = -326.16544 Pseudo R2 = 0.0021

------------------------------------------------------------------------------
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

Logistic regression Number of obs = 575


283
LR chi2(6) = 34.02
Prob > chi2 = 0.0000
Log likelihood = -309.8567 Pseudo R2 = 0.0520

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

Determinazione di ρ2 (variabile continua ages)

. xi: regress ages ndrugxs i.ivhx race treat


i.ivhx _Iivhx_1-3 (naturally coded; _Iivhx_1 omitted)

Source | SS df MS Number of obs = 575


-------------+------------------------------ F( 5, 569) = 19.65
Model | 84.3486947 5 16.8697389 Prob > F = 0.0000
Residual | 488.383514 569 .858319006 R-squared = 0.1473
-------------+------------------------------ Adj R-squared = 0.1398
Total | 572.732209 574 .997791305 Root MSE = .92646

------------------------------------------------------------------------------
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
------------------------------------------------------------------------------

Determinazione di ρ2 (variabile dicotomica treat)


. xi:logistic treat ages ndrugxs race i.ivhx

. predict treat1
(option pr assumed; Pr(treat))

. corr treat1 treat


(obs=575)

| 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

Potrebbero piacerti anche