codecamp

R语言 泊松回归

泊松回归(英语:Poisson regression)包括回归模型,其中响应变量是计数而不是分数的形式。 

例如,足球比赛系列中的出生次数或胜利次数。 此外,响应变量的值遵循泊松分布。

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

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

以下是所使用的参数的描述 - 

  • y是响应变量。

  • ab是数字系数。

  • x是预测变量。

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

语法

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

glm(formula,data,family)

以下是在上述功能中使用的参数的描述 - 

  • formula是表示变量之间的关系的符号。

  • data是给出这些变量的值的数据集。

  • family是 R 语言对象来指定模型的细节。 它的值是“泊松”的逻辑回归。

我们有内置的数据集“​warpbreaks​”,其描述了羊毛类型(​A​或​B​)和张力(低,中或高)对每个织机的经纱断裂数量的影响。 让我们考虑“断裂”作为响应变量,它是断裂次数的计数。 羊毛“类型”和“张力”作为预测变量。

输入数据

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​对断裂计数有影响。



R语言 二项分布
R语言 协方差分析
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }