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

[Feature Request]: Exploratory Structural Equation Modeling (ESEM) #1866

Open areeq1 opened 1 year ago

areeq1 commented 1 year ago

Description

ESEM could be included

Purpose

ESEM integrates the best of CFA and EFA in one analytical framework

Use-case

No response

Is your feature request related to a problem?

No

Describe the solution you would like

No response

Describe alternatives that you have considered

No response

Additional context

Thank you for the quick and positive reply! If I may ask for an additional thing, we would love to see the application of Exploratory Structural Equation Modeling (ESEM). It is simply an EFA being executed through SEM. See the two papers below

Marsh 2014 ESEM introduction.pdf

Asparouhov Muthén 2009 ESEM.pdf

There is already an R package that facilitates the method. We wonder if this package could be implemented into JASP. That will be FANTASTIC!

Kucharssim commented 1 year ago

It seems to me that lavaan knows how to do this: https://lavaan.ugent.be/tutorial/efa.html

I just tried the example from the lavaan website in JASP and it does work: esem.zip

I am not familiar enough with this analysis, but it seems there are some additional options needed (like rotation) for better flexibility of the approach. I am not sure whether it makes sense to implement this as a stand-alone analysis with a custom GUI to specify the SEM and EFA parts of the model separately, or whether it's sufficient to just add more options to the SEM analysis. Any thoughts @juliuspf, @LSLindeloo?

areeq1 commented 1 year ago

Thank you for the quick answer, Kucharssim. I would like to provide my suggestion as a user. ESEM may be implemented in a sperate analysis. It could included in the EFA modul but users might not be aware of that possbility. But since ESEM takes EFA into the SEM domain, one can specifies regresson (same in the example you attached). In this way, it deseves a stand-alone analysis. The field is witnessing a booming application on ESEM. Just do a google scholar search to see how much is appreciated. JASP can be the leading software in implenting this analysis. THANK YOU!!

For the moment, we will use the SEM syntax funtionality to run ESEM.

juliuspfadt commented 1 year ago

From reading through the abstracts I also get the feeling this should be located in the SEM module with its own analysis. The issue I see with only adding extra options to the standard SEM is that some of these options only make sense when the specified syntax mirrors ESEM, for instance, rotations. In that case we would need to check the syntax before, or we would always throw an error... As its own analysis this is obviously way more work, even if most of the code from SEM can just be copied.

areeq1 commented 1 year ago

Sorry for getting into this while being a user, not a developer. But I guess that the ESEM module can be very similar to the CFA module. So, the ESEM module could be created by duplicating the CFA and adding the ESEM options (rotations, and adding dependent variables). I think this could be helpful to simplify the situation.

LSLindeloo commented 1 year ago

I agree with @juliuspf and @areeq1 that a seperate analysis would be most appropriate. I am occupied with the power module at the moment, but after that I can start implementing ESEM!

areeq1 commented 1 year ago

I'm sorry if this bothers you, but I have requested adding extra fit indices in the EFA (besides the current request of ESEM). So, is there an estimation of when the new version comes with this feature? Well, it would be better to have ESEM as well in the update, but at least we get more fit indices in the EFA. Cheers!

juliuspfadt commented 1 year ago

The fit indices will be in the next release. When that will be is not certain yet, early next year probably. If you want to check out the fit indices in beta software, you can download the latest stable nightly https://static.jasp-stats.org/Nightlies/. This is beta software though, so be careful

areeq1 commented 1 year ago

Great. Thanks!

areeq1 commented 1 year ago

It seems to me that lavaan knows how to do this: https://lavaan.ugent.be/tutorial/efa.html

I just tried the example from the lavaan website in JASP and it does work: esem.zip

I am not familiar enough with this analysis, but it seems there are some additional options needed (like rotation) for better flexibility of the approach. I am not sure whether it makes sense to implement this as a stand-alone analysis with a custom GUI to specify the SEM and EFA parts of the model separately, or whether it's sufficient to just add more options to the SEM analysis. Any thoughts @juliuspf, @LSLindeloo?

Hi Kucharssim, I would like to ask about something off the topic. How can we use the rotation in lavaan. Specifically, I'm interested in "target" rotation where we target some factor loadings to be as close as to a given value. Sorry if this is not the best avanue to ask this.

Kucharssim commented 1 year ago

Dear @areeq1,

If you have a specific question about using lavaan in R, it's probably best to ask the package authors. See https://lavaan.ugent.be/support.html for ways how to contact them!

areeq1 commented 1 year ago

Fair enough. For now please consider this error message when using SEM, although the analysis will run. Screen Shot 2022-11-22 at 11 08 23 pm

juliuspfadt commented 1 year ago

@areeq1, if possible, could you make a separate issue for this? So this feature request can stand on its own, and we also get a bug report for your issue?

areeq1 commented 1 year ago

I would like to thank the team for continues development and look forward to see a "beta" of the ESEM in a night version soon :) Thanks a lot in advance!

areeq1 commented 1 year ago

Happy new year to the team. Looking forward to seeing ESEM implemented in JASP in 2023! 😊

areeq1 commented 1 year ago

I still hope to see the analysis appears soon in JASP. Thanks in advance

areeq1 commented 1 year ago

Hope that there is a progress on this matter :)