R中速率变量的回归

Posted

技术标签:

【中文标题】R中速率变量的回归【英文标题】:Regression for a Rate variable in R 【发布时间】:2013-04-09 10:18:30 【问题描述】:

我的任务是开发一个回归模型来观察不同课程的学生注册情况。这是一个非常好的、干净的数据集,其中注册数很好地遵循泊松分布。我在 R 中拟合了一个模型(同时使用 GLM 和零膨胀泊松。)得到的残差似乎是合理的。

但是,我被指示将学生人数更改为“比率”,计算方式为学生/学校人口(每所学校都有自己的人口。))现在这不再是计数变量,而是之间的比例0 和 1。这被认为是项目中的“入学比例”。

这个“比率”(学生/人口)不再是泊松,但也肯定不正常。所以,我对适当的分布以及表示它的后续模型有点迷茫。

对数正态分布似乎很适合这个速率参数,但是我有很多 0 值,所以它实际上并不适合。

对这个新参数的最佳分布形式有什么建议,以及如何在 R 中对其建模?

谢谢!

【问题讨论】:

我认为这是使用曝光/偏移变量 (en.wikipedia.org/wiki/…) 的情况。而且,也许,一个问题stats.stackexchange.com 交叉发布到 r-help:thread.gmane.org/gmane.comp.lang.r.general/291112 【参考方案1】:

按照 cmets 中的建议,您可以保留 Poisson 模型并使用偏移量:

glm(response~predictor1+predictor2+predictor3+ ... + offset(log(population),
     family=poisson,data=...)

或者您也可以使用二项式 GLM

glm(cbind(response,pop_size-response) ~ predictor1 + ... , family=binomial,
        data=...)

glm(response/pop_size ~ predictor1 + ... , family=binomial,
        weights=pop_size,
        data=...)

后一种形式有时更方便,尽管使用的不太广泛。 请注意,通常从泊松切换到二项式会改变 从 log 到 logit 的链接功能,但如果您愿意,可以使用 family=binomial(link="log"))

使用 Poisson + offset 组合可能更容易建模零通胀(我不确定 pscl 包,最常见的 ZIP 方法是否可以处理偏移,但我认为可以),这将是比零膨胀二项式模型更常用。

我认为glmmADMB 会做一个零膨胀二项式模型,但我还没有测试过。

【讨论】:

本 - 很好的答案。您是正确的,因为 pscl 包将允许使用 ZIP 模型进行偏移。但是,当我尝试用偏移来拟合它时,它并不适合没有偏移的模型。这似乎很奇怪。另外,我不知道预测值是如何受到影响的。如果我在 pscl 中使用 zeroinfl() 函数,公式中的偏移量会改变预测值的解释吗?

以上是关于R中速率变量的回归的主要内容,如果未能解决你的问题,请参考以下文章

spss 多元线性回归分析 帮忙分析一下下图,F、P、t、p和r方各代表啥??谢谢~

R语言通过WinBUGS对MGARCH和MSV模型进行贝叶斯估计和比较

R语言实战回归

R使用lm构建单变量线性回归模型

R使用lm构建多变量线性回归模型

如何用R软件做多类别Logistic回归