jasp-stats / jasp-issues

This repository is solely meant for reporting of bugs, feature requests and other issues in JASP.
55 stars 29 forks source link

Individual equality constraints for CFA #776

Open hpooch20 opened 4 years ago

hpooch20 commented 4 years ago
* Enhancement: allow partial invariance testing * Purpose: to upgrade invariance testing in jasp to be at a level with standard packages * Use-case: It is very uncommon that a psychometric scale shows invariance across the levels of stringency in measurement. It is important to know where invariant measurement is complete and where it is partial. This is simply common psychometric practice. **Is your feature request related to a problem? Please describe.** I can only assess for complete invariance. **Describe the solution you'd like** The leading programs such as Lavaan and MPlus allow one to release individual variables, specifically loadings, intercepts and residuals to be freely measured so that the source of any invariance issues can be found. This can help investigators to see the limitations of their instruments and to guide changes. **Describe alternatives you've considered** It is my understanding that jasp uses lavaan for calculations. Again, Lavaan does partial invariance testing. It is my understanding that if one creates R code that would be used for invariance testing, the program crashes. I am not an R user. However, even if it worked to enter R code, why should we have to? It seems to me that the point of jasp in this situation is to allow the use of R with the much easier interface of jasp. Otherwise why bother with all the great work that has already been done? Please address this so that jasp is truly useful for quantitative researchers.
boutinb commented 4 years ago

@EJ, @vankesteren, could you answer?

hpooch20 commented 4 years ago

boutinb thanks for your comment!

vankesteren commented 4 years ago

Hi @hpooch20,

do you mean this specifically for the CFA analysis? In the SEM analysis, this is already possible, by specifying the required constraints in the lavaan syntax.

Erik-Jan

hpooch20 commented 4 years ago

Yes, I am referring to CFA.

Sent from my iPad Please excuse my frequent typoos

On Jul 1, 2020, at 6:18 AM, Erik-Jan van Kesteren notifications@github.com wrote:

Hi @hpooch20,

do you mean this specifically for the CFA analysis? In the SEM analysis, this is already possible, by specifying the required constraints in the lavaan syntax.

Erik-Jan

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

hpooch20 commented 3 years ago

Is that your solution? Learn Lavaan syntax and do the SEM approach for invariance testing? I hope not. Why would you guys go to all the trouble to design an easy interface for invariance testing in CFA when it can only be useful if there happens to be perfect full invariance of a model right off the bat. That almost never happens in real life. Isnt the point of JASP to make things easier and get powerful results?

AlexanderLyNL commented 3 years ago

Hi @hpooch20,

What Van Kesteren meant is that as a temporary solution you can use SEM, as we have not yet got around to implement this.

We get many requests of the form "implement X", but typically without a hint of what a good and intuitive interface is. That's okay, but it means that we require more time and have to think a bit harder about the UI. The following helps speed up the process:

I hope this provides some context. Hence, what we current can offer is a the temporary solution via SEM, thus, lavaan We understand that we're not there yet, but it doesn't mean that we won't get there.

Cheers, Alexander

hpooch20 commented 3 years ago

Thank you very much for your prompt response. I understand and wish you well in all of your efforts!

Sent from my iPad Please excuse my frequent typoos

On Jul 31, 2020, at 4:45 AM, AlexanderLyNL notifications@github.com wrote:

Hi @hpooch20,

What Van Kesteren meant is that as a temporary solution you can use SEM, as we have not yet got around to implement this.

We get many requests of the form "implement X", but typically without a hint of what a good and intuitive interface is. That's okay, but it means that we require more time and have to think a bit harder about the UI. The following helps speed up the process:

specific use-cases, data examples, proposed sketches of the UI, and more people requesting the feature so it gets bumped up our priority list. I hope this provides some context. Hence, what we current can offer is a the temporary solution via SEM, thus, lavaan We understand that we're not there yet, but it doesn't mean that we won't get there.

Cheers, Alexander

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

hpooch20 commented 3 years ago

I would think the interface part would not have to be complex. JASP frequently uses a box with all items or variables listed on the left and a box on the right where one can indicate which variables should be included by way of an arrow button between the 2 boxes pointing toward the right. I would set it up for partial metric or scalar invariance so that all but one loading in metric analysis or all but one intercept in scalar analysis, for example, could be released by just moving each loading or each intercept one by one (analyzing each change sequentially) as guided by theory and the modification indices. Strict invariance is not used much. You could probably get away with not bothering with it for this enhancement.

tomtomme commented 5 months ago

@hpooch20 I do not know much about CFA, but can you check if this is now covered by the "multigroup CFA" option?

tomtomme commented 4 months ago

@juliuspfadt Is this one still an issue?

juliuspfadt commented 4 months ago

Ah yes. this is still an issue, I think we would like to get the CFA up to speed with the SEM module in that regard, so users can choose to assume loadings equal or residual variances and so on. I dont think it makes sense to allow constraints on individual parameters but rather groups of parameters. For individual parameters the SEM module is available. So what I would want eventually is this: Screenshot 2024-02-21 at 11 57 31

juliuspfadt commented 4 months ago

And I apologize for the very late reply!

hpooch20 commented 4 months ago

Actually it does make sense to be able to constrain/release individual parameters (individual loadings, intercepts, etc.). It is hardly ever the case in my experience that a model is completely invariant. Usually some individual loadings, or intercepts need releasing, so there is partial invariance at some level.  You say that this is already available in SEM. So does that mean one must be able to program in Lavaan to do that? If that is the case, one might as well just use R for CFA and not bother with JASP (or maybe even better MPlus, unless one only wants to use Lavaan).SSent from my iPadPlease excuse my frequent typoosOn Feb 21, 2024, at 5:57 AM, Julius Pfadt @.***> wrote: Ah yes. this is still an issue, I think we would like to get the CFA up to speed with the SEM module in that regard, so users can choose to assume loadings equal or residual variances and so on. I dont think it makes sense to allow constraints on individual parameters but rather groups of parameters. For individual parameters the SEM module is available. So what I would want eventually is this: Screenshot.2024-02-21.at.11.57.31.png (view on web)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

juliuspfadt commented 4 months ago

Writing code is indeed not very user friendly. Putting this into clickable elements will require some more work and time so let me apologize in advance if it is not there in the next release.

hpooch20 commented 4 months ago

Thanks. I appreciate you all considering this issue.Sent from my iPadPlease excuse my frequent typoosOn Feb 22, 2024, at 7:41 AM, Julius Pfadt @.***> wrote: Writing code is indeed not very user friendly. Putting this into clickable elements will require some more work and time so let me apologize in advance if it is not there in the next release.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>