Você está na página 1de 121

Regresin Logstica

Vctor Moreno 2002


Bioestadstica, Facultad de Medicina
Univesidad Autnoma de Barcelona
1

Esquema
Modelos para proporciones. Regresin logstica.

Modelo logstico
Pruebas de asociacin y de tendencia.
Control de la confusin.
Exploracin de interacciones.
Bondad de ajuste

Aplicaciones especficas:

Anlisis de casos y controles.


Modelo logstico condicional

Generacin de escalas de pronstico.


Valoracin de la capacidad predictiva.
Anlisis discriminante logstico.

Regresin logstica politmica:


Regresin multinomial
Modelos ordinales

Anlisis de datos binarios


Nos interesa un modelo de regresin:

E ( y | x) = + x
Y: la variable respuesta es binaria:
1 : evento
Y = 0 : no evento

Si se agrupan los datos, E(y|x) = = y/n = p


: proporcin de eventos
Modelo para proporciones
3

Modelo lineal de regresin

E ( y | x) = + x
y N ( , )
2

y cuantitativa continua : {-, +}


pero p{0,1}, difcilmente normal

adems no queremos restricciones sobre


los parmetros ,
el modelo lineal generara predicciones
imposibles para p
4

Generalizacin del modelo lineal


Transformar y : g(y)
{0,1}
para que la transformacin inversa g-1 genere
predicciones vlidas para p

Permitir distribuciones de probabilidad


diferentes de la normal para y
para datos binarios la distribucin adecuada es la
binomial:
y Bi (m, p )

m r
P( y = r ) = p (1 p ) m r
r

Transformacin logstica
p
=z
g ( p ) = log
1 p

e
1
=
=p
g ( z) =
z
z
1+ e
1+ e

0.0

0.2

0.4

0.6

0.8

1.0

-6

-4

-2

0
z

6
6

Propiedades
g-1(z) siempre entre 0 y 1
=> til para modelar proporciones
Permite valores de z entre - y +
=> Cualquier valor del predictor lineal
Simtrica alrededor de 0:
z
-
-2
0
2

g-1(z)
0
0.11
0.5
0.88
1

1-g-1(z)
1
0.88
0.5
0.11
0

Entre -2 y 2 es casi lineal y vara un 80%


7

Modelo logstico

y
log
= + 1 x1 + ... + k xk
1-y
y Bi (m, p)
m: denominador de la proporcin: tamao del
grupo de observaciones que se estudia
m = 1: datos individualizados
m>=1: datos agregados
8

Condiciones para aplicar el modelo


Observaciones independientes
si hay dependencia se genera sobredispersin
La varianza de y:
var(y) = mp(1-p)
se puede modelar
var(y) = mp(1-p)

Si se estudia la aparicin de un evento, el


tiempo de seguimiento debe ser igual para
todos los individuos. Se puede modelar
mortalidad al ao, pero no puede haber
censuras.
9

Modelos lineales generalizados


Extensin del modelo lineal para acomodar:
Respuesta con distribucin no normal
Transformaciones linearizantes

Componentes del modelo:


Respuesta (Y) observada en unidades
independientes con valores fijos de variables
explicativas (X)
Las variables X afectan la respuesta segn un
modelo lineal:

= 1 x1 + ... + k xk
10

Puede ser necesario transformar la


respuesta para conseguir linealidad:
=g(y)
La distribucin de probabilidad de la
respuesta pertenece a la familia exponencial:
Transformacin g(y)

Normal
Binomial
Poisson
Gamma

identidad: =
logit: log(y/{1- y})
log(y)
inversa: -1/y
11

Utilidad de cada distribucin


Normal:

Cuantitativa continua
> Regresin lineal

Binomial:

Binaria (proporciones)
> Regresin logstica

Poisson:

Recuento (discreta >=0 )


> Regresin Poisson / Log-lineal

Gamma:

Cuantitativa contnua > 0


12

Inters de los MLG


Comparten la teora estadstica
necesaria para:
Estimar los coeficientes y sus varianzas
Mxima verosimilidtud, mediante iteraciones
de ajustes por mnimos cuadrados ponderados

Tests de hiptesis sobre coeficientes


Anlisis de varianza / deviance (desvianza)

Tests de bondad de ajuste del modelo


R2 y equivalentes no lineales
13

Regresin logstica
Respuesta / Dependiente/ Y : BINARIA

Y=

1 : evento
0 : no evento

P(Y=1| covariables)

P( y = 1| x1 ,..., xk ) =

1
1+ e

( + 1 x1 +...+ k xk )

14

Ejemplos de aplicacin
Estudios de casos y controles
P(ser caso | X:factores de riesgo y confusores)

Estudios de factores pronstico, para


tiempos de seguimiento corto e igual para
todos los individuos
P(morir antes de 35 das tras un infarto | X)

Estudios de mtodos diagnsticos


P(enfermo | resultado de la prueba)

Estudios de cualquier caracterstica binaria


P(ser fumador | X:condiciones)
P(ser tratado en el hospital | X)

15

Covariables
Variables independientes: cualquier tipo
Binarias
Categricas
se codifican con variables indicadoras dummy
Ordinales: categoras ordenadas
Cuantitativas contnuas
transformaciones / suavizados

logaritmo
potencia
polinomios
splines
16

Caso 1. Covariable binaria


Estudio de la relacin entre el virus de la
hepatitis B y la cirrosis heptica, a partir de
un diseo de casos y controles:
Cirrosis Controles
HbsAg
+

51

60

HbsAg
-

149

191

340

200

200

400
17

> cirrosis<-data.frame(cirr=c(51,149),cont=c(9,191),hbsag=c(1,0))
> cirrosis
cirr cont hbsag
1
51
9
1
2 149 191
0
> m.hb<-glm(cbind(cirr,cont)~hbsag,family=binomial,data=cirrosis)
> coef(m.hb)
(Intercept)
hbsag
-0.248
1.983
> cirrosis<-data.frame( cirr=c(1,1,0,0),
+
hbsag=c(0,1,0,1),
+
n=c(149,51,191,9))
> cirrosis
cirr hbsag
n
1
1
0 149
2
1
1 51
3
0
0 191
4
0
1
9
> m.hb2<-glm(cirr~hbsag,weight=n,family=binomial,data=cirrosis)
> coef(m.hb2)
(Intercept)
hbsag
-0.248
1.983
18

Modelo logstico
Logit{ P(cirrosis|HBsAg) } = + HBsAg
Variables:
Respuesta:
independiente:

grupo
HBsAg

1(cirrosis) 0(control)
1(+)
0(-)

Modelo ajustado:
> coef(m.hb)
(Intercept)
-0.248

hbsag
1.983
19

Verificacin
1
1
=
= 0.438
P(cirrosis|HBsAg = 0) =

-(-0.25)
1+e
1+e
1
1
=
= 0.850
P(cirrosis|HBsAg = 1) =
( + )
-(-0.25 +1.98)
1+e
1+e
> cirrosis
cirr cont hbsag
1
51
9
1
2 149 191
0
> 149/(149+191)
[1] 0.438
> 51/(51+9)
[1] 0.85

20

Odds: medida de riesgo


P (suceso )
P (suceso )
odds =
=
P (no suceso ) 1 P (suceso )
Cuntas veces ms probable es que ocurra un
suceso respecto a que no ocurra
puede tomar valores de {0,+}

P (y = 1)
P (y = 1)
odds =
=
P (y = 0) 1 P (y = 1)
21

Odds-ratio: medida de asociacin


odds (enfermedad | expuestos )
OR =
odds (enfermedad | no expuestos )
P (y = 1 | x = 1) / P (y = 0 | x = 1)
OR =
P (y = 1 | x = 0) / P (y = 0 | x = 0)
1

(1
)
/(1
( + )
( + ) )
1+e
OR = 1 + e
1

(1
)
/(1
( )
( ) )
1+e
1+e

OR = e
22

Odds-ratio
Por cunto se multiplica el riesgo de cirrosis
si se est infectado respecto a no estar
infectado
riesgo relativo: razn de odds
puede tomar valores de {0,+}
P(cirr|+)/P(cont|+)
= e = e1.98 = 7.26
OR =
P(cirr|-)/P(cont|-)
0.850/(1-0.850)
= 7.26
OR =
0.438/(1-0.438)
23

Simetria del odds-ratio


odds (exposicion | enfermos )
OR =
odds (exposicion | no e nfermos )
P (x = 1 | y = 1) / P (x = 0 | y = 1)
OR =
P (x = 1 | y = 0) / P (x = 0 | y = 0)
OR = e

24

Interpretacin de los coeficientes


Coeficientes:

= log(OR)

OR = e : cuantifica la magnitud de la asociacin


entre la respuesta y el factor de inters
El cdigo de la exposicin debe ser exp: 1 + no exp

Constante: = logit{P(cirrosis|HBsAg=0)}
logit de P(evento en los no expuestos)
En un estudio de casos y controles no tiene inters
pues depende de la relacin entre el nmero de casos y
de controles, que se fija en el diseo, y de los cdigos
que se empleen en la variable exposicin.
En un estudio de cohortes es una estimacin de inters
25

La codificacin es esencial para


interpretar los coeficientes
exp =1 / no exp=0

OR(enf/exp) = e

exp =0 / no exp=1

OR(enf/exp) = e-

exp =2 / no exp=1

OR(enf/exp) = e

exp =1 / no exp=-1

OR(enf/exp) = e2
26

Caso 2. Covariable cuantitativa


Estudio de la relacin entre la edad y la
mortalidad por cardiopata isqumica en
diabticos:
EDAD
20-29
30-34
35-39
40-44
45-49
50-54
55-59
60-69
Total

Causa de muerte
Otra
CI
9
1
13
2
9
3
10
5
7
6
3
5
4
13
2
8
57

43

10
15
12
15
13
8
17
10

0.10
0.13
0.25
0.33
0.46
0.63
0.76
0.80

100

0.43
27

1.5
1.0

0.8

-0.5
-1.5

-1.0

logit(P(morir por ci))

0.0

0.5

0.7
0.6
0.5

-2.0

P(morir por ci)

0.4
0.3
0.2
0.1

30

40

50

60

30

40

edad

50

60

edad

> plot(edad,ci/n,type='p',ylab='P(morir por ci)')


> lines(edad,m.ci$fitted,type='l')
> plot(edad,log(ci/(n-ci)),type='p',ylab='logit(P(morir por ci))')
> lines(edad,m.ci$linear,type='l')
28

>
>
>
>
>
1
2
3
4
5
6
7
8
>
>

edad<-c(25,seq(32,57,5),65)
ci<-c(1,2,3,5,6,5,13,8)
n<-c(10,15,12,15,13,8,17,10)
diabetes<-data.frame(ci=ci,edad=edad,n=n)
diabetes
ci edad n
1
25 10
2
32 15
3
37 12
5
42 15
6
47 13
5
52 8
13
57 17
8
65 10
rm(edad,ci,n)
attach(diabetes)

> m.ci<-glm(cbind(ci,n-ci)~edad,family=binomial)
> coef(m.ci)
(Intercept)
-5.030

edad
0.105

> exp(coef(m.ci)[2])
edad
1.11

29

Ajuste del modelo logstico


Logit{ P(MCI|EDAD) } = + EDAD
Variables:
Respuesta:
independiente:

causa muerte
edad (en aos)

1(ci) 0(otra)

Modelo ajustado:
> coef(m.ci)
(Intercept)
-5.030

edad
0.105

30

Interpretacin del modelo


p(MCI|EDAD) =

1
1+e

( 5.03+ 0.105*EDAD)

Predicciones
Es peligroso hacer extrapolaciones, pero si el modelo
ajusta bien a los datos, las interpolaciones son
correctas
Por ejemplo: mortalidad a los 30 aos:
> 1/(1+exp(-( coef(m.ci)[1] + 30*coef(m.ci)[2]) ) )
(Intercept)
0.131
> predict(m.ci,data.frame(edad=30),type="response")
[1] 0.131

31

Interpretacin de los coeficientes


Constante: = logit{P(MCI|EDAD=0)}
= -5.03

-> P(MCI|EDAD=0) = 0.0065

> 1/(1+exp(-coef(m.ci)[1] ) )
(Intercept)
0.0065

No tiene inters en esta situacin, pero puede


serlo si cambiamos el 0 de la variable:
ED30 = (EDAD-30)
= -1.89

-> P(MCI|EDAD=30) = 0.131


32

> 1/(1+exp(-coef(m.ci30)[1]))
(Intercept)

0.5
0.4
0.1

0.2

0.3

P(morir por ci)

0.6

0.131

0.7

0.8

> m.ci30<-glm(cbind(ci,n-ci)~I(edad-30),family=binomial)
> coef(m.ci30)
(Intercept) I(edad - 30)
-1.888
0.105

30

>
>
>
>
>

plot(edad,ci/n,type='p',ylab='P(morir por ci)')


lines(edad,m.ci$fitted,type='l')
segments(30,.131,0,0.131,lty=3)
segments(30,0,30,0.131,lty=3)
points(30,0.131,pch=19)

40

50

60

edad

33

Coeficientes:

= log(OR)

OR = e : cuantifica la magnitud de la asociacin


entre la respuesta (mortalidad por CI) y el
cambio factor de inters en una unidad (aumento
de EDAD en 1 ao)
OR = 1.11 (para 10 aos: e10 = 2.86)
El modelo supone linealidad {en escala logit(mCI)}
para todos los posibles valores de EDAD
Se pueden emplear transformaciones de las
variables cuantitativas para conseguir mejorar la
linealidad (ms adelante)
34

Caso 3. Multivariante
Estudio de toxicidad de un antineoplsico en
funcin de la dosis. Grupos de 20 ratones
macho y 20 hembras. Se registra el nmero
de aplasias medulares:
dosis
sexo

16

32

Machos

13

18

20

Hembras

10

12

16
35

> dosis<-2^(0:5)
> dosis
[1] 1 2 4 8 16 32
> aplasias<-c(1,4,9,13,18,20,0,2,6,10,12,16)
> toxi<-data.frame(dosis=rep(dosis,2),
+ sexo=rep(c("machos","hembras"),c(6,6)),aplasias=aplasias)
> toxi
dosis
1
1
2
2
3
4
4
8
5
16
6
32
7
1
8
2
9
4
10
8
11
16
12
32

sexo aplasias
machos
1
machos
4
machos
9
machos
13
machos
18
machos
20
hembras
0
hembras
2
hembras
6
hembras
10
hembras
12
hembras
16

> rm(aplasias,dosis)
> attach(toxi)
36

0.2

0.4

0.6

0.8

1.0

plot(dosis[sexo=="machos"],aplasias[sexo=="machos"]/20,pch=15,
ylab="P(aplasia)",xlab="dosis")
points(dosis[sexo=="hembras"],aplasias[sexo=="hembras"]/20,pch=16)
legend(20,.2,levels(sexo),pch=c(16:15))

P(aplasia)

>
+
>
>

hembras
machos

10

15

20
dosis

25

30
37

-2

-1

logit<-function(p)log(p/(1-p))
alogit<-function(z)1/(1+exp(-z))
plot(dosis[sexo=="machos"],logit(aplasias[sexo=="machos"]/20),
pch=15,ylab=logit(P(aplasia))",xlab="dosis",log="x")
points(dosis[sexo=="hembras"],logit(aplasias[sexo=="hembras"]/20),
pch=16)
legend(10,-2,levels(sexo),pch=c(16:15))

hembras
machos

-3

logit(P(aplasia))

>
>
>
+
>
+
>

5
dosis

10

20

38

Ajuste del modelo logstico


Logit{P(aplasia|log(dosis),sexo} =
+ 1log2(dosis) + 2sexo
Variables:
Respuesta:
aplasia
1(si) 0(no)
independientes: log2(dosis) (en mg)
sexo
0(H) 1(M)

EL modelo supone la misma pendiente en


log2(dosis) para los dos sexos, pero diferente
ordenada en el origen
39

> m.tx<-glm(cbind(aplasias,20-aplasias)~log(dosis,2)+sexo,family=binomial)
> coef(m.tx)
(Intercept) log(dosis, 2)
sexomachos
-3.47

1.10

0.2

0.4

0.6

0.8

1.0

plot(dosis[sexo=="machos"],aplasias[sexo=="machos"]/20,pch=15,
ylab="P(aplasia)",xlab="dosis",log="x")
points(dosis[sexo=="machos"],m.tx$fitted[sexo=="machos"],pch=12,type="o")
points(dosis[sexo=="hembras"],aplasias[sexo=="hembras"]/20,pch=16)
points(dosis[sexo=="hembras"],m.tx$fitted[sexo=="hembras"],pch=10,type="o")

P(aplasia)

>
+
>
>
>

1.06

10
dosis

20

40

Interpretacin de los coeficientes


P(aplasia|log2 (dosis),sexo)=

1
1+e -(-3.47+ 1.06*log2 (dosis)+1.10*sexo)

Constante:
= logit{P(aplasia|log2(dosis)=0,sexo=0)
dosis=1 en hembras
> alogit(coef(m.tx)[1])
(Intercept)
0.0301
> predict(m.tx,data.frame(dosis=1,sexo="hembras"),type="response")
[1] 0.0301
> toxi[dosis==1&sexo=="hembras",]
dosis
sexo aplasias
7
1 hembras
0
41

1 = log(OR) para aumento de toxicidad en


relacin al aumento en 1 unidad de log2(dosis)
exp(1) = OR para doblar la dosis
> exp(coef(m.tx)[2])
log(dosis, 2)
2.9

Al doblar la dosis se triplica el riesgo de aplasia


Se supone que el modelo logstico es adecuado
(linealidad) para todas las dosis observadas

42

2 = log(OR) para la diferencia de toxicidad


entre sexos (Machos / Hembras) pues los
cdigos eran 1 y 0 respectivamente
> exp(coef(m.tx)[3])
sexomachos
3.01

El riesgo se triplica en machos


Este OR se supone constante para todas las dosis
(paralelismo de lneas dosis-respuesta entre
sexos)

43

Modelo con pendientes diferentes


Para permitir que el efecto de la dosis sea
diferente en cada sexo hay que emplear un
modelo con la interaccin dosis:sexo
La interaccin es una nueva variable producto
de los dos efectos principales
log2(dosis):sexo log2(dosis)*sexo

El modelo es:

Logit{P(aplasia|log(dosis),sexo} =
+ 1log2(dosis) + 2sexo + 3log2(dosis):sexo
44

> m.txi<-glm(cbind(aplasias,20-aplasias)~log(dosis,2)*sexo,family=binomial)
> coef(m.txi)
(Intercept)
log(dosis, 2)
sexomachos
-2.994
0.906
0.175
log(dosis, 2).sexomachos
0.353

La interpretacin de algunos coeficientes de


este modelo es diferente:
sigue siendo logit(aplasia en hembras a dosis=1)
exp(1) = OR al doblar la dosis en hembras = 2.47
exp(2) = OR para machos/hembras en dosis = 1
exp(1+3) = OR al doblar la dosis en machos = 3.52
45

-3

-2

-1

plot(dosis[sexo=="machos"],logit(aplasias[sexo=="machos"]/20),pch=15,
ylab="logit(P(aplasia))",xlab="dosis",log="x")
points(dosis[sexo=="hembras"],logit(aplasias[sexo=="hembras"]/20),pch=16)
points(dosis[sexo=="hembras"],m.txi$linear[sexo=="hembras"],pch=10,type='o')
points(dosis[sexo=="machos"],m.txi$linear[sexo=="machos"],pch=12,type='o')

logit(P(aplasia))

>
+
>
>
>

5
dosis

10

20
46

Caso 4. Covariable categrica:


Relacin entre tabaco y cncer de
colon en Mallorca
> table(grup)
grup
Controles
Casos
242
101
> Table(fuma,grup)
Controles
NO Fuma
124
Fumador
64
EX-Fumador
54

(%)
Casos (%)
( 71.7)
49 ( 28.3)
( 70.3)
27 ( 29.7)
( 68.4)
25 ( 31.6)
47

Codificacin con variables auxiliares


TABACO Exfuma

Categorias
de la
variable
original

Fuma

No fuma

Ex
fumador

Fumador

Son necesarias (k-1) variables auxiliares para el


modelo pues la primera corresponde a la constante
(siempre vale 0)

48

Contrastes

R genera automticamente las variables


dummy. Por defecto se emplea la codificacin
0/1: > contr.treatment(levels(fuma))
Fumador EX-Fumador
NO Fuma
0
0
Fumador
1
0
EX-Fumador
0
1

Hay otras posibilidades:


> contr.sum(levels(fuma))
[,1] [,2]
NO Fuma
1
0
Fumador
0
1
EX-Fumador
-1
-1

> contr.helmert(levels(fuma))
[,1] [,2]
NO Fuma
-1
-1
Fumador
1
-1
EX-Fumador
0
2

49

Modelo logstico
> caso<-grup==Casos
> table(caso)
caso
FALSE TRUE
242
101
> m.tab<-glm(caso~fuma,family=binomial)
> coef(m.tab)
(Intercept)
fumaFumador fumaEX-Fumador
-0.9285
0.0654
0.1584
> exp(coef(m.tab)[2:3])
fumaFumador fumaEX-Fumador
1.07
1.17
50

Un OR para cada categora


Cada categora se compara con la de
referencia
NO Fuma
Fumador

Controles (%)
124
( 71.7)
64
( 70.3)

Casos (%)
49 ( 28.3)
27 ( 29.7)

> 124*27/49/64
[1] 1.07
NO Fuma
EX-Fumador

124
54

( 71.7)
( 68.4)

49 ( 28.3)
25 ( 31.6)

> 124*25/49/54
[1] 1.17

51

Variables cuantitativas categorizadas


Como la relacin dosis-respuesta no es
necesariamente lineal para una variable
cuantitativa, sta se suele categorizar y
modelar como categrica:
Ejemplo: la relacin entre la ingsta de
vegetales totales y plipos
Los vegetales pueden categorizarse en grupos
segn cuantiles y comparar cada grupo respecto
al primero
52

100

200

300

400

500

>
>
+
>

Controles

Casos

boxplot(vegtot~grup)
veg<-cut(vegtot,
quantile(vegtot,seq(0,1,.1)),incl=T)
Table(veg,grup)
Controles (%)
Casos (%)
(0,44.4]
17
( 48.6)
18 ( 51.4)
(44.4,65]
19
( 51.4)
18 ( 48.6)
(65,83.6]
23
( 74.2)
8 ( 25.8)
(83.6,97]
27
( 73.0)
10 ( 27.0)
(97,110]
25
( 71.4)
10 ( 28.6)
(110,125]
24
( 75.0)
8 ( 25.0)
(125,139]
23
( 69.7)
10 ( 30.3)
(139,166]
29
( 85.3)
5 ( 14.7)
(166,203]
29
( 85.3)
5 ( 14.7)
(203,530]
26
( 74.3)
9 ( 25.7)

53

0.0
-0.5

logit(P(polipos))

-1.0
-1.5
0

50

100

150

200

Vegetales totales (gr/dia)


54

> veg<-cut(vegtot,quantile(vegtot,seq(0,1,.25)),incl=T)
> Table(veg,grup)
Controles (%)
Casos (%)
(0,72]
46
( 52.9)
41 ( 47.1)
(72,110]
65
( 73.9)
23 ( 26.1)
(110,156]
62
( 75.6)
20 ( 24.4)
(156,530]
69
( 80.2)
17 ( 19.8)
> m.veg<-glm(caso~veg,family=binomial)
> exp(coef(m.veg))
(Intercept) veg(72,110] veg(110,156] veg(156,530]
0.891
0.397
0.362
0.276
> exp(coef(m.veg))
(Intercept) veg(72,110] veg(110,156] veg(156,530]
0.891
0.397
0.362
0.276

ORs
55

Otras opciones con variables


cuantitativas
Transformaciones
Log(X)
potencia: Xr

Polinomios:
logit(p) = + 1X + 2X2 + 3X3 + ... kXk
No deben emplearse grados muy elevados, normalmente slo 2 3
Los coeficientes son muy difciles de interpretar, se usan
fundamentalmente para ajustar otras variables de manera fina

Splines
56

Estadstica en regresin logstica


Ajustar el modelo: estimar los parmetros
Mxima verosimilitud
Variable dependiente binaria: distribucin
binomial:
N
n
y
L(X | p) = 1 yi px i (1 px ) ni yi
i

i = + xi
1
px =
1 + e
logL(X | p) =

ni + y n log(1 + e i )
log
i yi i i i
57

Elementos de inters
Parmetros: (,)
Matriz de varianza-covarianza:

C( , 1 ) C( , 1 )
V( )

= C( , 1 )
V(1 )
C(1, 2 )
C( , ) C( , ) V( )
1
1
2
2

Valor de logL cuando es mximo:


Likelihood value
Tiene asociados unos grados de libertad:
g.l. = #observaciones - #parmetros - 1
58

Elementos derivados
OR = e
permite interpretar los coeficientes como
riesgos

Errores estndar de :

ee =V()

permite calcular intervalos de confianza y


realizar tests de hiptesis

Deviance = -2 * logL
permite: valorar el ajuste del modelo (datos agrupados)
realizar test de hiptesis (comparando modelos)
59

Anlisis de los coeficientes


{, ee}
Test de Wald:
|z| > 1.96

z = /ee ~ N(0,1)

-> 0 -> OR 1
asociacin significativa
p-valor = -1(z)

Intervalo de confianza (al 95%)


para :

1.96ee :

simtricos

para OR:

e1.96ee : {e-1.96ee ; e+1.96ee }


asimtricos

60

> summary(m.veg)$coef
Estimate Std. Error z value Pr(>|z|)
(Intercept)
-0.115
0.215 -0.536 0.592124
veg(72,110]
-0.924
0.324 -2.853 0.004337
veg(110,156]
-1.016
0.335 -3.035 0.002405
veg(156,530]
-1.286
0.346 -3.722 0.000198
> intervals(m.veg)
veg(72,110]
veg(110,156]
veg(156,530]

or
0.40 (
0.36 (
0.28 (

95%
0.21 0.19 0.14 -

C.I.
0.75 )
0.70 )
0.54 )

61

Variables categricas
La codificacin con dummies genera una
comparacin respecto la categora de
referencia.
Es importante que esta categora tenga un
nmero suficiente de casos para evitar
inestabilidad en el modelo:
EDAD

20-29 8
30-39 250 0.5 3.2
40-49 73 .07 3.1
50-59 32 1.2 3.0

OR (IC95%)
1
1.6 (0.003;812)
2.0 (0.004;992)
3.3 (0.005;1339)

62

Prueba de asociacin global


Test de razn de verosimilitud (TRV)
Equivale al 2 de Pearson

Es necesario ajustar 2 modelos y comparar


las deviances: Anlisis de deviance:
Modelo deviance

g.l.

g.l.

D+

g.l. +

deviance

g.l.

D D+

gl gl+

deviance ~ 2 con g.l.


63

> m.0<-glm(caso~1,family=binomial)
> m.0
Call:

glm(formula = caso ~ 1, family = binomial)

Coefficients:
(Intercept)
-0.874
Degrees of Freedom: 342 Total (i.e. Null);
Null Deviance:
416
Residual Deviance: 416 AIC: 418

342 Residual

> m.veg<-glm(caso~veg,family=binomial)
> m.veg
Call:

glm(formula = caso ~ veg, family = binomial)

Coefficients:
(Intercept)
-0.115

veg(72,110]
-0.924

veg(110,156]
-1.016

Degrees of Freedom: 342 Total (i.e. Null);


Null Deviance:
416
Residual Deviance: 398 AIC: 406

veg(156,530]
-1.286
339 Residual

64

1 Modelo de heterogeneidad
(categrico)
Un coeficiente para cada dummy
Test: TRVa ( deviance con k-1 g.l.)
> anova(m.0,m.veg,test="Chisq")
Analysis of Deviance Table
Response: caso
Resid. Df Resid. Dev
1
342
416
veg
339
398

Df Deviance P(>|Chi|)
3

18

5e-04

65

2. Test de tendencia para


variables ordinales
La variable se codifica con valores crecientes
en 1 unidad de categora en categora
(1,2,3,...)
Un nico coeficiente, que recoge la variacin
promedio
Test: TRVt ( deviance con 1 g.l.)

66

> m.veg.t<-glm(caso~as.numeric(veg),family=binomial)
> intervals(m.veg.t)
or
95%
C.I.
as.numeric(veg)
0.66 (
0.53 0.82 )
> anova(m.0,m.veg.t,test="Chisq")
Analysis of Deviance Table
Response: caso
Resid. Df Resid. Dev
1
342
416
as.numeric(veg)
341
401

Df Deviance P(>|Chi|)
1

15

0.00012

67

3. Test de desviacin de la
linealidad
Test: diferencia del modelo de
heterogeneidad y el de tendencia:
TRVDL: deviance con k-2 g.l.
> anova(m.veg.t,m.veg,test="Chisq")
Analysis of Deviance Table
Response: caso
Resid. Df Resid. Dev
as.numeric(veg)
341
401
veg
339
398

Df Deviance P(>|Chi|)
2

0.24

68

Aproximaciones al TRV
Aproximaciones cuadrticas a la funcin de
verosimilitud:
Test de Wald
aproxima la funcin de verosimilitud coincidiendo
en el valor del mximo.

Test del score


aproxima la funcin de verosimilitud coincidiendo
en el valor nulo

69

-5

Aproximaciones cuadrticas a LogL

-15

score

-20

logL

-10

Wald

-0.6

-0.4

-0.2

0.0

0.2

0.4

0.6

70

Estrategia de anlisis multivariante


1 Anlisis bivariante
cada variable por separado
identificar variables de inters (significativas o
no)

2 Anlisis combinado de las variables


equivale a un anlisis estratificado
cada factor est ajustado por los dems del
modelo

3 Anlisis de interacciones
modificacin del efecto de una variable por otra
71

Anlisis multivariante
> Table(sexo,grup)
Controles (%)
Casos (%)
Hombre
144
( 68.2)
67 ( 31.8)
Mujer
98
( 74.2)
34 ( 25.8)
> Table(edadg,grup)
Controles (%)
Casos (%)
(30,55]
55
( 63.2)
32 ( 36.8)
(55,65]
60
( 70.6)
25 ( 29.4)
(65,72]
72
( 73.5)
26 ( 26.5)
(72,84]
55
( 75.3)
18 ( 24.7)
> Table(vegtot.g,grup)
Controles (%)
Casos (%)
(0,72]
46
( 52.9)
41 ( 47.1)
(72,110]
65
( 73.9)
23 ( 26.1)
(110,156]
62
( 75.6)
20 ( 24.4)
(156,530]
69
( 80.2)
17 ( 19.8)
> Table(pasteles.g,grup)
Controles (%)
Casos (%)
(-1,0]
111
( 80.4)
27 ( 19.6)
(0,1]
43
( 76.8)
13 ( 23.2)
(1,4]
49
( 61.3)
31 ( 38.8)
(4,36]
39
( 56.5)
30 ( 43.5)

72

> m.0<-glm(caso~1,family=binomial)
> m.sexo<-glm(caso~sexo,family=binomial)
> intervals(m.sexo)
or
sexoMujer
0.75 (

95%
0.46 -

C.I.
1.21 )

> anova(m.0,m.sexo,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1
342
415.78
sexo
341
414.36
1
1.42
0.23

> m.edad<-glm(caso~edadg,family=binomial)
> m.edad.t<-glm(caso~as.numeric(edadg),family=binomial)

73

> intervals(m.edad)
or
edadg(55,65]
0.72 (
edadg(65,72]
0.62 (
edadg(72,84]
0.56 (

95%
0.38 0.33 0.28 -

C.I.
1.36 )
1.16 )
1.12 )

> anova(m.0,m.edad,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1
342
415.78
edadg
339
412.38
3
3.40

0.33

> intervals(m.edad.t)
as.numeric(edadg)

or
0.82 (

95%
0.66 -

C.I.
1.02 )

> anova(m.0,m.edad.t,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev
1
as.numeric(edadg)

Df Deviance P(>|Chi|)
342
415.78
341
412.64
1

3.14

0.08

74

> m.sexo.edad<-glm(caso~sexo+edadg,family=binomial)
> intervals(m.sexo.edad)
or
95%
C.I.
sexoMujer
0.74 (
0.45 1.20 )
edadg(55,65]
0.70 (
0.37 1.34 )
edadg(65,72]
0.62 (
0.33 1.16 )
edadg(72,84]
0.55 (
0.28 1.10 )
> anova(m.sexo,m.sexo.edad,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
sexo
341
414.36
sexo + edadg
338
410.87
3
3.49

0.32

> anova(m.edad,m.sexo.edad,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
edadg
339
412.38
sexo + edadg
338
410.87
1
1.51

0.22
75

> m.veg<-glm(caso~vegtot.g,family=binomial)
> intervals(m.veg)
or
95%
C.I.
vegtot.g(72,110]
0.40 (
0.21 0.75 )
vegtot.g(110,156]
0.36 (
0.19 0.70 )
vegtot.g(156,530]
0.28 (
0.14 0.54 )
> anova(m.0,m.veg,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev Df Deviance P(>|Chi|)
1
342
415.78
vegtot.g
339
398.05
3
17.73 0.0004989
> m.veg.t<-glm(caso~as.numeric(vegtot.g),family=binomial)
> intervals(m.veg.t)
or
95%
C.I.
as.numeric(vegtot.g)
0.66 (
0.53 0.82 )
> anova(m.0,m.veg.t,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev
1
342
415.78
as.numeric(vegtot.g)
341
400.93

Df Deviance P(>|Chi|)
1

14.85 0.0001163
76

> m.veg.a<-glm(caso~vegtot.g+sexo+edadg,family=binomial)
> intervals(m.veg.a)
or
95%
C.I.
vegtot.g(72,110]
0.36 (
0.19 0.70 )
vegtot.g(110,156]
0.30 (
0.15 0.59 )
vegtot.g(156,530]
0.22 (
0.11 0.45 )
sexoMujer
0.75 (
0.45 1.25 )
edadg(55,65]
0.71 (
0.36 1.38 )
edadg(65,72]
0.51 (
0.26 0.99 )
edadg(72,84]
0.38 (
0.18 0.80 )
> anova(m.sexo.edad,m.veg.a,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev
sexo + edadg
338
410.87
vegtot.g + sexo + edadg
335
389.13

Df Deviance P(>|Chi|)
3

21.74

7.399e-05

77

> m.veg.a.t<-glm(caso~as.numeric(vegtot.g)+sexo+edadg,
+ family=binomial)
> intervals(m.veg.a.t)
or
95%
C.I.
as.numeric(vegtot.g)
0.61 (
0.48 0.77 )
sexoMujer
0.76 (
0.46 1.25 )
edadg(55,65]
0.67 (
0.34 1.29 )
edadg(65,72]
0.50 (
0.26 0.97 )
edadg(72,84]
0.38 (
0.18 0.80 )
> anova(m.sexo.edad,m.veg.a.t,test="Chisq")
Analysis of Deviance Table
Resid. Df Resid. Dev
sexo + edadg
338
410.87
as.numeric(vegtot.g) + sexo + edadg
337
392.10

Df
1

Deviance P(>|Chi|)
sexo + edadg
as.numeric(vegtot.g) + sexo + edadg

18.77 1.473e-05
78

Edad y sexo no son factores de confusin para


la estimacin de vegetales:
el estimador no vara ms de un 20%
El cambio en el estimador se debe considerar
en el contexto de la precisin del estudio
(intervalo de confianza)
> intervals(m.veg.t)
as.numeric(vegtot.g)

or
0.66 (

95%
0.53 -

C.I.
0.82 )

or
0.61
0.76
0.67
0.50
0.38

95%
0.48
0.46
0.34
0.26
0.18

C.I.
0.77
1.25
1.29
0.97
0.80

> intervals(m.veg.a.t)
as.numeric(vegtot.g)
sexoMujer
edadg(55,65]
edadg(65,72]
edadg(72,84]

(
(
(
(
(

)
)
)
)
)
79

Con la variable categorizada es ms difcil


evaluar la posible confusin
> intervals(m.veg.a)
vegtot.g(72,110]
vegtot.g(110,156]
vegtot.g(156,530]
sexoMujer
edadg(55,65]
edadg(65,72]
edadg(72,84]

or
0.36
0.30
0.22
0.75
0.71
0.51
0.38

(
(
(
(
(
(
(

95%
0.19
0.15
0.11
0.45
0.36
0.26
0.18

C.I.
0.70
0.59
0.45
1.25
1.38
0.99
0.80

)
)
)
)
)
)
)

> intervals(m.veg)
vegtot.g(72,110]
vegtot.g(110,156]
vegtot.g(156,530]

or
0.40 (
0.36 (
0.28 (

95%
0.21 0.19 0.14 -

C.I.
0.75 )
0.70 )
0.54 )

80

Siguiente paso: interacciones


Preguntas:
La proteccin de los vegetales es igual en
hombres y en mujeres?
Y en funcin de la edad?

81

> m.veg.a.t.i<-glm(caso~edadg+sexo*as.numeric(vegtot.g),family=binomial)
> summary(m.veg.a.t.i)$coe
Estimate Std. Error z value Pr(>|z|)
(Intercept)
1.062
0.442
2.406 0.016130
edadg(55,65]
-0.410
0.338 -1.213 0.225100
edadg(65,72]
-0.665
0.336 -1.980 0.047714
edadg(72,84]
-0.974
0.377 -2.584 0.009752
sexoMujer
-0.788
0.610 -1.291 0.196697
as.numeric(vegtot.g)
-0.571
0.147 -3.883 0.000103
as.numeric(vegtot.g).sexoMujer
0.219
0.237
0.924 0.355506
> anova(m.veg.a.t.i,m.veg.a.t,test="Chisq")
Analysis of Deviance Table
Response: caso

as.numeric(vegtot.g) +
as.numeric(vegtot.g) +
as.numeric(vegtot.g) +
as.numeric(vegtot.g) +

Resid. Df Resid. Dev


sexo + edadg + as.numeric(vegtot.g):sexo
336
391
sexo + edadg
337
392
Deviance P(>|Chi|)
sexo + edadg + as.numeric(vegtot.g):sexo
sexo + edadg
-1
0.36

Df
-1

82

> m.veg.a.t.s<-glm(caso~edadg+sexo+sexo/as.numeric(vegtot.g),
+ family=binomial)
> summary(m.veg.a.t.s)$coe
Estimate Std. Error z value Pr(>|z|)
(Intercept)
1.062
0.442
2.41 0.016130
edadg(55,65]
-0.410
0.338
-1.21 0.225100
edadg(65,72]
-0.665
0.336
-1.98 0.047714
edadg(72,84]
-0.974
0.377
-2.58 0.009752
sexoMujer
-0.788
0.610
-1.29 0.196697
sexoHombre.as.numeric(vegtot.g)
-0.571
0.147
-3.88 0.000103
sexoMujer.as.numeric(vegtot.g)
-0.352
0.191
-1.84 0.065901
> intervals(m.veg.a.t.s)
edadg(55,65]
edadg(65,72]
edadg(72,84]
sexoMujer
sexoHombre.as.numeric(vegtot.g)
sexoMujer.as.numeric(vegtot.g)

or
0.66
0.51
0.38
0.45
0.57
0.70

(
(
(
(
(
(

95%
0.34
0.27
0.18
0.14
0.42
0.48

C.I.
1.29
0.99
0.79
1.50
0.75
1.02

)
)
)
)
)
)

83

La interaccin entre factores genera


tantos coeficientes como el producto de los
de los efectos principales:
> m.veg.a.t.e<-glm(caso~sexo+edadg*as.numeric(vegtot.g),family=binomial)
> summary(m.veg.a.t.e)$coe
Estimate Std. Error z value Pr(>|z|)
(Intercept)
1.1423
0.617 1.85017 0.06429
sexoMujer
-0.3036
0.261 -1.16465 0.24416
edadg(55,65]
-0.0045
0.899 -0.00501 0.99600
edadg(65,72]
-0.7805
0.809 -0.96422 0.33494
edadg(72,84]
-2.2343
0.841 -2.65761 0.00787
as.numeric(vegtot.g)
-0.5864
0.216 -2.71354 0.00666
edadg(55,65].as.numeric(vegtot.g) -0.1748
0.336 -0.51970 0.60327
edadg(65,72].as.numeric(vegtot.g)
0.0219
0.315 0.06956 0.94454
edadg(72,84].as.numeric(vegtot.g)
0.6235
0.324 1.92162 0.05465

84

Interpretacin de la interaccin
Modificacin del efecto (riesgo) de una
variable al ira acompaada de otra
Cambia la referencia en la comparacin:
Efectos principales:
riesgo promedio entre categoras de la otra variable
(Riesgo de fumar ajustado por alcohol, pero como
promedio entre las diferentes categoras de alcohol)

Interaccin:
Riesgo especfico respecto a una categora de
referencia combinada (no fuman y no beben)

85

Caso 5. Alcohol y tabaco


GRUPO * Alcohol * Tabaco Crosstabulation
Count
Tabaco
Fuma

GRUPO

No fuma

Total
GRUPO

control
caso
control
caso

Total

Variable

Alcohol
moderado
30
45
75
73
91
164

no bebe
55
40
95
60
20
80

S.E.

Wald

df

BEBE
BEBE(1)
BEBE(2)
Constant

.9284
1.2226
-.6505

.2060
.1977
.1593

38.9446
20.3189
38.2415
16.6853

FUMA(1)
Constant

.0485
.5140

.1495
.1110

.1054
3.5117

importante
62
96
158
52
106
158

Total
147
181
328
185
217
402

Sig

Exp(B)

Lower

Upper

2
1
1
1

.0000
.0000
.0000
.0000

2.5306
3.3958

1.6900
2.3050

3.7891
5.0030

1
1

.7455
.0609

1.0497

.7831

1.4070

86

Variable

S.E.

Wald

df

Sig

FUMA(1)
BEBE
BEBE(1)
BEBE(2)
Constant

.1171

.1572

.9560
1.2286
-.5975

.2095
.1980
.1742

.5550
39.3270
20.8179
38.5011
11.7675

1
2
1
1
1

.4563
.0000
.0000
.0000
.0006

.0000
.1874
.1368
.1905

Variable

Exp(B)

FUMA(1)
BEBE(1)
BEBE(2)

1.1242
2.6013
3.4163

FUMA y moder
FUMA y inten

2.9244
3.8406

Variable
FUMA(1)
BEBE
BEBE(1)
BEBE(2)
BEBE * FUMA
BEBE(1) by FUMA(1)
BEBE(2) by FUMA(1)
Constant

95% CI for Exp(B)


Lower
Upper
.8261
1.7252
2.3175

1.5299
3.9223
5.0362

* calculadora
*
B

S.E.

Wald

df

Sig

.7802

.3314

1.3190
1.8108

.3022
.3088

-.5951
-1.0551
-1.0986

.4360
.4063
.2582

5.5408
34.4581
19.0444
34.3960
6.8430
1.8630
6.7450
18.1042

1
2
1
1
2
1
1
1

.0186
.0000
.0000
.0000
.0327
.1723
.0094
.0000

87

Interpretacin de modelos con


interacciones
Variable

Exp(B)

95% CI for Exp(B)


Lower
Upper

1.
FUMA(1)
BEBE(1)
BEBE(2)
BEBE(1) by FUMA(1)
BEBE(2) by FUMA(1)
2.1818*3.7397*.5515
2.1818*6.1154*.3481

=
=

No fuma No bebe

2.1818
3.7397
6.1154

1.1395
2.0681
3.3389

.5515
.3481

.2347
.1570

4.4998
4.6445

4.1777 Fuma
6.7626 No fuma
11.2005 No fuma

No bebe
Moderado
Intenso

1.2962
.7719
Fuma
Fuma

Moderado
Intenso

Ignorar la interaccin supone infraestimar


los riesgos respecto a no fumar y no beber
88

10

No fuma
Fuma

10

No bebe

moderado

intenso

No fuma
Fuma
no interaccion

No bebe

moderado

intenso

89

Riesgo para cada combinacin

Modelo efectos principales:


+ 1F + 2M + 3I

NB M
NF 1
e 2
F e1 e1 + 2

I
e 3
e1 +3

Modelo efectos principales + interaccin:


+ 1F + 2M + 3I + 4F M + 5F I

NB
M
NF 1
e 2
F e1 e1 + 2 + 4

I
e 3
e1 +3 +5
90

Es fundamental emplear modelos jerrquicos:


Si hay una interaccin, los efectos principales
deben estar tambin: A + B + A.B

Modelo SATURADO

Tiene tantos parmetros como observaciones


Todas las variables y sus interacciones
No explica ms que los datos
Son tiles si se trabaja con datos agrupados
(el SPSS no lo permite)

91

Intervalos de confianza con


interacciones

Se pueden calcular si se dispone de la matriz


de varianza-covarianza de los parmetros:
V(1 + 2) = V(1) + V(2) -2C(1,2)

Es ms fcil crear una nueva variable


combinacin de las categoras de las que
interaccionan: FUMABEBE
NF-NB; NF-M; NF-I; F-NB; F-M; F-I

92

Variable
FUMABEBE
FUMABEBE(1)
FUMABEBE(2)
FUMABEBE(3)
FUMABEBE(4)
FUMABEBE(5)
Constant

B
1.3190
1.8108
.7802
1.5041
1.5358
-1.0986

Variable

Exp(B)

FUMABEBE(1)
FUMABEBE(2)
FUMABEBE(3)
FUMABEBE(4)
FUMABEBE(5)

1
3.7397
6.1154
2.1818
4.5000
4.6452

S.E.

Wald

df

Sig

.3022
.3088
.3314
.3496
.3053
.2582

43.5691
19.0444
34.3960
5.5408
18.5093
25.3052
18.1042

5
1
1
1
1
1
1

.0000
.0000
.0000
.0186
.0000
.0000
.0000

.1827
.1302
.1794
.0593
.1281
.1522

95% CI for Exp(B)


Lower
Upper
2.0681
3.3389
1.1395
2.2679
2.5534

6.7626
11.2005
4.1777
8.9288
8.4504

NF
NF
NF
F
F
F

NB
M
I
NB
M
I

93

Diagnstico en Regresin logstica


Verificar que el modelo es adecuado
Bondad de ajuste
Con datos agrupados: deviance residual
Con datos individuales hace falta una
referencia, que puede obtenerse a partir del
modelo saturado, siempre que se trabaje con
pocas variables y ste sea estimable
Otros estadsticos:

(O-E)2/E sobre cada observacin


Hosmer y Lemeshow:
(O-E)2/E sobre 10
categoras de p
94

Residuales
Diferencia (observado - esperado) para cada
observacin
hay mltiples posibilidades:
Estandarizados
Deviance ...

Se pueden hacer grficas para intentar


dertectar patrones no aleatorios
Son poco tiles a no ser que se trabaje con
variables cuantitativas

95

Observaciones influyentes
Individuos que modifican de manera
importante el ajuste del modelo y la
estimacin de los parmetros
Delta-betas:
Modificacin de cada parmetro al eliminar una
observacin cada vez
Si son grandes: modelo inestable (tpico de N )

96

.06

.04

.02

0.00

Dfbeta for BEBE(1)

-.02

Dfbeta for BEBE(2)


Dfbeta for FUMA(1)

-.04

Dfbeta for BEBE(1) b


-.06

Dfbeta for BEBE(2) b


0

10

12

14

NF-NB

97

Modelos predictivos
El objetivo del modelo puede ser:
generar una ecuacin con capacidad predictiva,
como una clasificacin (anlisis discriminante)
buscar qu factores tienen capacidad predictiva
Si la respuesta es la aparicin de un evento,
pueden llamarse modelos pronsticos

En este tipo de estudios es tpico contar con


un gran nmero de variables a explorar
98

Mtodos de seleccin automtica


Adelante:
1 Se inicia con un modelo vaco (slo )
2 Se ajusta un modelo y se calcula el p valor de
incluir cada variable por separado
3 Se selecciona el modelo con la ms significativa
4 Se ajusta un modelo con la(s) variable(s)
seleccionada(s) y se calcula el p valor de aadir
cada variable no seleccionada por separado
5 Se selecciona el modelo con la ms significativa
6 Se repite 4-5 hasta que no queden variables
significativas para incluir.
99

Atrs:
1 Se inicia con un modelo con TODAS las variables
candidatas
2 Se eliminanan, una a una, cada variable y se
calcula la prdida de ajuste al eliminar
3 Se selecciona para eliminar la menos significativa
4 Se repite 2-3 hasta que todas las variables
incluidas sean significativas y no pueda eliminarse
ninguna sin que se pierda ajuste.

100

Stepwise
Se combinan los mtodos adelante y atrs.
Puede empezarse por el modelo vaco o por el
completo, pero en cada paso se exploran las
variables incluidas, por si deben salir y las no
seleccionadas, por si deben entrar

No todos los mtodos llegan a la misma


solucin necesariamente
101

Consideraciones
Criterio exclusivamente estadstico: no se
tienen en cuenta otros conocimientos sobre
las variables ms interesantes a incluir
(aunque se puede forzar a que algunas
variables siempre estn en el modelo)
Si hay un conjunto de variables muy
correlacionadas, slo 1 ser seleccionada
No es fcil tener en cuenta interacciones
entre variables (los modelos deben ser
jerrquicos)
102

Valoracin de la capacidad
predictiva del modelo
El modelo permite calcular una prediccin del
resultado en escala de probabilidad:

Pr( y = 1 | X ) = 1 (1 + e

( +'X )

Podemos decidir clasificar un individuo en el


grupo de sucesos si su probabilidad supera un
valor :

Pr > ye = 1
clasificacin :
Pr ye = 0

103

Clasificacin
Realidad
1

Modelo

(ye)

(yo)

VP

FP

FN

VN

Sensibilidad = VP/(VP+FN)
Especificidad = VN/(VN+FP)
104

Valoracin de la capacidad
predictiva del modelo
Area bajo la curva ROC construda para todos los
posibles puntos de corte de para clasificar los
individuos:
1
0.8
0.6
0.4
0.2
0
0

0.2

0.4

0.6

0.8

1
105

Clculo de rea bajo ROC


Guardar los valores que predice el modelo
(esperados)
Calcular la U de Mann-Whitney respecto a
los esperados:

U
AUC = 1
n 1n 0
n1 y n0 son el nmero esperado de 1 y 0 resp.

106

Test Statisticsa

Mann-Whitney U
Wilcoxon W
Z
Asymp. Sig. (2-tailed)

Predicted
Value
26273.500
69933.500
-7.866
.000

GROUP
Valid

control
caso
Total

Frequency
295
286
581

Percent
50.8
49.2
100.0

a. Grouping Variable: GROUP

U
26273
= 1
= 0.69
AUC = 1
n1n0
295 286

Un AUC=0.5 corresponde a una capacidad


predictiva nula. El mximo es 1.
107

Eleccin del punto de corte ptimo


Debe optimizarse la sensibilidad y la
especificidad, y elegir un punto segn la
naturaleza del modelo predictivo
El cambio en el punto de corte corresponde a
emplear diferentes constantes en el modelo
logstico
Con frecuencia la constante estimada ()
consigue una sensibilidad y especificidad
mxima, pero puede no ser el caso.
108

Validacin del modelo


El clculo de la capacidad predictiva (CP) del
modelo sobre la misma muestra que lo gener
siempre es optimista, y debe validarse:
Diferentes estrategias:
Probar el modelo en otra muestra diferente
Elaborar el modelo con un 75% de la muestra y
calcular la CP en el 25% restante
Usar la misma muestra, pero calcular los
indicadores de CP mediante tcnicas de
bootstrap o validacin cruzada, que corrigen el
optimismo
109

Regresin logstica condicional


Estudios con datos apareados
Generalizacin (modelo) del test de
McNemar
Las observaciones no son independientes. Si
se ignora, la correlacin (positiva) entre las
observaciones genera un sesgo hacia la
hiptesis nula
Se pierde poder estadstico

110

Estudios caso-control apareados


Para cada caso se elige uno o varios controles
que son idnticos (o muy parecidos) al caso en
variables que se quiere controlar
forzosamente: sexo, edad, residencia, fecha
de diagnstico ...
Estas variables quedarn igualadas entre
casos y controles: no se podr estimar un
efecto
Debe controlarse la correlacin que generan:
modelo condicional
111

Cada caso se compara exclusivamente con sus


controles
Las parejas (caso-control) que sean iguales
en el factor de inters no son informativas
Es un mtodo menos eficiente

l(, x) =
sets

+ xo

+e

+ x0

+ x1

+ ... + e

+ xr

La constante del modelo se anula (es igual


para casos y para controles)
112

Ajuste del modelo


Software:
Se puede usar un programa para analizar modelos
de Cox de supervivencia, pues la funcin de
verosimilitud es la misma

Es un modelo lineal generalizado, por lo que


pueden emplearse los mismos mtodos para
valorar efectos
Los coeficientes son log(OR): OR = e

113

Regresin multinomial
La variable dependiente es categrica con
ms de 2 grupos
Puede analizarse con Regresin logstica
politmica (modelo multinomial)
Se elige una categora como referencia y se
modelan varios logits simultneamente, uno
para cada una de las restantes categoras
respecto a la de referencia

114

Ejemplo: Hbito tabquico


La variable resultado tiene 3 categoras:
Fumador
Ex-fumador
No fumador

(referencia)

Se modelan 2 logits simultneamente:


logit(fumador/No fumador| z) = 1 + 1z
logit(Ex-fumador/No fumador| z) = 2 + 2z

Las covariables (z) son comunes pero se


estiman coeficientes diferentes para cada
logit (incluso diferente constante)

115

Regresin ordinal
La variable respuesta tiene ms de 2
categoras ordenadas
Se modela un nico logit que recoge la
relacin (de tendencia) entre la respuesta y
las covariables
Hay varios modelos posibles segn interese
modelar la tendencia:
odds proporcionales (acumualado)
categoras adyacentes (parejas)

116

Estimacin de modelos politmicos


Programas especficos:
BMDP, SAS, SPLUS

Se pueden reformular como modelos


log-lineales

117

Odds-proporcionales
Se compara un promedio de los posibles logit
acumulados (respecto a la 1 categora):
Logit
Muy
bajo

Respuesta
Bajo
Alto

Muy
alto

1
2
3

Cada logit tiene una constante diferente pero


comparten el coeficiente de las covariables
118

Modelo de odds proporcionales:

logitk (y > yk | z) = k + z
y = 1,2, ... C
k = 2,3, ... C

Supone que el cambio entre diferentes


puntos de corte de la respuesta es constante
(), pero parte de diferentes niveles (k)
119

Categoras adyacentes
Compara cada categora con la siguiente:
Logit
Muy
bajo

Respuesta
Bajo
Alto

Muy
alto

1
2
3

Cada logit tiene una constante diferente pero


comparten el coeficiente de las covariables
120

Modelo de categoras adyacentes:

logitk (yk > yk -1 | z) = k + z


y = 1,2, ... C
k = 2,3, ... C

Supone que el cambio entre categoras


adyacentes de la respuesta es constante (),
pero parte de diferentes niveles (k)
121

Você também pode gostar