Escolar Documentos
Profissional Documentos
Cultura Documentos
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:
E ( y | x) = + x
Y: la variable respuesta es binaria:
1 : evento
Y = 0 : no evento
E ( y | x) = + x
y N ( , )
2
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
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
= 1 x1 + ... + k xk
10
Normal
Binomial
Poisson
Gamma
identidad: =
logit: log(y/{1- y})
log(y)
inversa: -1/y
11
Cuantitativa continua
> Regresin lineal
Binomial:
Binaria (proporciones)
> Regresin logstica
Poisson:
Gamma:
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)
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
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
P (y = 1)
P (y = 1)
odds =
=
P (y = 0) 1 P (y = 1)
21
(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
24
= log(OR)
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
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
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
0.0
0.5
0.7
0.6
0.5
-2.0
0.4
0.3
0.2
0.1
30
40
50
60
30
40
edad
50
60
edad
>
>
>
>
>
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
causa muerte
edad (en aos)
1(ci) 0(otra)
Modelo ajustado:
> coef(m.ci)
(Intercept)
-5.030
edad
0.105
30
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
> 1/(1+exp(-coef(m.ci)[1] ) )
(Intercept)
0.0065
> 1/(1+exp(-coef(m.ci30)[1]))
(Intercept)
0.5
0.4
0.1
0.2
0.3
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
>
>
>
>
>
40
50
60
edad
33
Coeficientes:
= log(OR)
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
> 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
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
42
43
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
-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
(%)
Casos (%)
( 71.7)
49 ( 28.3)
( 70.3)
27 ( 29.7)
( 68.4)
25 ( 31.6)
47
Categorias
de la
variable
original
Fuma
No fuma
Ex
fumador
Fumador
48
Contrastes
> 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
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
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
> 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
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
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
Elementos derivados
OR = e
permite interpretar los coeficientes como
riesgos
Errores estndar de :
ee =V()
Deviance = -2 * logL
permite: valorar el ajuste del modelo (datos agrupados)
realizar test de hiptesis (comparando modelos)
59
z = /ee ~ N(0,1)
-> 0 -> OR 1
asociacin significativa
p-valor = -1(z)
1.96ee :
simtricos
para OR:
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
g.l.
g.l.
D+
g.l. +
deviance
g.l.
D D+
gl gl+
> m.0<-glm(caso~1,family=binomial)
> m.0
Call:
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:
Coefficients:
(Intercept)
-0.115
veg(72,110]
-0.924
veg(110,156]
-1.016
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
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.
69
-5
-15
score
-20
logL
-10
Wald
-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
70
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
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
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
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) +
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
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
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
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
Exp(B)
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
10
No fuma
Fuma
10
No bebe
moderado
intenso
No fuma
Fuma
no interaccion
No bebe
moderado
intenso
89
NB M
NF 1
e 2
F e1 e1 + 2
I
e 3
e1 +3
NB
M
NF 1
e 2
F e1 e1 + 2 + 4
I
e 3
e1 +3 +5
90
Modelo SATURADO
91
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
6.7626
11.2005
4.1777
8.9288
8.4504
NF
NF
NF
F
F
F
NB
M
I
NB
M
I
93
Residuales
Diferencia (observado - esperado) para cada
observacin
hay mltiples posibilidades:
Estandarizados
Deviance ...
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
-.02
-.04
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
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
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 )
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
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
U
26273
= 1
= 0.69
AUC = 1
n1n0
295 286
110
l(, x) =
sets
+ xo
+e
+ x0
+ x1
+ ... + e
+ xr
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
(referencia)
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
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
logitk (y > yk | z) = k + z
y = 1,2, ... C
k = 2,3, ... C
Categoras adyacentes
Compara cada categora con la siguiente:
Logit
Muy
bajo
Respuesta
Bajo
Alto
Muy
alto
1
2
3