Random-Intercept Cross-Lagged Panel Model, cov matrix of latent variables not PD

28 views
Skip to first unread message

Jace Hargraven

unread,
Jun 14, 2019, 8:52:15 AM6/14/19
to lavaan
Hi Everyone!

This is my first try at estimating a Random-Intercept Cross-Lagged Panel Model in lavaan.
I shamelessly copied the code from Mund & Nestler 2018, but upon execution I get a warning that the covariance matrix
of the latent variables is not positive definitive. I have searched for possible reasons for non-positive definitiveness on this board allready and either I'm too dense to identify them (very much possible) or they dont apply.

I would love some help on this!!

The model I'm trying to implement looks like this:

only with 6 measurements for both my x variable (pain experienced) and my y variable (level of depression).

My code for the model looks like this:

"
                                 # Define intercept factors
                                 iPain =~ 1*Pain.0 + 1*Pain.1 + 1* Pain.2 + 1*Pain.3 + 1*Pain.4 + 1*Pain.5
                                 iDepression =~ 1*Depression.0 + 1*Depression.1 + 1* Depression.2 + 1*Depression.3 + 1*Depression.4 + 1*Depression.5
                                
                                 # Define phantom latent variables
                                 etaPain.0 =~ 1*Pain.0
                                 etaPain.1 =~ 1*Pain.1
                                 etaPain.2 =~ 1*Pain.2
                                 etaPain.3 =~ 1*Pain.3
                                 etaPain.4 =~ 1*Pain.4
                                 etaPain.5 =~ 1*Pain.5
                                
                                
                                 etaDepression.0 =~ 1*Depression.0
                                 etaDepression.1 =~ 1*Depression.1
                                 etaDepression.2 =~ 1*Depression.2
                                 etaDepression.3 =~ 1*Depression.3
                                 etaDepression.4 =~ 1*Depression.4
                                 etaDepression.5 =~ 1*Depression.5
                                
                                
                                 # Autoregressive effects
                                
                                 etaPain.1 ~ ap1*Pain.0
                                 etaPain.2 ~ ap1*Pain.1
                                 etaPain.3 ~ ap1*Pain.2
                                 etaPain.4 ~ ap1*Pain.3
                                 etaPain.5 ~ ap1*Pain.4
                                
                                
                                
                                 etaDepression.1 ~ ad1*Depression.0
                                 etaDepression.2 ~ ad1*Depression.1
                                 etaDepression.3 ~ ad1*Depression.2
                                 etaDepression.4 ~ ad1*Depression.3
                                 etaDepression.5 ~ ad1*Depression.4
                                
                                
                                 # Crosslagged effects
                                
                                 etaPain.1 ~ cp1*Depression.0
                                 etaPain.2 ~ cp1*Depression.1
                                 etaPain.3 ~ cp1*Depression.2
                                 etaPain.4 ~ cp1*Depression.3
                                 etaPain.5 ~ cp1*Depression.4
                                
                                
                                
                                 etaDepression.1 ~ cd1*Pain.0
                                 etaDepression.2 ~ cd1*Pain.1
                                 etaDepression.3 ~ cd1*Pain.2
                                 etaDepression.4 ~ cd1*Pain.3
                                 etaDepression.5 ~ cd1*Pain.4
                                
                                
                                 # Some further constraints on the variance structure
                                 # 1. Set error variances of the observed variables to zero
                                
                                 Pain.0 ~~ 0*Pain.0
                                 Pain.1 ~~ 0*Pain.1
                                 Pain.2 ~~ 0*Pain.2
                                 Pain.3 ~~ 0*Pain.3
                                 Pain.4 ~~ 0*Pain.4
                                 Pain.5 ~~ 0*Pain.5
                               
                                
                                 Depression.0 ~~ 0*Depression.0
                                 Depression.1 ~~ 0*Depression.1
                                 Depression.2 ~~ 0*Depression.2
                                 Depression.3 ~~ 0*Depression.3
                                 Depression.4 ~~ 0*Depression.4
                                 Depression.5 ~~ 0*Depression.5
                                
                                
                                 # 2. Let lavaan estimate the variance of the latent variables
                                
                                 etaPain.0 ~~ varPain.0*etaPain.0
                                 etaPain.1 ~~ varPain.1*etaPain.1
                                 etaPain.2 ~~ varPain.2*etaPain.2
                                 etaPain.3 ~~ varPain.3*etaPain.3
                                 etaPain.4 ~~ varPain.4*etaPain.4
                                 etaPain.5 ~~ varPain.5*etaPain.5
                                
                                
                                 etaDepression.0 ~~ varDepression.0*etaDepression.0
                                 etaDepression.1 ~~ varDepression.1*etaDepression.1
                                 etaDepression.2 ~~ varDepression.2*etaDepression.2
                                 etaDepression.3 ~~ varDepression.3*etaDepression.3
                                 etaDepression.4 ~~ varDepression.4*etaDepression.4
                                 etaDepression.5 ~~ varDepression.5*etaDepression.5
                                
                                
                                 # 3. We also want estimates of the intercept factor variances and and
                                 #    estimate of their covariance
                                
                                 iPain ~~ variPain*iPain
                                 iDepression ~~ variDepression*iDepression
                                 iPain ~~ covi*iDepression
                                
                                 # 4. We have to define that the covariance between the intercepts and
                                 #    the latents of the first time point are zero
                                
                                 etaPain.0 ~~ 0*iPain
                                 etaDepression.0 ~~ 0*iPain
                                 etaPain.0 ~~ 0*iDepression
                                 etaDepression.0 ~~ 0*iDepression
                                
                                 # 5. Finally, we estimate the covariance between the latents of x and y
                                 #    of the first time point, the second time-point and so on. note that
                                 #    for the second to fourth time point the correlation is constrained to
                                 #    the same value
                                
                                 etaPain.0 ~~ cov1*etaDepression.0
                                 etaPain.1 ~~ e1*etaDepression.1
                                 etaPain.2 ~~ e1*etaDepression.2
                                 etaPain.3 ~~ e1*etaDepression.3
                                 etaPain.4 ~~ e1*etaDepression.4
                                 etaPain.5 ~~ e1*etaDepression.5
                                
                                
                                 # The model also contains a mean structure and we have to define some
                                 # constraints for this part of the model. the assumption is that we
                                 # only want estimates of the mean of the intercept factors. all other means
                                 # are defined to be zero:
                                
                                 Pain.0 ~ 0*1
                                 Pain.1 ~ 0*1
                                 Pain.2 ~ 0*1
                                 Pain.3 ~ 0*1
                                 Pain.4 ~ 0*1
                                 Pain.5 ~ 0*1
                               
                                
                                 Depression.0 ~ 0*1
                                 Depression.1 ~ 0*1
                                 Depression.2 ~ 0*1
                                 Depression.3 ~ 0*1
                                 Depression.4 ~ 0*1
                                 Depression.5 ~ 0*1
                                
                                
                                 etaPain.0 ~ 0*1
                                 etaPain.1 ~ 0*1
                                 etaPain.2 ~ 0*1
                                 etaPain.3 ~ 0*1
                                 etaPain.4 ~ 0*1
                                 etaPain.5 ~ 0*1
                               
                                
                                 etaDepression.0 ~ 0*1
                                 etaDepression.1 ~ 0*1
                                 etaDepression.2 ~ 0*1
                                 etaDepression.3 ~ 0*1
                                 etaDepression.4 ~ 0*1
                                 etaDepression.5 ~ 0*1
                                
                                
                                 iPain ~ 1
                                 iDepression ~ 1
                                
                                 ## define correlations
                                 cori := covi / (sqrt(variPain) * sqrt(variDepression))
                                 cort0 := cov1 / (sqrt(varPain.0) * sqrt(varDepression.0))
                                 cort1 := e1 / (sqrt(varPain.1) * sqrt(varDepression.1))
                                 cort2 := e1 / (sqrt(varPain.2) * sqrt(varDepression.2))
                                 cort3 := e1 / (sqrt(varPain.3) * sqrt(varDepression.3))
                                 cort4 := e1 / (sqrt(varPain.4) * sqrt(varDepression.4))
                                 cort5 := e1 / (sqrt(varPain.5) * sqrt(varDepression.5))
                                
                                 "

and this is the cor matrix:

Pain.0
Depression.0
Pain.1
Depression.1
Pain.2
Depression.2
Pain.3
Depression.3
Pain.4
Depression.4
Pain.5
Depression.5
Pain.6
Depression.6















Pain.0
1.0000000
0.2338877
0.6798894
0.2007186
0.5676144
0.1744655
0.4677538
0.1885534
0.4399124
0.1977635
0.3794839
0.1387897
0.4336302
0.1504707
Depression.0
0.2338877
1.0000000
0.2746617
0.8227641
0.2466643
0.7935417
0.2319824
0.7612916
0.2102303
0.7145234
0.2193540
0.6727934
0.2517888
0.7286618
Pain.1
0.6798894
0.2746617
1.0000000
0.2750262
0.6156126
0.2365958
0.4600352
0.2435474
0.4257163
0.2610393
0.3885676
0.1823861
0.3779389
0.1816401
Depression.1
0.2007186
0.8227641
0.2750262
1.0000000
0.2446966
0.8482510
0.2589567
0.8152977
0.2157088
0.7814679
0.2331225
0.7193458
0.2220503
0.7418971
Pain.2
0.5676144
0.2466643
0.6156126
0.2446966
1.0000000
0.2403432
0.5576442
0.2590337
0.4887175
0.2513538
0.4520523
0.2407892
0.4485518
0.2504086
Depression.2
0.1744655
0.7935417
0.2365958
0.8482510
0.2403432
1.0000000
0.2306275
0.8489300
0.2017779
0.8120402
0.2424607
0.7478350
0.2262820
0.7865860
Pain.3
0.4677538
0.2319824
0.4600352
0.2589567
0.5576442
0.2306275
1.0000000
0.2665398
0.4994139
0.2566757
0.4220510
0.2241280
0.4907318
0.2133545
Depression.3
0.1885534
0.7612916
0.2435474
0.8152977
0.2590337
0.8489300
0.2665398
1.0000000
0.1949042
0.8183495
0.2702529
0.7566222
0.2283091
0.7890860
Pain.4
0.4399124
0.2102303
0.4257163
0.2157088
0.4887175
0.2017779
0.4994139
0.1949042
1.0000000
0.2216032
0.5369003
0.1877874
0.4235193
0.1913575
Depression.4
0.1977635
0.7145234
0.2610393
0.7814679
0.2513538
0.8120402
0.2566757
0.8183495
0.2216032
1.0000000
0.2735422
0.8008435
0.2438825
0.7652653
Pain.5
0.3794839
0.2193540
0.3885676
0.2331225
0.4520523
0.2424607
0.4220510
0.2702529
0.5369003
0.2735422
1.0000000
0.2754480
0.4632111
0.3055675
Depression.5
0.1387897
0.6727934
0.1823861
0.7193458
0.2407892
0.7478350
0.2241280
0.7566222
0.1877874
0.8008435
0.2754480
1.0000000
0.1855692
0.8101194
Pain.6
0.4336302
0.2517888
0.3779389
0.2220503
0.4485518
0.2262820
0.4907318
0.2283091
0.4235193
0.2438825
0.4632111
0.1855692
1.0000000
0.2420535
Depression.6
0.1504707
0.7286618
0.1816401
0.7418971
0.2504086
0.7865860
0.2133545
0.7890860
0.1913575
0.7652653
0.3055675
0.8101194
0.2420535
1.0000000
Reply all
Reply to author
Forward
0 new messages