Labo-Lacourse / stepmix

A Python package following the scikit-learn API for model-based clustering and generalized mixture modeling (latent class/profile analysis) of continuous and categorical data. StepMix handles missing values through Full Information Maximum Likelihood (FIML) and provides multiple stepwise Expectation-Maximization (EM) estimation methods.
https://stepmix.readthedocs.io/en/latest/index.html
MIT License
54 stars 4 forks source link

insightful package, but do you have any comparison with Latent Gold ? #30

Closed peter159 closed 7 months ago

peter159 commented 1 year ago

Hi, this is a insightful package, do you have any info about comparing your package result with Latent gold software ?

MostafaAbdelrashied commented 1 year ago

Hey Peter!

Previously, I did a comparison study using different classification datasets on both tools. The good news is, the results were pretty similar across four datasets. To make it easier for you, I've put together a brief PowerPoint presentation summarizing my findings. You can find it attached. comparison.pptx Input Data For StepMix and LatentGold:
LCA.zip Output from LatentGold: LG.zip

NOTE: The results heavily depend on the hyperparamters. Since both tools use few different methodlogies as I mentioned in the pptx, It is not possible to make 100% matched hyperparameters values between both tools.

sachaMorin commented 1 year ago

We did a simulation comparison of StepMix and Latent Gold in our preprint for parameter point estimates. Compare table 3 and 4 for example. Both tools yield very similar results.

peter159 commented 1 year ago

I'd like to also understand, what if I have continuous, categorical, and binary data with missing values, how do I express a model with response variable and covarites using stepmix package ? for e.g. estimating a latent class regression ? @sachaMorin @MostafaAbdelrashied

sachaMorin commented 1 year ago

We definitely need a better example of a complete model with all these options. In the meantime, I posted an example in issue #35 .

peter159 commented 1 year ago

We definitely need a better example of a complete model with all these options. In the meantime, I posted an example in issue #35 .

thanks,I'll take some test it with real data,in any case it means this package is flexible expressing different model forms

sachaMorin commented 7 months ago

Closing. Feel free to reopen if we can help with anything else!