Hi all,
I’m running a random-effects model in rstanarm allowing only a randomly varying intercept and sampling weights. The chunk of code is
fitJOBSA <- stan_lmer(
t3jobsa ~ tt3g08 + tt3g01 + tt3g11b + t3self + (1|idschool),
iter=10000, thin=10,weights=tchwgt,
data = TALIS7
)
The convergence diagnostics for the regression coefficients and the residual standard deviation sigma are fine, but the intercept and the standard deviation of the intercept Sigma[idschool:(Intercept),(Intercept)] are pretty bad, and program is generating the usual message about bulk and tail ESS. I have cranked up the number of iterations which slow things down considerably, and I have tried to place more informative priors on both the intercept and Sigma[idschool:(Intercept),(Intercept)] using the following
to no avail.
fitJOBSA <- stan_lmer(
t3jobsa ~ tt3g08 + tt3g01 + tt3g11b + t3self + (1|idschool),
iter=10000, thin=10,weights=tchwgt,
prior_intercept=normal(9,0.5),
prior_aux=cauchy(0,5),
data = TALIS7
)
It seems that prior_aux places the prior on sigma, but I am not sure how to place a more informative prior on Sigma[idschool:(Intercept),(Intercept)]. I’m not even sure if this will help, so if there are any tricks of the trade to get the intercept and the standard deviation of the intercept to converge well, that would be appreciated.
One other thing. When I run the model in stan_lm with the weights but (obviously) not the random effects it runs very fast and everything converges nicely.
Thanks in advance for your help.
David