Как указать информативный априор только для одного конкретного предиктора в rstanarm

В настоящее время я пытаюсь подогнать байесовскую многоуровневую модель, используя rstanarm. Я ожидаю — и в литературе есть доказательства — что коэффициент моего основного предиктора находится между 0,15 и 0,65. Поэтому я хотел бы установить информативный априор, но только для этой переменной и сохранить слабоинформативное значение по умолчанию для других. До сих пор у меня есть:

   stan_glmer(isei_r ~ 1 + maxisei_cntr + agea + as.factor(gender) + as.factor(emp_status) + (1 + maxisei_cntr | country), 
            data = ess,
            seed = 349, 
            prior = normal(0.40, 0.25, autoscale=F))  

Но таким образом он применяет информативный до всех моих ковариат. Можно ли указать информативный априор только для одного предиктора?

Спасибо


person Luca Giangregorio    schedule 12.01.2021    source источник


Ответы (1)


Да, это так, но вам нужно передать вектор предыдущих местоположений и / или масштабов, размер (-ы) которых равен количеству коэффициентов (исключая точку пересечения). Итак, в вашем примере это может быть что-то вроде:

stan_glmer(..., prior = normal(location = c(0, 0.4, 0, 0),
                               scale = c(10, 0.25, 10, 10))
person Ben Goodrich    schedule 13.01.2021
comment
Да, поэтому в основном мне нужно передать вектор с априорными значениями по умолчанию для других коэффициентов. Спасибо, очень полезно! - person Luca Giangregorio; 13.01.2021