CecileProust-Lima / lcmm

R package lcmm
https://CecileProust-Lima.github.io/lcmm/
58 stars 13 forks source link

should dvs in a class always be related to a latent variable in the same direction #277

Closed henkvs closed 1 month ago

henkvs commented 2 months ago

Dear Cecile,

I am running a multlcmm on variables that are negatively related to each other, e.g. negative affect become larger with time and positive affect become smaller with time. When I run a multlcmm (just with ng = 1), the model seems not to converge and when I plot the trajectories with predictY both DVs show the same (not the opposite) pattern over time, the Y-value just has different scales.

When I repeat the multlcmm in a univariate way, just with negative affect and positive affect as the dv in separate models, the models do show the proper (opposite) change over time.

It does not matter whether time is a factor, a linear variable, or a poly. The behavior is always the same.

Is the relationship between dvs and the latent variables perhaps constrained so that the relationship between all dvs and the latent factor for a given cluster is always only allowed to be in the same direction? If so, is this behavior on purpose and how can I still run multivariate cluster analyses on my data set?

Thank you very much for your help!

Best, Henk

VivianePhilipps commented 2 months ago

Hi Henk,

the multlcmm function assumes that all variables go in the same direction. To use the function with two negatively correlated variables, you will have to reverse the coding of one variable so that the hypothesis holds. I know this can be disturbing for the interpretation, but the modelling will be fine that way.

Best,

Viviane

henkvs commented 2 months ago

Thank you very much Viviane!

JDQuadt commented 2 months ago

Dear Vivianne, Coincidentally I am having a very similar issue, however slightly different. I am using the multlcmm function on two outcome variables related to time. One variable shows a linear relation to time and the other a parabolic relationship. When I run the univariate models on the outcome variables separately the model converges and the model finds the accurate change over time for both the linear variable and the parabolic. However, when I run the multivariate model the parabolic relation is not found.

Is this perhaps because outcome variables have to have a similar relationship (so not only the same direction, but both linear) to time? If so is there a way around this that I can still use the information of both outcomes to gain multivariate classes?

Thank you for all the effort you put into the package!

Kind regards, Jesse

VivianePhilipps commented 1 month ago

Hi Jesse,

the multlcmm function models the common factor underlying the 2 outcomes. That's why you can get different results than in a univarite model. However, you can add contrasts on the time variable to get different trajectories for each outcome. The call would be : multlcmm(Y1+Y2 ~ t + contrast(t), ...)

You can find an example in the vignette (section Response shift over time) : https://cecileproust-lima.github.io/lcmm/articles/latent_process_model_with_multlcmm_IRT.html#assessment-of-dif-and-rs

Best,

Viviane