Стандартизация приоров в байесовских регрессиях rstanarm - PullRequest
2 голосов
/ 11 апреля 2019

Я не уверен, можно ли доверять моим результатам.

Допустим, я оснастил эту модель информативными приорами:

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 равнялся mutatis mutandis , эквивалентным таковым в модели2?

Примечание: из-за характера моего анализа я не могу избежать использования update.

Большое спасибо!

1 Ответ

1 голос
/ 11 апреля 2019

Если вы изначально указали autoscale = FALSE при вызове normal или какой-либо другой предыдущей функции, а затем попытались update с другими или преобразованными данными, я сомневаюсь, что шкала априорных значений будет откалибрована правильно во второй раз. Но если вы укажете autoscale = TRUE, то это по существу масштабирует априоры внутри, чтобы быть в стандартизированных единицах, и в этом случае обновление с новыми данными будет в порядке, хотя внутреннее масштабирование будет другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...