Set Bayesian Priors in LGM PreviousNext
Mplus Discussion > Growth Modeling of Longitudinal Data >
Message/Author
 Shin, Tacksoo posted on Friday, March 30, 2012 - 5:50 pm
Suppose that we know the values of population parameter and so can consider informative prior distributions. Then, we set Bayesian priors for all these parameters like,
I S | y1@0 y2@1 y3@2 y4@3;
[I] (a);
[S] (b);
I (c);
S (d);
I with S (e);

model priors:

a ~ N(100, 10);
b ~ N(10, 3);
c ~ N(500, 200);
d ~ N(50, 25);
e ~ N(-18, 15);

Am I on the right track?
 Linda K. Muthen posted on Saturday, March 31, 2012 - 10:11 am
If you know the population parameter values, why are the variances not zero, for example,

a ~ N(100, 0);
 Shin, Tacksoo posted on Saturday, March 31, 2012 - 3:59 pm
Thank you, Linda.

One more question! As recognized, the population parameter values cannot be easily known in real circumstance. So, if one wants to set (weakly??) informative priors based on the past literatures and do following steps:
1) From the meta analysis, one found that the mean and variance of intercept factor were respectively about 100 and 10.
2) then, set the prior like,
a ~ N(100, 10).

Does my story seem good?
 Linda K. Muthen posted on Sunday, April 01, 2012 - 10:37 am
To use these priors you would need to be very certain that your study is the same as the studies in the meta analysis.
 Shin, Tacksoo posted on Monday, June 17, 2013 - 3:15 am
Dear Linda,

I got reviewer's comment related to choice of priors. As knew, normal prior is often used for mean (fixed effect) parameter estimates, while inverse-Gamma and inverse-Wishart priors are commonly used for the variance/covariance. Although I set the normal priors for variance/covariance, the reviewer pointed out that the prior distribution of a variance should not be normal.

First, I cannot set normal priors for variances at all? Secondly, if yes, I need to set IW or IG for these parameters. How can I do it when considering above example?

I (c);
S (d);
I with S (e);
model priors:
c ~ N(500, 200);
d ~ N(50, 25);
e ~ N(-18, 15);

OR,
model priors:
c ~ IW(S, degree of freedom)
S here is positive definite of matrix, right? What value of S can be this example?
 Bengt O. Muthen posted on Monday, June 17, 2013 - 8:40 am
You don't want to use a normal prior for variances because the normal prior says that it is possible to get negative variances. In your example you can use a mildly informative inverse-Wishart prior:

c~iw(1,3);
d~iw(1,3);
e~iw(0,3);

See the Muthen-Asparouhov (2012) Psych Methods article for a description of IW priors. Also see:

Muthén, B. (2010). Bayesian analysis in Mplus: A brief introduction. Technical Report. Version 3.

Both papers are on our website.
 S.Arunachalam posted on Friday, July 05, 2013 - 12:59 pm
Prof. Muthen,
I am slightly confused with the IW prior as to how the mean and variance are calculated for this prior because the first parameter seems like a matrix?

1.) For the IW(S,df) prior, as the first parameter S is a matrix, I understand setting it to 1 (as in the above example for parameters d & e) implies identity matrix; but what does 0 (in above example for parameter e) stand for? So when I set the first parameter 'S' to 1, does it imply the mean is 1 and if I set 'S' to 0 does it imply the mean is 0?

2.)And if I set S to 0, from the formulas in both the papers for variance calculations of IW, as the numerator has 'S', does it mean the variance is 0 as well?

My apologies if I am missing something very obvious here. Please advice.
 Bengt O. Muthen posted on Saturday, July 06, 2013 - 8:33 am
The IW prior is indeed a bit complex. Two facts are useful here:

a) with increasing df (second argument), the prior is stronger (given more weight relative to data).

b) the mode is the first argument divided by df+p+1, where p is the number of variables.

To answer your questions:

1) Your "e" parameter is a covariance for which zero is a neutral point; hence the zero as first argument for IW. So the mode is zero.

2) Your variance parameters c and d are given first argument 1. You have p=2. The mode will then be 1/(3+2+1).
 S.Arunachalam posted on Saturday, July 06, 2013 - 1:40 pm
Prof. Muthen, Thank you very much for a clear simple explanation;it is becoming more clearer now.

In a similar manner is there a simple way to know/calculate the variance as well?

For my current analysis what I did was to create another separate Mplus script where I inputted different values for IW(S,df) S & df parameters and got in the output the values of Mean and variance for the IW prior. And then I used the proper S and df for my main analysis. Is this work around ok? I am asking this because Mplus output for same S & df gives slightly different Variance values? For eg below for IW(.9,52):

Parameter 30~IW(3.000,52) 0.0789 0.0003 0.0186
Parameter 31~IW(0.900,52) 0.0237 0.0002 0.0155
Parameter 32~IW(4.000,52) 0.1053 0.0006 0.0248
Parameter 33~IW(0.900,52) 0.0237 0.0003 0.0172
Parameter 34~IW(0.900,52) 0.0237 0.0004 0.0198
Parameter 35~IW(5.000,52) 0.1316 0.0010 0.0310
Parameter 36~IW(0.900,52) 0.0237 0.0003 0.0172
 Bengt O. Muthen posted on Monday, July 08, 2013 - 6:28 am
The variance of IW priors is discussed in the Appendix of the 2012 Muthen-Asparouhov article in Psych Methods.

You can get estimates of the prior means and variances as you did. They are based on random draws and can therefore vary somewhat.
 S.Arunachalam posted on Monday, July 08, 2013 - 10:20 am
Dear Prof. Muthen,

Thank you so very much !! :o)

Sincerely
Arun
 M Hamd posted on Monday, December 09, 2013 - 4:45 pm
Dear professor

We conducted two studies. We want to incorporate the findings study 1 in study 2 by using informed bayesian. In this case, the prior used will be the standardized regression coefficients from the previous study or the unstandardized regression coefficients? If unstandardized, how does that address the issue of a different scale range for one of our variable (i.e., 1-9 likert in study 1, vs 1-7 likert in study 2).
 Linda K. Muthen posted on Tuesday, December 10, 2013 - 11:17 am
You should use the unstandardized coefficients. Use a different prior for each variable.
 Sarah Dermody posted on Friday, December 12, 2014 - 1:14 pm
I am estimating a LGM of alcohol use across 7 waves of data. At each wave, alcohol use is the average number of drinks consumed per day, which can take on positive non-integer values (e.g., 0, .5, 3.2). As such, I would like to constrain the estimates to positive values (because I believe negative binomial is not an option unless I round to nearest integer). It seems like this would require using Bayesian priors (specifying an inverse-gamma prior?) but I am not sure if there is an alternative way to accomplish this in Mplus.
 Bengt O. Muthen posted on Friday, December 12, 2014 - 6:32 pm
How about using the censored-normal model with censoring from below at 0?
 Andrea Norcini Pala posted on Saturday, December 10, 2016 - 6:28 am
Hi,

Can the estimates of a regression analysis be used as model priors of the same regression analysis? Or that would be considered "cheating"?

Specifically, running Monte Carlo simulations I notice that Bayes produces accurate estimates even with small sample size and small effect size. However, the power is low.

Thanks,
Andrea
 Bengt O. Muthen posted on Sunday, December 11, 2016 - 12:12 pm
I wouldn't recommend this.
 Daniel Lee posted on Monday, October 26, 2020 - 10:35 am
Hi Dr. Muthen,

I am trying to set weak priors for two regression coefficients. One coefficient is expected to be non-negative, so I am using IG(.001, .001) -- please correct me if this is wrong.

The other coefficient is expected to be non-positive. In mplus, could you tell me the distribution and parameters I would set for coefficients that are expected to be negative (non-positive)?

Thank you!
 Bengt O. Muthen posted on Tuesday, October 27, 2020 - 10:29 am
Answered on Support. IG priors are for variances, not slopes.
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: