二项式设置下未来成功比例的预测区间

机器算法验证 置信区间 二项分布 β-二项分布 贝塔回归 无游戏
2022-03-12 07:21:08

假设我拟合二项式回归并获得回归系数的点估计和方差-协方差矩阵。这将允许我获得未来实验中预期成功比例的 CI,但我需要观察比例的 CI。已经发布了一些相关答案,包括模拟(假设我不想这样做)和 Krishnamoorthya 等人的链接(它不能完全回答我的问题)。p

我的推理如下:如果我们只使用二项式模型,我们将被迫假设是从正态分布中采样的(具有相应的 Wald CI),因此不可能以封闭形式获得观察到的比例的 CI。如果我们假设是从 beta 分布中采样的,那么事情就会容易得多,因为成功的计数将遵循 Beta-Binomial 分布。我们将不得不假设估计的 beta 参数没有不确定性。ppαβ

有三个问题:

1)理论上的一个:只使用β参数的点估计可以吗?我知道要构建一个 CI 以供将来在多元线性回归中观察

Y=xβ+ϵ,ϵN(0,σ2)

他们这样做 wrt 误差项方差我认为(如果我错了,请纠正我)的理由是,在实践中的估计精度远高于回归系数,并且通过尝试合并 . 类似的理由是否适用于估计的 beta 参数,σ2σ2σ2αβ

2)什么包更好(R:gamlss-bb,betareg,aod?;我也可以访问SAS)。

3) 给定估计的 beta 参数,是否有一个(近似)捷径来获得未来成功计数的分位数(2.5%、97.5%),或者更好的是,在 Beta-Binomial 分布下获得未来成功的比例。

1个回答

我将解决这个问题的所有三个部分。

有两个混合的问题,首先是在这种情况下您用来拟合回归模型的方法。第二个是如何对您的估计进行区间估计以预测新的估计。

如果您的响应变量是二项式分布的,您通常会使用逻辑回归或概率回归(glm 与正常 cdf 作为链接函数)。

如果您进行逻辑回归,则将响应设为观察计数除以已知上限的比率,即然后将您的预测变量/协变量放入您对 glm 函数的 R 调用中。返回的对象包含您进行其余计算所需的一切。 yi/ni

x<- rnorm(100, sd=2)
prob_true <- 1/(1+exp(-(1+5*x)))
counts <- rbinom(100, 50,prob_true)
print(d.AD <- data.frame(counts,x))
glm.D93 <- glm(counts/50 ~ x, family = binomial() )

对于线性回归模型,预测区间的公式为:

y^i±tnpsy1+1n+(xix¯)2(n1)sx2

您可以使用线性回归模型作为 glm 的近似值。为此,在进行反向链接变换之前,您需要对预测变量的线性组合进行线性回归公式,以使概率回到 0-1 范围内。执行此操作的代码包含在 predict.glm() R 函数中。这是一些示例代码,它们也将制作一个漂亮的图。编辑:此代码是置信区间,而不是预测区间)

y_hat <- predict(glm.D93, type="link", se.fit=TRUE)
t_np<- qt(.975, 100-2, ncp=0)

ub <- y_hat$fit + t_np * y_hat$se.fit
lb <- y_hat$fit - t_np * y_hat$se.fit

point <- y_hat$fit

p_hat <- glm.D93$family$linkinv(point)
p_hat_lb <- glm.D93$family$linkinv(lb)
p_hat_ub <- glm.D93$family$linkinv(ub)

plot(x,p_hat)
points(x, p_hat_ub, col='red')
points(x, p_hat_lb, col='blue')

您可以对任何 glm 执行相同的操作,例如泊松、逆高斯、伽马等。在每种情况下,都在预测变量的线性组合的范围内进行预测区间。在获得预测区间的两个端点后,您可以通过反向链接转换这些端点。对于我提到的每个 glms,反向链接可能与我在这里写的 logit 案例不同。希望这可以帮助。