使用 stan_glmer 从完整的后验分布进行预测
Predicting from the full posterior distribution using stan_glmer
请问有什么需要帮助的吗?
我使用 stan_glmer 拟合了一个二项式模型,并选择了我认为最适合数据的模型。我已经使用后验预测命令将我观察到的数据与模型模拟的数据进行了比较,看起来非常相似。
我现在想针对不同级别的预测变量预测事件发生的概率。我通常会在 glmer 中使用 predict 命令,但我知道我应该对 stan_glmer 使用 posterior_predict 命令,以考虑模型中的全部不确定性。如果 x1 和 x2 是二元事件的连续预测变量,并且我想对组进行随机截取,则模型公式为:
model <- stan_glmer(binary event ~ x1 + x2 +(1 | group), family="binomial"
我的问题是:我想改变预测变量(x1 和 x2)以查看模型如何预测观察到的数据(以及这些预测的可变性),也许作为一个图,但我不确定如何。任何帮助或指导将不胜感激。
简而言之,posterior_predict
有一个 newdata
参数,期望 data.frame
的值为 x1
、x2
和 group
.此参数类似于许多其他预测函数中的参数,并且有一个使用示例可以通过 example(posterior_predict, package = "rstanarm")
.
执行
在你的情况下,它可能是这样的
nd <- with(original_data,
expand.grid(x1 = seq(from = min(x1), to = max(x1), length.out = 20),
x2 = seq(from = min(x2), to = max(x2), length.out = 20),
group = levels(group)))
PPD <- posterior_predict(model, newdata = nd)
但您可以通过其他各种方式选择 x1
和 x2
的值。
请问有什么需要帮助的吗?
我使用 stan_glmer 拟合了一个二项式模型,并选择了我认为最适合数据的模型。我已经使用后验预测命令将我观察到的数据与模型模拟的数据进行了比较,看起来非常相似。
我现在想针对不同级别的预测变量预测事件发生的概率。我通常会在 glmer 中使用 predict 命令,但我知道我应该对 stan_glmer 使用 posterior_predict 命令,以考虑模型中的全部不确定性。如果 x1 和 x2 是二元事件的连续预测变量,并且我想对组进行随机截取,则模型公式为:
model <- stan_glmer(binary event ~ x1 + x2 +(1 | group), family="binomial"
我的问题是:我想改变预测变量(x1 和 x2)以查看模型如何预测观察到的数据(以及这些预测的可变性),也许作为一个图,但我不确定如何。任何帮助或指导将不胜感激。
简而言之,posterior_predict
有一个 newdata
参数,期望 data.frame
的值为 x1
、x2
和 group
.此参数类似于许多其他预测函数中的参数,并且有一个使用示例可以通过 example(posterior_predict, package = "rstanarm")
.
在你的情况下,它可能是这样的
nd <- with(original_data,
expand.grid(x1 = seq(from = min(x1), to = max(x1), length.out = 20),
x2 = seq(from = min(x2), to = max(x2), length.out = 20),
group = levels(group)))
PPD <- posterior_predict(model, newdata = nd)
但您可以通过其他各种方式选择 x1
和 x2
的值。