Bagaimana merencanakan batas keputusan dalam R untuk model regresi logistik?

15

Saya membuat model regresi logistik menggunakan glm di R. Saya memiliki dua variabel independen. Bagaimana saya bisa memplot batas keputusan model saya di sebar plot dua variabel. Misalnya, bagaimana saya bisa menggambar gambar seperti: http://onlinecourses.science.psu.edu/stat557/node/55

Terima kasih.

pengguna2755
sumber
2
Tautan ke gambar itu sudah mati.
Nick Stauner

Jawaban:

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

teks alternatif

Saya harus berkomentar bahwa pemisahan sempurna terjadi di sini, karena itu glmfungsinya memberi Anda peringatan. Tapi itu tidak penting di sini karena tujuannya adalah untuk menggambarkan cara menggambar batas linear dan pengamatan diwarnai sesuai dengan kovariat mereka.

suncoolsu
sumber
Saya harap saya tidak kuno jika saya menggunakan kisi :-)
suncoolsu
2
Saya juga berharap bahwa jika ini adalah masalah HW, Anda tidak akan hanya menyalin.
suncoolsu
Terima kasih. Ini bukan pertanyaan HW dan jawabannya sangat membantu bagi saya untuk memahami model saya.
user2755
oh ya, kamu :)
mpiktas
1
Adakah yang bisa menjelaskan logika di balik lereng dan mencegat saya? (Mengenai model logistik)
Fernando
22

Ingin menjawab pertanyaan dalam komentar untuk jawaban yang diterima di atas dari Fernando: Dapatkah seseorang menjelaskan logika di belakang lereng dan mencegat?

Hipotesis untuk regresi logistik mengambil bentuk:

hθ=g(z)

g(z)z

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

y=1hθ0.5

θ0+θ1x1+θ2x20

di atas adalah batas keputusan dan dapat disusun kembali sebagai:

x2θ0θ2+θ1θ2x1

y=mx+bmb

Andy
sumber
2
Penjelasan yang bagus menyertai jawaban di atas!
Augustin