Some Questions Regarding Latent Growth Curve Modeling

77 views
Skip to first unread message

Tse Yip Chun

unread,
Jul 27, 2021, 5:42:31 AM7/27/21
to lavaan
I'm learning how to use lavaan package to do a LGM. I got a R script from a supervisor who did a LGM of the same nature of research study. But I'm having troubles comprehending the script.

One main problem is the use of start(). I don't quite understanding the meaning of starting value.

Here's part of the script:
# measurement model
int =~ 1*T1 + 1*T2 + 1*T3 + 1*T4
growth =~ 0*T1 + (-1)*T2 + start(-1.4)*T3 + start(-1.7)*T4
# factor variance and covariance
int ~~ start(13)*int
growth ~~ start(3)*growth
int ~~ start(3)*growth

Does "int ~~ start(13)*int" means that the variance of intercept is at least 13? How do we come up with an appropriate starting value?
Also, what does "start(-1.4)*T3" mean? Does it mean that the path loading of T3 must be at least -1.4? From where should we derive this value? Is it from the distribution of data itself?

Here's another part of the script:
# error variance
T1 ~~ T1
T2 ~~ T2
T3 ~~ T3
T4 ~~ T4

When I was watching some lavaan tutorials on LGM, most of the scripts did not specify error variance (just listing the latent factors and then fit the model directly). What is the meaning of specifying error variance in this case?

Thank you all!!

Pat Malone

unread,
Jul 27, 2021, 11:30:20 AM7/27/21
to lav...@googlegroups.com
"start(#)" is just a starting value. You usually get these from substantive knowledge or a comprehensive understanding of your data. In most common situations, lavaan will find an appropriate solution in a reasonable number of iterations without user-specified starting values.

This:

growth =~ 0*T1 + (-1)*T2 + start(-1.4)*T3 + start(-1.7)*T4

is a special case. This code specifies a "latent basis" model. You should understand what that is and its pros and cons before running one.

Declaring the variances of the indicator disturbances is not usually necessary, but doesn't hurt anything.

Pat

--
You received this message because you are subscribed to the Google Groups "lavaan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lavaan+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lavaan/c3e7455b-1790-45c8-bcfc-2ac9c401a55cn%40googlegroups.com.


--
Patrick S. Malone, PhD
Sr Research Statistician, FAR HARBΦR
This message may contain confidential information; if you are not the intended recipient please notify the sender and delete the message.

Tse Yip Chun

unread,
Jul 28, 2021, 1:14:17 AM7/28/21
to lavaan
Hi Patrick,

Thank you for your answer. But I am still a bit confused with the concept of starting value.

For "int ~~ start(13)*int", does it mean that the starting value of variance of intercept should be 13? So in the model, the variance of intercept should be equal to or larger than 13, is that correct? (does it mean the model estimation starts from a variance of intercept of 13?)

So should I manually calculate the variance of the raw data and use it as the starting value?

And for the "latent basis" model, is it a special kind of LGM? I tried to search for the information of it and can't seem to find much. Is it a special type of LGM that allows free estimations of loadings? If so, does the starting value means that the loading should at least be that value (e.g., the loading of T3 on the latent factor growth should at least be -1.4 in the model)? But after running the script, it shows that the loading of T3 on growth is -1.465 (a more negative than starting value of -1.4) and the loading of T4 on growth is -1.558 (a more positive than starting value of -1.7). So I am really confused the meaning of starting value.

I am sorry if my questions are too clumsy. Also, if you have any suggested book/research articles regarding LGM / latent basis model, I would be very grateful if you can tell me the name/references. Thank you!

Leo

Pat Malone

unread,
Jul 28, 2021, 7:55:11 AM7/28/21
to lav...@googlegroups.com
Leo,

You're on the right track except for the "larger than" part. The optimizer can move the estimates in either direction from the starting values. It's just a set of reasonable guesses to give the optimizer a starting point.

Pat

Reply all
Reply to author
Forward
0 new messages