16 votos

¿Cómo trazar el límite de decisión en R para el modelo de regresión logística?

Hice un modelo de regresión logística usando glm en R. Tengo dos variables independientes. Cómo puedo trazar el límite de la decisión de mi modelo en el diagrama de dispersión de las dos variables. Por ejemplo, cómo puedo yo trazar una figura como: http://onlinecourses.science.psu.edu/stat557/node/55

Gracias.

29voto

merriam Puntos 67
set.seed(1234)

x1 <- rnorm(20, 1, 2)
x2 <- rnorm(20)

y <- sign(-1 - 2 * x1 + 4 * x2 )

y[ y == -1] <- 0

df <- cbind.data.frame( y, x1, x2)

mdl <- glm( y ~ . , data = df , family=binomial)

slope <- coef(mdl)[2]/(-coef(mdl)[3])
intercept <- coef(mdl)[1]/(-coef(mdl)[3]) 

library(lattice)
xyplot( x2 ~ x1 , data = df, groups = y,
   panel=function(...){
       panel.xyplot(...)
       panel.abline(intercept , slope)
       panel.grid(...)
       })

alt text

glmfunción le da una advertencia. Pero eso no es importante aquí el propósito es ilustrar cómo dibujar el límite lineal y las observaciones de color según sus covariables.

24voto

bobwienholt Puntos 9107

Quería abordar la cuestión en el comentario a la aceptación de respuesta por encima de Fernando: ¿alguien Puede explicar la lógica detrás de la pendiente y la intersección?

La hipótesis de la regresión logística, toma la forma de:

$$h_{\theta} = g(z)$$

donde, $g(z)$ es la función sigmoidea y donde $z$ es de la forma:

$$z = \theta_{0} + \theta_{1}x_{1} + \theta_{2}x_{2}$$

Dado que estamos clasificando entre 0 y 1, $y = 1$ al $h_{\theta} \geq 0.5$ que dada la función sigmoidea es cierto cuando:

$$\theta_{0} + \theta_{1}x_{1} + \theta_{2}x_{2} \geq 0$$

la de arriba es la decisión de límites y puede ser reorganizado como:

$$x_{2} \geq \frac{-\theta_{0}}{\theta_{2}} + \frac{-\theta_{1}}{\theta_{2}}x_{1}$$

Esta es una ecuación en forma de $y = mx + b$ y se puede ver entonces por qué $m$ $b$ se calcula de la manera que están en la aceptó responder

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X