Логистическая регрессия — это модель регрессии, в которой переменная ответа (зависимая переменная) имеет категориальные значения, такие как True / False или 0/1. Фактически он измеряет вероятность двоичного отклика как значение переменной отклика на основе математического уравнения, связывающего его с переменными предиктора.
Общее математическое уравнение для логистической регрессии —
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
Ниже приведено описание используемых параметров:
-
у — переменная ответа.
-
х — это предикторная переменная.
-
a и b — коэффициенты, которые являются числовыми константами.
у — переменная ответа.
х — это предикторная переменная.
a и b — коэффициенты, которые являются числовыми константами.
Функция, используемая для создания регрессионной модели, является функцией glm () .
Синтаксис
Основной синтаксис функции glm () в логистической регрессии —
glm(formula,data,family)
Ниже приведено описание используемых параметров:
-
формула представляет собой символ, представляющий отношения между переменными.
-
Данные — это набор данных, дающий значения этих переменных.
-
Семейство является объектом R для указания деталей модели. Это значение является биномиальным для логистической регрессии.
формула представляет собой символ, представляющий отношения между переменными.
Данные — это набор данных, дающий значения этих переменных.
Семейство является объектом R для указания деталей модели. Это значение является биномиальным для логистической регрессии.
пример
Встроенный набор данных «mtcars» описывает различные модели автомобилей с различными характеристиками двигателя. В наборе данных «mtcars» режим передачи (автоматический или ручной) описывается столбцом am, который является двоичным значением (0 или 1). Мы можем создать модель логистической регрессии между столбцами «am» и 3 другими столбцами — hp, wt и cyl.
# Select some columns form mtcars. input <- mtcars[,c("am","cyl","hp","wt")] print(head(input))
Когда мы выполняем приведенный выше код, он дает следующий результат —
am cyl hp wt Mazda RX4 1 6 110 2.620 Mazda RX4 Wag 1 6 110 2.875 Datsun 710 1 4 93 2.320 Hornet 4 Drive 0 6 110 3.215 Hornet Sportabout 0 8 175 3.440 Valiant 0 6 105 3.460
Создать модель регрессии
Мы используем функцию glm () для создания регрессионной модели и получения ее сводки для анализа.
input <- mtcars[,c("am","cyl","hp","wt")] am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial) print(summary(am.data))
Когда мы выполняем приведенный выше код, он дает следующий результат —
Call: glm(formula = am ~ cyl + hp + wt, family = binomial, data = input) Deviance Residuals: Min 1Q Median 3Q Max -2.17272 -0.14907 -0.01464 0.14116 1.27641 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 19.70288 8.11637 2.428 0.0152 * cyl 0.48760 1.07162 0.455 0.6491 hp 0.03259 0.01886 1.728 0.0840 . wt -9.14947 4.15332 -2.203 0.0276 * --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for binomial family taken to be 1) Null deviance: 43.2297 on 31 degrees of freedom Residual deviance: 9.8415 on 28 degrees of freedom AIC: 17.841 Number of Fisher Scoring iterations: 8
Заключение
В итоге, поскольку значение p в последнем столбце больше, чем 0,05 для переменных «cyl» и «hp», мы считаем, что они несущественны для внесения вклада в значение переменной «am». Только вес (wt) влияет на значение «am» в этой регрессионной модели.