R语言开发之泊松回归了解下

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luyaran/article/details/82782261

泊松回归涉及回归模型,其响应变量是计数形式而不是分数数字。举个栗子,计算出生人数或一个足球比赛系列中的胜率数,响应变量的值也遵循泊松分布,一般情况下它的数学方程式如下:

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

参数描述如下:

  • y - 是响应变量。
  • ab 是数字系数。
  • x - 是预测变量。

在R中,用于创建泊松回归模型的函数是glm()函数,语法如下:

glm(formula,data,family)

参数描述如下:

  • formula - 是呈现变量之间关系的符号。
  • data - 是给出这些变量值的数据集。
  • family -是R对象来指定模型的细节,逻辑回归的值是“泊松”。

我们接下来使用内置数据集“warpbreaks”,它描述了羊毛类型(AB)和张力(低,中或高)对每个织机的翘曲数的影响。我们就将“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

在上面结果中,我们在最后一列中寻找小于0.05p值来考虑预测变量对响应变量的影响。

可以看到的是,具有M型和H型张力的羊毛型B对休息次数有影响。

好啦,本次记录就到这里了。

如果感觉不错的话,请多多点赞支持哦。。。

猜你喜欢

转载自blog.csdn.net/luyaran/article/details/82782261