R语言 泊松回归
泊松回归涉及回归模型,其中响应变量是计数而不是分数。例如,出生数量或足球比赛系列中的胜利数量的计数。此外,响应变量的值符合泊松分布。
泊松回归的通用数学方程为:
log(y) = a + b1x1 + b2x2 + bnxn.....
以下是使用的参数的描述:
- y 是响应变量。
-
a 和 b 是数值系数。
-
x 是预测变量。
用于创建Poisson回归模型的函数是 glm() 函数。
语法
Poisson回归中 glm() 函数的基本语法是:
glm(formula,data,family)
以下是上述函数中使用的参数的描述:
- formula 是表示变量之间关系的符号。
-
data 是给出这些变量的值的数据集。
-
family 是R对象,用于指定模型的详细信息。对于逻辑回归,其值为“Poisson”。
示例
我们有内置的数据集“warpbreaks”,它描述了羊毛类型(A或B)和张力(低、中或高)对织机每台的纱断裂次数的影响。让我们将“breaks”作为响应变量,即断裂次数的计数。羊毛“type”和“tension”被视为预测变量。
输入数据
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,以考虑预测变量对响应变量的影响。从上面可以看到,具有张力类型M和H的B型羊毛对断裂次数产生影响。