Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Role of "wiggle" priors in blavaan estimation for approximate invariance testing

59 views
Skip to first unread message

Hope Reuschel

unread,
Jan 17, 2024, 8:49:10 AM1/17/24
to blavaan
Hi, I am posting to bring a topic here to the group that Ed and I discussed previously (thanks Ed!) regarding how blavaan's wiggle priors computationally loosen constraints, as it applies to Bayesian approximate measurement invariance testing.

I have another follow-up question in hopes of clarifying the technical level of computation in the context of cross-group approximate constraints. I'll refer to the factor loading example provided previously:

     loading1 ~ normal(0, 10)
     loading2 ~ normal(loading1, .01)
     loading3 ~ normal(loading1, .01)

My question regards how parameters (e.g., loadings 2 and 3 in your example) that are being estimated at the same time as their prior-defining reference (i.e., loading 1) are able to receive a prior that relies upon the reference parameter's estimate.

Here is my understanding of your explanation: This example of three loading parameters and their assigned priors correspond to each of three respective groups measured on the given indicator (manifest) variable related to the factor by said loading. Specifically, I interpreted this example to be illustrating the case where the 3 groups—which in traditional measurement invariance testing would all be treated as exactly equal to each other when constrained—​are assigned priors such
that 
  • the first group (G1) on the loading is assigned a diffuse normal prior and once estimated,
  • the G1 parameter for the loading then populates the mean hyperparameters of G2 and G3 for the same loading, and
  • the variance for G2 and G3 priors remains small to allow for wiggle room around the parameter estimate of G1 to effectively constrain each group's estimate for that loading to be very similar.
Is this interpretation correct? And if so, how does this strategy account for the loading2 and loading3 parameters in computing the estimate for loading1 that must then populate the prior means which become assigned to loading2 and loading3?

Thank you so much!

Ed Merkle

unread,
Jan 17, 2024, 10:31:54 PM1/17/24
to blavaan
Hope,

About accounting for loading2 and loading3 in estimating loading1: I think it is helpful to think of all parameters being sampled jointly/simultaneously from the posterior distribution. We know the posterior distribution is proportional to the model likelihood times the prior, which means that the priors are fused together with the likelihood during MCMC estimation. Then we no longer have a distinction between individual priors and the rest of the model, we just sample from the posterior distribution, which is a function of all parameters and which includes all the priors.

Also, if you haven't seen it, an example of wiggle priors for measurement invariance is here:

Ed

Kayllana Ki

unread,
Sep 2, 2024, 1:11:45 PM9/2/24
to blavaan
Hi all,

This is really helpful! May I ask follow up questions on wiggle priors?

1. Is it correct to say that, by default, in blavaan, the first group is the reference group and that the posterior estimate of the reference group (with the default prior) is used as the mean of the prior for that same parameter in the other groups?

2. Is the prior specified with wiggle.sd in blavaan applied directly to the individual parameters (for each group), or is it applied to the differences between the parameters of one group and the reference group? 

I know in Mplus, the prior is placed on the differences between parameters. From what I understand about model estimation in blavaan, the prior is applied directly to the individual parameter rather than to the differences between parameters. But I'm not completely sure if that's correct.

Thank you for your time and help!
Best,
Hongwei 

Mauricio Garnier-Villarreal

unread,
Sep 3, 2024, 4:11:44 AM9/3/24
to blavaan
Hongwei 


1. Is it correct to say that, by default, in blavaan, the first group is the reference group and that the posterior estimate of the reference group (with the default prior) is used as the mean of the prior for that same parameter in the other groups?
- Yes, the first group estimate will be used as the mean for the other groups. Will use the default priors unless you modified them.

2. Is the prior specified with wiggle.sd in blavaan applied directly to the individual parameters (for each group), or is it applied to the differences between the parameters of one group and the reference group?
- the wiggle.sd is the prior of the second group parameter (that is centered on the first group mean). It is not applied to the difference between prameters

I know in Mplus, the prior is placed on the differences between parameters. From what I understand about model estimation in blavaan, the prior is applied directly to the individual parameter rather than to the differences between parameters. But I'm not completely sure if that's correct.
- blavaan applies the wiggle to the second group parameter, and as it is centered on the mean estimate of the first group, it ends up being equivalent to the sd on the difference between parameters as Mplus applies it. Its a different way to applied it, but they are equivalent
Reply all
Reply to author
Forward
0 new messages