Está en la página 1de 14

Maestría en Aplicaciones de

Información Espacial

Regresión logística múltiple

Prof.: María Laura Nores (FaMAF, UNC)


2

Modelo de Regresión Logística Múltiple

Si ahora tenemos k variables explicativas x1 ,…, xk donde x1i ,… , xki


denotan los valores correspondientes a la observación i, i = 1,…,n, y pi la
respectiva probabilidad de éxito, el modelo de regresión logística múltiple
asume que Yi tiene distribución binomial y:

logit ( pi ) = β 0 + β1 x1i + … + β k xki

donde β 0 ,…, β k son parámetros desconocidos.

De esto resulta:
exp ( β 0 + β1 x1i + … + β k xki )
pi =
1 + exp ( β 0 + β1 x1i + … + β k xki )
3

Interpretación de los parámetros

βj = 0 No hay relación entre la probabilidad de éxito y la


variable xj.

βj > 0 La probabilidad de éxito aumenta a medida que xj


aumenta (fijas las restantes covariables).

βj < 0 La probabilidad de éxito disminuye a medida que xj


aumenta (fijas las restantes covariables).

Además, exp ( β j ) representa el cociente de chances (OR) de que


ocurra un éxito cuando la covariable xj aumenta en una unidad (y
las demás covariables están fijas).
4

Ejemplo:
Se realizó un estudio para analizar el efecto de la insulina sobre ratones,
considerando si produce o no convulsiones a diferentes dosis, utilizando dos
tipos de preparaciones.
log(dosis) Preparación Frec. convulsiones Total
1.224 A 0 33
1.649 A 5 32
1.946 A 11 38
2.140 A 14 37
2.351 A 18 40
2.565 A 21 37
2.890 A 23 31
3.045 A 30 37
3.332 A 27 31
1.872 B 2 40
2.303 B 10 30
2.639 B 18 40
3.068 B 21 35
3.367 B 27 37
5

> datos<-read.table("insulina.txt", header = T)


> datos
ldosis prep conv total
1 1.224 A 0 33
2 1.649 A 5 32
3 1.946 A 11 38
4 2.140 A 14 37
5 2.351 A 18 40
6 2.565 A 21 37
7 2.890 A 23 31
8 3.045 A 30 37
9 3.332 A 27 31
10 1.872 B 2 40
11 2.303 B 10 30
12 2.639 B 18 40
13 3.068 B 21 35
14 3.367 B 27 37
> ldosis<-datos$ldosis
> conv<-datos$conv
> total<-datos$total
> prep<-as.factor(datos$prep)
6

> prop<-conv/total
> par(pch=16)
> plot(ldosis, prop, col = prep)
> legend("topleft", levels(prep), col = 1:2, pch = 16)
> lines(ldosis[prep == "A"],prop[prep == "A"])
> lines(ldosis[prep == "B"],prop[prep == "B"],col="red")

A
0.8

B
0.6
prop

0.4
0.2
0.0

1.5 2.0 2.5 3.0

ldosis
7
> mrta <- cbind(conv, total-conv)
> fit <- glm(mrta ~ ldosis + prep, family = binomial)
> summary(fit)
Call:
glm(formula = mrta ~ ldosis + prep, family = binomial)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.06031 -0.38233 -0.04617 0.35624 1.20575
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -5.4754 0.5376 -10.185 < 2e-16 ***
ldosis 2.2580 0.2171 10.402 < 2e-16 ***
prepB -0.8993 0.2317 -3.881 0.000104 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 163.716 on 13 degrees of freedom
Residual deviance: 8.835 on 11 degrees of freedom
AIC: 62.929
Number of Fisher Scoring iterations: 4

> 1-pchisq(8.835,11)
[1] 0.6371195
8

> fit2 <- glm(mrta ~ ldosis * prep, family = binomial)


> summary(fit2)
Call:
glm(formula = mrta ~ ldosis * prep, family = binomial)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.97499 -0.35896 -0.08499 0.42609 1.06393
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -5.6535 0.6716 -8.418 <2e-16 ***
ldosis 2.3323 0.2742 8.505 <2e-16 ***
prepB -0.3568 1.2011 -0.297 0.766
ldosis:prepB -0.2072 0.4511 -0.459 0.646
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 163.7155 on 13 degrees of freedom
Residual deviance: 8.6255 on 10 degrees of freedom
AIC: 64.719
Number of Fisher Scoring iterations: 4
9

> plot(fitted.values(fit),prop) ; abline(0,1)


> plot(ldosis, prop, col = prep)
> legend("topleft", levels(prep), col = 1:2, pch = 16)
> xA<-seq(1.224,3.332,by = 0.001)
> xB<-seq(1.872,3.367,by = 0.001)
> nA<-coef(fit)[1] + xA*coef(fit)[2]
> nB<-coef(fit)[1] + coef(fit)[3] + xB*coef(fit)[2]
> lines(xA, exp(nA)/(1 + exp(nA)))
> lines(xB, exp(nB)/(1 + exp(nB)),col="red")

0.8
0.8

0.6
0.6

prop
prop

0.4
0.4

0.2
0.2

0.0
0.0

0.2 0.4 0.6 0.8 1.5 2.0 2.5 3.0

fitted.values(fit) ldosis
10

> plot(fit$fitted.values , rstandard(fit))


11

> plot(rstandard(fit))
12

> plot(ldosis , rstandard(fit))


13
> ld2 <- ldosis^2
> fit3 <- glm(mrta ~ ldosis + ld2 + prep, family = binomial)
> summary(fit3)

Call:
glm(formula = mrta ~ ldosis + ld2 + prep, family = binomial)

Deviance Residuals:
Min 1Q Median 3Q Max
-1.3141 -0.5116 0.1511 0.2558 0.8286

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -9.4225 2.4444 -3.855 0.000116 ***
ldosis 5.5297 1.9542 2.830 0.004660 **
ld2 -0.6515 0.3816 -1.708 0.087721 .
prepB -0.8774 0.2289 -3.833 0.000127 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 163.7155 on 13 degrees of freedom


Residual deviance: 5.6483 on 10 degrees of freedom
AIC: 61.742
Number of Fisher Scoring iterations: 4
14

> exp(coef(fit))
(Intercept) ldosis prepB
0.004188503 9.564020068 0.406856266

Fija la preparación, la chance de tener convulsiones aumenta en un


factor de 9.56 cuando el logaritmo de la dosis aumenta en una unidad

> exp(-coef(fit))
(Intercept) ldosis prepB
238.7487705 0.1045585 2.4578705

Fija la dosis, la chance de tener convulsiones bajo preparación A


es 2.46 veces la chance de tener convulsiones bajo preparación B

También podría gustarte