data-edu / tidyLPA

Easily carry out Latent Profile Analysis (LPA) using open-source or commercial software
https://data-edu.github.io/tidyLPA/
Other
56 stars 17 forks source link

detecting local solutions via tidyLPA/ R-packages #183

Open namalea opened 3 years ago

namalea commented 3 years ago

Dear community,

First of all thank you all so much for sharing your questions & knowledge. You helped me all very much in the past, while I was implementing my LPA-code within R using the tidyLPA-package.

Now, reading through various literature one topic often catches my eyes, that is local maxima.

Apparently with the MPLUS-Software it is possible to check for this problem, but I havent found any solutions for a latent profile analysis using R.

I would be very happy if anyone could share her or his knowledge.

Thank you very much, :)

cjvanlissa commented 3 years ago

Dear @namalea, Mplus approaches this with multiple (many) random starts. Mclust approaches this by selecting start values from an initial solution based on hierarchical clustering. The upcoming OpenMx implementation in the development version of tidyLPA will use hierarchical clustering plus simulated annealing. Based on my reading of the literature, I think these options are ranked from least effective to most effective in finding the global optimum.

namalea commented 3 years ago

Dear Mr. Van Lissa,

Thank you very much for your fast reply and your easy comprehensive explanations.

Just to make sure I understand your answer corretly.

There will be a new, uploaded version of the tidyLPA which combines the features of Mplus and Mclust? And so far the Mclust package supplies the tidyLPA with its calculation via hierarchical clustering?

Could you additionally let me know when the release might be?

Thank you very much again!

Greetings with deepest gratitude from Frankfurt

cjvanlissa commented 3 years ago

@namalea tidyLPA already allows you to use either Mplus or Mclust; check the documentation! The upcoming version additionally includes OpenMx. Release probably in a few months. In the meanwhile, I recommend using Mclust

namalea commented 3 years ago

Dear Mr. Van Lissa,

Thank you again for your answer.

Does it mean, that when I use the following code I do not automatically use Mclust

LPA_model_2 <- data %>% select(junk_NST, healthy_NST, animal_NST) %>% single_imputation() %>% estimate_profiles(n_profiles = 1:6, variances = "varying", covariances = "zero") %>% compare_solutions(statistics = c("AIC", "BIC"))

But when i would change the estimate_profiles function to estimate_profiles_mclust latent profils would be estimated through Mclust and therefore start values would be selected from an initial solution based on hierarchical clustering?

I am very sorry if my questions are rather stupid. My problem is, that from my point of view, I dont see where in this code the problem of local solutions is considered.

I would be very grateful, if you were so kind to answer this question again! :)

Have a great day

cjvanlissa commented 3 years ago

I would really suggest that you read the documentation instead of opening an issue for this. Issues are for bug reports. Run ?estimate_profiles