Как поставить разные приоры используя rstanarm

Допустим, у меня есть модель формы y=a_{i} + b_{i,1}*x_{1} + b_{2}*x_{2}, где i=1,2,...,12 и я хотел бы оценить эту модель, используя rstanarm,

Можно ли установить разные приоры для каждого перехвата a_{i} (так скажем, первые 4 имеют normal(location = 0, scale = 1, autoscale = TRUE)Следующие 4 имеют normal(location = 1, scale = 2, autoscale = TRUE)и последние 4 student_t(df = 1, location = 0, scale = NULL, autoscale = TRUE)). Я также хотел бы установить такие же приоры для b_{i,1} И наконец b_{2}~normal(location = 3, scale = 1, autoscale = TRUE),

Возможно ли это сделать с помощью rstanarm?

1 ответ

Решение

В моделях, поддерживаемых rstanarm, имеется не более одного пересечения, но вы можете подавить перехват, добавив в формулу -1 и рассматривая коэффициенты в фиктивных переменных как коэффициенты. Для коэффициентов вы можете сделать что-то вроде prior = student_t(df = c(rep(Inf, 8), rep(1, 4)), location = c(rep(0, 4), rep(1, 4), rep(0, 4)), scale = c(rep(1, 4), rep(2, 4), rep(1, 4)), autoscale = TRUE) Но, похоже, вы имеете в виду какую-то иерархическую модель, и в этом случае априор для отклонений от глобальных параметров может быть только многомерным нормальным. Увидеть ?prior_decov,

Другие вопросы по тегам