Cara memplot kurva regresi logistik di r


Seringkali Anda mungkin ingin memplot kurva model regresi logistik yang sesuai di R.

Untungnya, ini cukup mudah dilakukan dan tutorial ini menjelaskan cara melakukannya di basis R dan ggplot2.

Contoh: menggambar kurva regresi logistik pada basis R

Kode berikut menunjukkan cara menyesuaikan model regresi logistik menggunakan variabel dari himpunan data mtcars bawaan di R, lalu cara memplot kurva regresi logistik:

 #fit logistic regression model
model <- glm(vs ~ hp, data=mtcars, family=binomial)

#define new data frame that contains predictor variable
newdata <- data. frame (hp=seq(min(mtcars$hp), max(mtcars$hp),len= 500 ))

#use fitted model to predict values of vs
newdata$vs = predict(model, newdata, type=" response ")

#plot logistic regression curve
plot(vs ~hp, data=mtcars, col=" steelblue ")
lines(vs ~ hp, newdata, lwd= 2 )

Kurva regresi logistik pada basis R

Sumbu x menampilkan nilai variabel prediktor hp dan sumbu y menampilkan prediksi probabilitas variabel respon am .

Kita dapat melihat dengan jelas bahwa nilai yang lebih tinggi dari variabel prediktor hp dikaitkan dengan probabilitas yang lebih rendah dari variabel respons vs sama dengan 1.

Contoh: memplot kurva regresi logistik di ggplot2

Kode berikut menunjukkan cara menyesuaikan model regresi logistik yang sama dan cara memplot kurva regresi logistik menggunakan pustaka visualisasi data ggplot2 :

 library (ggplot2)

#plot logistic regression curve
ggplot(mtcars, aes (x=hp, y=vs)) + 
  geom_point(alpha=.5) +
  stat_smooth(method=" glm ", se=FALSE, method. args = list(family=binomial)) 

Kurva regresi logistik di ggplot2

Perhatikan bahwa kurva ini persis sama dengan yang dihasilkan pada contoh sebelumnya dengan menggunakan basis R.

Jangan ragu untuk mengubah gaya kurva juga. Misalnya, kita dapat mengubah kurva menjadi garis putus-putus merah:

 library (ggplot2)

#plot logistic regression curve
ggplot(mtcars, aes (x=hp, y=vs)) + 
  geom_point(alpha=.5) +
  stat_smooth(method=" glm ", se=FALSE, method. args = list(family=binomial),
              col=" red ", lty= 2 ) 

Sumber daya tambahan

Pengantar Regresi Logistik
Cara Melakukan Regresi Logistik di R (Langkah demi Langkah)
Cara Melakukan Regresi Logistik dengan Python (Langkah demi Langkah)
Cara menggunakan fungsi seq di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *