Latent Variable with Two Indicators

2,044 views
Skip to first unread message

peter....@gmail.com

unread,
May 20, 2014, 7:14:46 PM5/20/14
to lav...@googlegroups.com
Hi Everyone,

I was wondering how I would go about specifying a latent variable with only two indicators. This latent variable with two indicators is part of a much larger model. I have no problem doing this with programs like EQS, but this is my first time using lavaan. Which additional constraints do I need to add to properly specify this model in lavaan? 

Thanks in advance for any help or advice! I appreciate it.

Best,
Peter

Terrence Jorgensen

unread,
May 25, 2014, 12:17:57 PM5/25/14
to lav...@googlegroups.com

I was wondering how I would go about specifying a latent variable with only two indicators.

There are a couple of ways to set the scale of the construct.  If you fix both factor loadings to 1, you can estimate both residual indicator variances, and the factor variance will be the observed covariance between the indicators.  If you fix the latent variance to 1, you can estimate the factor loadings, but the loadings would have to be constrained to equality if it were the only factor in the model.  If there are other factors in the model, you should be able to estimate both (unique) factor loadings, but it depends on whether the 2-indicator factor is exogenous/endogenous, and how it relates to other exogenous/endogenous factors in the model.

I found this article very enlightening:


Terry

yrosseel

unread,
May 26, 2014, 10:45:40 AM5/26/14
to lav...@googlegroups.com
On 05/21/2014 01:14 AM, peter....@gmail.com wrote:
> Hi Everyone,
>
> I was wondering how I would go about specifying a latent variable with
> only two indicators. This latent variable with two indicators is part of
> a much larger model. I have no problem doing this with programs like
> EQS, but this is my first time using lavaan. Which additional
> constraints do I need to add to properly specify this model in lavaan?

If you are using the cfa() or sem() function, there is nothing you need
to do. lavaan takes care of the necessary constraints automatically.

Yves.

peter....@gmail.com

unread,
May 26, 2014, 12:17:19 PM5/26/14
to lav...@googlegroups.com
Thanks for your help Terry and Yves. I'll keep looking into what's going on. Knowing that the sem() function should take care of it is very helpful. I thought lavaan was doing something incorrectly as it is having trouble computing my standard errors and test statistics, and I have been able to fit this model well in EQS. It's possible that I am incorrectly specifying my model. I'll continue investigating. 

Thanks again!

Peter

yrosseel

unread,
May 26, 2014, 12:54:59 PM5/26/14
to lav...@googlegroups.com
On 05/26/2014 06:17 PM, peter....@gmail.com wrote:
> Thanks for your help Terry and Yves. I'll keep looking into what's going
> on. Knowing that the sem() function should take care of it is very
> helpful. I thought lavaan was doing something incorrectly as it is
> having trouble computing my standard errors and test statistics, and I
> have been able to fit this model well in EQS. It's possible that I am
> incorrectly specifying my model. I'll continue investigating.

Can you show us the EQS code and the lavaan code?

Yves.

Conal Monaghan

unread,
Feb 4, 2018, 6:12:57 PM2/4/18
to lavaan
Just to reopen this post briefly. If I wanted to run a three-tier model (Below), given the middle tier only has 2 indicators, I should constrain the loadings to be equal, and then constrain the higher order Latent variance to 1? (I will make the character string to constrain parameters = V2):


Higher.Order <- ' Lower.Order.1=~ Item_1 + Item_2 + Item_3 + Item_4
                            Lower.Order.2=~ Item_5 + Item_6 + Item_7 + Item_8
                   
                           Higher.Order =~ V2*Lower.Order.1 + V2*Lower.Order.2

    ## Constrain Variance
                          Higher.Order ~~ 1*Higher.Order
' 

Cheers, 

Conal


Terrence Jorgensen

unread,
Feb 12, 2018, 10:31:44 AM2/12/18
to lavaan
I should constrain the loadings to be equal, and then constrain the higher order Latent variance to 1? 

Or constrain both loadings to be 1, and estimate the factor variance (which will simply be the covariance between the two indicators, clearly illustrating why a second-order factor model with only 2 indicators adds no information beyond a first-order factor model).

Terrence D. Jorgensen
Postdoctoral Researcher, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam

Lukas Loreth

unread,
Feb 28, 2023, 3:42:15 PM2/28/23
to lavaan
Hi Everyone,
I was wondering how I would specify a latent variable with only two indicators in a longitudinal research design. The construct is measured at both time points. Do I constrain both indicators to one and the intercept of both indicatorsto to zero?
Thanks in advance for any help or advice!
Lukas

Terrence Jorgensen

unread,
Mar 7, 2023, 5:39:42 AM3/7/23
to lavaan
The construct is measured at both time points. Do I constrain both indicators to one

The loadings?  Yes, so that the factor variance is freely estimated on both occasions.  Also correlate each indicator's residuals across time.
 
and the intercept of both indicators to zero?

No, 2-indicator factors do not have the same identification issue for the mean structure, only the covariance structure.  You can estimate both intercepts and fix the latent means to zero.  If you are interested in comparing the latent mean between the 2 occasions, then you have to test scalar invariance by equating the Time-1 and Time-2 intercepts, so you can free the Time-2 factor mean.  Metric invariance is implied by the loadings all being 1, and it is not a testable assumption with only 2 indicators.

Terrence D. Jorgensen
Assistant Professor, Methods and Statistics
Research Institute for Child Development and Education, the University of Amsterdam
Reply all
Reply to author
Forward
0 new messages