【问题标题】:Standardizing priors in rstanarm Bayesian regressions在 rstanarm 贝叶斯回归中标准化先验
【发布时间】:2019-04-11 02:28:03
【问题描述】:

我不确定我的结果是否可信。

假设我用信息先验拟合了这个模型:

library(rstanarm)
data <- iris[, c("Sepal.Length", "Petal.Width")]
model1 <- stan_glm(Sepal.Length ~ Petal.Width, data=iris, prior=normal(2, 3, autoscale=FALSE))

然后,我想用标准化数据更新模型,看看标准化如何改变系数。

model2 <- update(model1, data=as.data.frame(scale(iris)))

但是,我担心模型 2 的结果不能被“信任”,因为它们考虑到为模型 1 设置的非标准化先验,因此它们可能存在错误(即不必要的)偏见。

有没有办法“标准化”先验,以便我可以将它们传递给 update 函数,以便模型 1 的先验集进行必要的修改,等同于模型 2 中的那些?

注意:由于我分析的性质,我无法避免使用update

非常感谢!

【问题讨论】:

    标签: r bayesian stan rstan rstanarm


    【解决方案1】:

    如果您在调用normal 或其他一些先验函数时最初指定autoscale = FALSE,然后尝试使用不同或转换后的数据来update,我怀疑先验的规模是否会在第二次正确校准。但是,如果您指定 autoscale = TRUE,那么它本质上会在内部将先验缩放为标准化单位,在这种情况下,使用新数据更新就可以了,尽管内部重新缩放会有所不同。

    【讨论】:

    • 好的,如果我理解的话,在使用不同的数据进一步更新之前,必须在初始模型中指定autoscale=TRUE
    • 强制可能是一个过于强烈的词,但是如果您要更新数据并且更新的数据具有不同的比例,并且如果您不使用autoscale = TRUE,并且如果您不使用@987654327 @,那么你在调用update时也应该更改prior
    猜你喜欢
    • 1970-01-01
    • 2020-12-24
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    相关资源
    最近更新 更多