Priors for logistic regression PreviousNext
Mplus Discussion > Multilevel Data/Complex Sample >
Message/Author
 Scott Raynaud posted on Wednesday, February 01, 2017 - 8:38 am
I have some multilevel logistic regressions on which I'd like to perform Bayesian estimation. My predictors are a mix of continuous and binary variables. The current literature suggests the following weakly informative priors for the betas:

beta~t(5,0,scale)
scale~Half normal(0,1)

Since t is not available in Mplus, what distribution and mean/SD would you recommend as an approximation to this prior?
 Tihomir Asparouhov posted on Wednesday, February 01, 2017 - 4:48 pm
You should conduct a sensitivity analysis regardless of the application. First I would standardize the covariates in the regression so that any abnormal covariate scale is eliminated. The priors that are in competition here are N(0,v) where the variance v can vary. I would generally recommend using the values 1, 3, 5, 10, 20,30 and maybe some other values as well. I generally would recommend the prior with the smallest variance for which the posterior range is well within the prior range. If you don't want to conduct sensitivity analysis use our defaults.
 Scott Raynaud posted on Monday, February 06, 2017 - 1:28 pm
I have a feeling that I need to specify a prior for the threshold, but I'm not sure how to do that. Is that necessary? If so, how is it done?
 Tihomir Asparouhov posted on Monday, February 06, 2017 - 7:42 pm
User's guide example 5.31 shows how the prior is specified. You have to give a label to the threshold parameter in the model command
[y$1] (t1);
then use
model prior: t1~N(0,5);
You should try several priors and see how they affect the results. If the number of clusters is large >100 the effect of the prior will be unimportant generally speaking. For smaller number of clusters the prior may affect the result and again I would follow the above advice. Choose N(0,v) prior such that the posterior is within the prior range but do not choose v more than 30.
 Scott Raynaud posted on Tuesday, February 07, 2017 - 6:08 am
Ok. So if I have a simple logistic model on my model command:

model: y on age (x1) sex (x2) race (x3);

then simply add the threshold:

model: y on [y$1] (t1) age (x1) sex (x2)
race (x3);
model prior: t1~N(0,5);
x1~N(0,3);
x2~N(0,3);
x3~N(0,3);

And vary the priors as you say.
 Bengt O. Muthen posted on Tuesday, February 07, 2017 - 3:25 pm
The threshold cannot be given on the RHS of ON because on implies a slope.

More than one label cannot be given per line.
 Scott Raynaud posted on Wednesday, February 08, 2017 - 6:04 am
So I guess the question still remains: how can I set up priors for a logistic regression?
 Bengt O. Muthen posted on Wednesday, February 08, 2017 - 2:42 pm
Your question was answered and the UG is clear on how to do this. Explicated in detail, you do this:

Model:
y on age (b1)
sex (b2);
[y$1] (t1);

Model priors:
t1~N(0,5);
b1~N(0,3);
b2~N(0,3);
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: