Регрессия Пуассона включает в себя регрессионные модели, в которых переменная ответа представлена в виде числа, а не дробных чисел. Например, подсчет количества рождений или количества побед в серии футбольных матчей. Также значения переменных отклика следуют распределению Пуассона.
Общее математическое уравнение для пуассоновской регрессии —
log(y) = a + b1x1 + b2x2 + bnxn.....
Ниже приведено описание используемых параметров:
-
у — переменная ответа.
-
а и б — числовые коэффициенты.
-
х — это предикторная переменная.
у — переменная ответа.
а и б — числовые коэффициенты.
х — это предикторная переменная.
Функция, используемая для создания модели регрессии Пуассона, является функцией glm () .
Синтаксис
Основной синтаксис функции glm () в регрессии Пуассона —
glm(formula,data,family)
Ниже приведено описание параметров, используемых в вышеуказанных функциях:
-
формула представляет собой символ, представляющий отношения между переменными.
-
Данные — это набор данных, дающий значения этих переменных.
-
Семейство является объектом R для указания деталей модели. Это значение «Пуассона» для логистической регрессии.
формула представляет собой символ, представляющий отношения между переменными.
Данные — это набор данных, дающий значения этих переменных.
Семейство является объектом R для указания деталей модели. Это значение «Пуассона» для логистической регрессии.
пример
У нас есть встроенный набор данных «деформации основы», который описывает влияние типа шерсти (А или В) и натяжения (низкого, среднего или высокого) на количество разрывов основы на ткацкий станок. Рассмотрим «разрывы» как переменную ответа, которая является подсчетом количества разрывов. «Тип» шерсти и «натяжение» принимаются в качестве переменных предикторов.
Входные данные
input <- warpbreaks print(head(input))
Когда мы выполняем приведенный выше код, он дает следующий результат —
breaks wool tension 1 26 A L 2 30 A L 3 54 A L 4 25 A L 5 70 A L 6 52 A L
Создать модель регрессии
output <-glm(formula = breaks ~ wool+tension, data = warpbreaks, family = poisson) print(summary(output))
Когда мы выполняем приведенный выше код, он дает следующий результат —
Call: glm(formula = breaks ~ wool + tension, family = poisson, data = warpbreaks) Deviance Residuals: Min 1Q Median 3Q Max -3.6871 -1.6503 -0.4269 1.1902 4.2616 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 3.69196 0.04541 81.302 < 2e-16 *** woolB -0.20599 0.05157 -3.994 6.49e-05 *** tensionM -0.32132 0.06027 -5.332 9.73e-08 *** tensionH -0.51849 0.06396 -8.107 5.21e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: 297.37 on 53 degrees of freedom Residual deviance: 210.39 on 50 degrees of freedom AIC: 493.06 Number of Fisher Scoring iterations: 4
В сводке мы ищем значение p в последнем столбце меньше 0,05, чтобы учесть влияние переменной предиктора на переменную ответа. Как видно, тип шерсти B, имеющий тип натяжения M и H, влияет на количество разрывов.