Como plotar o limite de decisão em R para o modelo de regressão logística?

15

Eu fiz um modelo de regressão logística usando glm em R. Eu tenho duas variáveis ​​independentes. Como posso plotar o limite de decisão do meu modelo no gráfico de dispersão das duas variáveis. Por exemplo, como plotar uma figura como: http://onlinecourses.science.psu.edu/stat557/node/55

Obrigado.

user2755
fonte
2
O link para a figura está morto.
Nick Stauner

Respostas:

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

texto alternativo

Devo observar que a separação perfeita ocorre aqui; portanto, a glmfunção fornece um aviso. Mas isso não é importante aqui, pois o objetivo é ilustrar como desenhar o limite linear e as observações coloridas de acordo com suas covariáveis.

suncoolsu
fonte
Espero que eu não sou antiquado se eu usar rede :-)
suncoolsu
2
Espero também que, se este for um problema de HW, você não copie e cole simplesmente.
suncoolsu
Obrigado. Esta não é uma pergunta de HW e a resposta é útil para eu entender meu modelo.
precisa saber é o seguinte
oh sim, você é :)
mpiktas
1
Alguém pode me explicar a lógica por trás da encosta e interceptar? (em relação ao modelo logístico)
Fernando
22

Queria abordar a pergunta em comentário à resposta aceita de Fernando: Alguém pode explicar a lógica por trás da encosta e interceptar?

A hipótese de regressão logística assume a forma de:

hθ=g(z)

g(z)z

z=θ0 0+θ1x1+θ2x2

y=1hθ0,5

θ0 0+θ1x1+θ2x20 0

o acima é o limite de decisão e pode ser reorganizado como:

x2-θ0 0θ2+-θ1θ2x1

y=mx+bmb

Andy
fonte
2
Boa explicação que acompanha a resposta acima!
Augustin