Як побудувати криву логістичної регресії в r


Часто вам може знадобитися побудувати криву підігнаної моделі логістичної регресії в R.

На щастя, це досить легко зробити, і цей підручник пояснює, як це зробити як у base R, так і в ggplot2.

Приклад: малювання кривої логістичної регресії за основою R

Наступний код показує, як підібрати модель логістичної регресії за допомогою змінних із вбудованого набору даних mtcars у R, а потім як побудувати криву логістичної регресії:

 #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 )

Крива логістичної регресії в основі R

На осі абсцис відображаються значення змінної предиктора hp , а на осі у – прогнозована ймовірність змінної відповіді am .

Ми чітко бачимо, що більш високі значення змінної предиктора hp пов’язані з нижчою ймовірністю змінної відповіді порівняно з 1.

Приклад: побудова кривої логістичної регресії в ggplot2

Наступний код показує, як підібрати ту саму модель логістичної регресії та як побудувати криву логістичної регресії за допомогою бібліотеки візуалізації даних 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)) 

Крива логістичної регресії в ggplot2

Зауважте, що це точно та сама крива, отримана в попередньому прикладі з використанням бази R.

Не соромтеся також змінити стиль кривої. Наприклад, ми можемо перетворити криву на червону пунктирну лінію:

 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 ) 

Додаткові ресурси

Вступ до логістичної регресії
Як виконати логістичну регресію в R (крок за кроком)
Як виконати логістичну регресію в Python (крок за кроком)
Як використовувати функцію seq у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *