我正在 rstanarm 中创建一个贝叶斯多级模型,以通过人口控制来预测每年政党身份的满意度(使用年份作为第二级)。(我是 rstanarm 的新手,所以我的语法可能会关闭)。公式为:
stanmodel_levels <- stan_lmer(nhssat ~ 0 + partyid + age_category + marital_status + class + region + ethnic_minority + (0 + partyid_new | year), data = df, iter = 2200, chains = 4, seed = 1, adapt_delta = 0.999, QR = FALSE)
响应变量“nhssat”采用李克特 5 点量表。因为我删除截距是为了预测实际的满意度(即 3.5),所以我的先验是系数将接近 3,并且绝对不会高于 5 且低于 1。
鉴于这是一个多级模型,我无法理解有关指定先验的小插曲。考虑到响应变量的李克特性质,我需要使用什么代码来指定更准确的先验?