【问题标题】:How to calculate the predicted probability of negative binomial regression model?如何计算负二项式回归模型的预测概率?
【发布时间】:2014-04-08 10:18:34
【问题描述】:

我使用 R MASS 包中的 glm.nb() 函数来估计负二项式回归模型的参数。如何计算给定新数据的预测概率(概率质量函数),我可以使用哪个 R 函数?

我的数据集如下。 y 服从负二项分布,x 是协变量。我使用glm.nb(y ~ x, data=data) 来估计模型参数。给定新的xy,如何计算预测概率。

有没有办法用 Java 来计算它?

y     x

91    1.000000                                                                                       
79    1.000000

86    1.000000

32    1.000000

41    1.000000

29    0.890609

44    1.000000

42    1.000000

31    0.734058

35    1.000000

【问题讨论】:

  • 当您说新数据点时,您的意思是新的xy? (展示一个可重现的例子会很有帮助)

标签: r glm


【解决方案1】:

假设您这样设置数据:

set.seed(1)
x = seq(-2, 8, .01)
y = rnbinom(length(x), mu=exp(x), size=10)
fit = glm.nb(y ~ x)

你有一个新点:你想在给定x=5的情况下找到y=100的概率。

你可以使用predictx得到y的预测值(用type="response"告诉它你想要它在应用了反向链接函数之后):

predicted.y = predict(fit, newdata=data.frame(x=5), type="response")

然后你可以找出概率:

dnbinom(100, mu=predicted.y, size=fit$theta)

(这是使用fit$theta,负二项式的“大小”参数的最大似然估计)。

所以在一个函数中:

prob = function(newx, newy, fit) {
    dnbinom(newy, mu=predict(fit, newdata=data.frame(x=newx), type="response"), size=fit$theta)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-31
    • 2018-10-01
    • 2018-05-05
    • 1970-01-01
    • 2017-12-29
    • 2017-11-26
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多