R - 泊松回归



泊松(Poisson)回归涉及回归模型,其中响应变量采用计数形式,而不是小数形式。例如,足球比赛系列赛中的出生人数或获胜次数。此外,响应变量的值服从泊松(Poisson)分布。

泊松回归的一般数学方程为 -

log(y) = a + b1x1 + b2x2 + bnxn.....

以下是所用参数的描述 -

  • y 是响应变量。
  • a 和 b 是数值系数。
  • x 是预测变量。

用于创建泊松(Poisson)回归模型的函数是 glm() 函数。

语法

泊松回归中 glm() 函数的基本语法是 -


glm(formula,data,family)

以下是上述函数中使用的参数的描述 -

  • formula 是表示变量之间关系的符号。
  • data 是给出这些变量值的数据集。
  • family 是 R 对象来指定模型的详细信息。它的值是 Logistic 回归的 'Poisson'。

例子

我们有内置数据集“经线”,它描述了羊毛类型(A 或 B)和张力(低、中或高)对每台织机的经线断裂数量的影响。让我们将 “breaks” 视为响应变量,它是 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 对断裂次数有影响。