Учебники

R — Логистическая регрессия

Логистическая регрессия — это модель регрессии, в которой переменная ответа (зависимая переменная) имеет категориальные значения, такие как 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.

Live Demo

# 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 () для создания регрессионной модели и получения ее сводки для анализа.

Live Demo

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» в этой регрессионной модели.