R-如何计算负二项式回归模型的预测概率



i在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

假设您像这样设置了数据:

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

您有一个新观点:您想找到y=100的概率给定x=5

您可以使用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)
}

最新更新