📜  R-泊松回归(1)

📅  最后修改于: 2023-12-03 14:46:53.471000             🧑  作者: Mango

R-泊松回归

Poisson回归是一种线性回归模型,用于建模计数数据。它以Poisson分布为基础,在回归模型中引入自变量,并估计各自变量对因变量计数的影响。

安装

在开始Poission回归分析之前,需要在计算机上安装glm包。可以使用以下代码。

install.packages("glm")
建模

建立一个简单的Poisson回归模型,只有一个自变量。

library(glm)
data <- mtcars
data$count <- round(data$disp)
model <- glm(count ~ wt, data = data, family = poisson)
summary(model)

输出结果如下:

Call:
glm(formula = count ~ wt, family = poisson, data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.8489  -0.9245  -0.3833   0.9661   1.9733  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  4.37411    0.18884  23.168  < 2e-16 ***
wt          -1.08180    0.08248 -13.093  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 105.63  on 31  degrees of freedom
Residual deviance:  25.27  on 30  degrees of freedom
AIC: 197.27

Number of Fisher Scoring iterations: 4
结果分析

从上文我们可以看出来,定义了一个Poisson回归模型,其中响应变量“count”(汽车的每加仑英里数产生的发动机爆裂数)是由一个自变量“wt”(车辆的重量)来预测的。输出结果语义如下:

  • residuals: 回归残差
  • coefficients: 回归系数
  • deviance: 二次偏差
  • Fisher Scoring iterations: Fisher得分迭代的次数
  • AIC: Akaike info criterion

通过对系数估计的显著性检验,可以看出车辆重量的平均影响为-1.08,即车辆每增加1单位,发动机爆裂数减少1.08个。

作图

绘制预测结果图。

library(ggplot2)
ggplot(data, aes(x = wt, y = count)) + geom_point() + 
  geom_smooth(method = "glm", family = poisson, se = F)

Poisson Regression

从图中可以非常清楚的看出,车辆重量和发动机爆裂数之间呈负相关关系。

总结

通过本文的介绍,我们可以学习到如何使用R中的glm包进行Poisson回归分析,理解模型输出的各项指标,以及如何绘制Poisson回归图。