Interconstruct Correlation Greater than 1

1,029 views
Skip to first unread message

Chris Castille

unread,
Mar 28, 2017, 9:14:51 AM3/28/17
to lavaan
Hi folks,

I’m testing a latent variable model that involves two latent personality factors (a ‘stability’ and a ‘plasticity’ factor) as underlying scores on a personality inventory that measures basic personality traits (the Big Five, or agreeableness, neuroticism, conscientiousness, openness, and extraversion). Basically, agreeableness, neuroticism, and conscientiousness are theorized as reflecting stability while extraversion and openness reflect plasticity. To ensure identification, I’ve constrained the factor loadings for extraversion and openness to be equal to one another (note: I’ve also tested free factor loadings and this doesn’t resolve my issue).

My issue is that the factor correlations (stability and plasticity) are greater than 1 when estimated freely. In other words, I have a non-positive definite matrix. I'm looking for advice for overcoming this issue. 

To help diagnose this issue, I do have data on a measure of halo. Thinking that the two traits may be better represented as a general factor that could be interpreted as a halo factor, I correlated the two and, while this correlation is significant, it is too small to be a halo factor (r ~= .30). 

Note that all indicators in the model are theta scores obtained from applying scoring algorithms to the scale scores as part of a separate aspect to this investigation. 

My R script describing the model is below. Data are attached. Any help would be appreciated.


modl1  <-  '
#Model meta-traits
Stability=~A+C+N
Plasticity=~v1*E+v1*O
#Model halo
A+C+N+E+O ~ bias
#Link Big Five traits to 10 Aspects
p+c ~ A
i+o ~ C
v+w ~ N
e+ass ~ E 
int+a ~ O
modl <- cfa(modl1, estimator = "MLM", data=HABM, std.lv = TRUE)
summary(modl, standardized = TRUE, fit.measures = TRUE)

The output is below:
lavaan WARNING: covariance matrix of latent variables is not positive definite; use inspect(fit,"cov.lv") to investigate.> summary(modl, standardized = TRUE, fit.measures = TRUE)
lavaan (0.5-20) converged normally after 151 iterations

                                                  Used       Total
  Number of observations                           610         632

  Estimator                                         ML      Robust
  Minimum Function Test Statistic              615.868     407.954
  Degrees of freedom                                55          55
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.510
    for the Satorra-Bentler correction

Model test baseline model:

  Minimum Function Test Statistic            12198.485    8515.398
  Degrees of freedom                               120         120
  P-value                                        0.000       0.000

User model versus baseline model:

  Comparative Fit Index (CFI)                    0.954       0.958
  Tucker-Lewis Index (TLI)                       0.899       0.908

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -7888.474   -7888.474
  Loglikelihood unrestricted model (H1)      -7580.540   -7580.540

  Number of free parameters                         95          95
  Akaike (AIC)                               15966.948   15966.948
  Bayesian (BIC)                             16386.227   16386.227
  Sample-size adjusted Bayesian (BIC)        16084.623   16084.623

Root Mean Square Error of Approximation:

  RMSEA                                          0.129       0.103
  90 Percent Confidence Interval          0.120  0.139       0.095  0.110
  P-value RMSEA <= 0.05                          0.000       0.000

Standardized Root Mean Square Residual:

  SRMR                                           0.077       0.077

Parameter Estimates:

  Information                                 Expected
  Standard Errors                           Robust.sem

Latent Variables:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
  Stability =~                                                          
    A                 0.581    0.048   12.136    0.000    0.581    0.573
    C                 0.687    0.043   16.019    0.000    0.687    0.681
    N                -0.602    0.049  -12.388    0.000   -0.602   -0.558
  Plasticity =~                                                         
    E         (v1)    0.458    0.044   10.402    0.000    0.458    0.439
    O         (v1)    0.458    0.044   10.402    0.000    0.458    0.490

Regressions:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
  A ~                                                                   
    bias              0.203    0.052    3.881    0.000    0.203    0.173
  C ~                                                                   
    bias              0.432    0.043   10.105    0.000    0.432    0.372
  N ~                                                                   
    bias             -0.411    0.053   -7.824    0.000   -0.411   -0.331
  E ~                                                                   
    bias              0.492    0.046   10.577    0.000    0.492    0.409
  O ~                                                                   
    bias              0.392    0.045    8.653    0.000    0.392    0.365
  p ~                                                                   
    A                 0.711    0.025   28.878    0.000    0.711    0.757
  c ~                                                                   
    A                 0.708    0.053   13.427    0.000    0.708    0.770
  i ~                                                                   
    C                 0.847    0.021   40.336    0.000    0.847    0.927
  o ~                                                                   
    C                 0.814    0.020   41.592    0.000    0.814    0.838
  v ~                                                                   
    N                 0.884    0.021   41.347    0.000    0.884    0.904
  w ~                                                                   
    N                 0.880    0.017   53.161    0.000    0.880    0.914
  e ~                                                                   
    E                 0.902    0.016   57.865    0.000    0.902    0.909
  ass ~                                                                 
    E                 0.793    0.017   46.682    0.000    0.793    0.846
  int ~                                                                 
    O                 0.790    0.026   30.779    0.000    0.790    0.727
  a ~                                                                   
    O                 0.843    0.016   51.870    0.000    0.843    0.887

Covariances:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
  Stability ~~                                                          
    Plasticity        1.158    0.087   13.295    0.000    1.158    1.158
  p ~~                                                                  
    c                -0.051    0.020   -2.496    0.013   -0.051   -0.137
    i                 0.001    0.009    0.147    0.883    0.001    0.006
    o                 0.007    0.014    0.462    0.644    0.007    0.020
    v                -0.001    0.014   -0.062    0.950   -0.001   -0.003
    w                -0.023    0.018   -1.247    0.212   -0.023   -0.087
    e                 0.020    0.012    1.674    0.094    0.020    0.073
    ass              -0.031    0.017   -1.821    0.069   -0.031   -0.094
    int               0.028    0.018    1.514    0.130    0.028    0.064
    a                -0.018    0.011   -1.635    0.102   -0.018   -0.069
  c ~~                                                                  
    i                 0.009    0.011    0.863    0.388    0.009    0.045
    o                -0.011    0.016   -0.683    0.494   -0.011   -0.034
    v                -0.042    0.013   -3.150    0.002   -0.042   -0.154
    w                 0.027    0.011    2.441    0.015    0.027    0.108
    e                -0.014    0.010   -1.369    0.171   -0.014   -0.054
    ass              -0.011    0.014   -0.779    0.436   -0.011   -0.034
    int              -0.054    0.020   -2.691    0.007   -0.054   -0.131
    a                 0.029    0.011    2.732    0.006    0.029    0.119
  i ~~                                                                  
    o                -0.146    0.011  -13.363    0.000   -0.146   -0.791
    v                 0.012    0.007    1.674    0.094    0.012    0.079
    w                -0.008    0.008   -1.111    0.266   -0.008   -0.057
    e                -0.034    0.008   -4.115    0.000   -0.034   -0.231
    ass               0.039    0.009    4.607    0.000    0.039    0.219
    int               0.068    0.012    5.821    0.000    0.068    0.285
    a                -0.023    0.007   -3.060    0.002   -0.023   -0.161
  o ~~                                                                  
    v                -0.023    0.014   -1.638    0.101   -0.023   -0.095
    w                 0.016    0.013    1.210    0.226    0.016    0.071
    e                 0.048    0.010    4.716    0.000    0.048    0.207
    ass              -0.055    0.014   -4.044    0.000   -0.055   -0.196
    int              -0.107    0.020   -5.277    0.000   -0.107   -0.288
    a                 0.045    0.012    3.730    0.000    0.045    0.206
  v ~~                                                                  
    w                -0.125    0.014   -8.631    0.000   -0.125   -0.656
    e                -0.007    0.012   -0.626    0.531   -0.007   -0.037
    ass               0.035    0.013    2.605    0.009    0.035    0.147
    int               0.047    0.016    3.044    0.002    0.047    0.151
    a                -0.013    0.008   -1.523    0.128   -0.013   -0.070
  w ~~                                                                  
    e                 0.005    0.010    0.512    0.608    0.005    0.028
    ass              -0.020    0.015   -1.333    0.183   -0.020   -0.092
    int              -0.026    0.015   -1.674    0.094   -0.026   -0.087
    a                 0.009    0.008    1.135    0.256    0.009    0.050
  e ~~                                                                  
    ass              -0.152    0.017   -8.970    0.000   -0.152   -0.676
    int              -0.116    0.014   -8.201    0.000   -0.116   -0.387
    a                 0.057    0.008    6.696    0.000    0.057    0.321
  ass ~~                                                                
    int               0.137    0.019    7.144    0.000    0.137    0.377
    a                -0.068    0.010   -6.473    0.000   -0.068   -0.317
  int ~~                                                                
    a                -0.225    0.019  -12.138    0.000   -0.225   -0.789

Intercepts:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
    A                 0.097    0.041    2.400    0.016    0.097    0.096
    C                 0.203    0.038    5.334    0.000    0.203    0.202
    N                -0.151    0.041   -3.647    0.000   -0.151   -0.140
    E                 0.062    0.038    1.621    0.105    0.062    0.059
    O                 0.060    0.036    1.680    0.093    0.060    0.064
    p                -0.013    0.025   -0.504    0.614   -0.013   -0.013
    c                -0.010    0.021   -0.453    0.651   -0.010   -0.010
    i                 0.012    0.013    0.973    0.330    0.012    0.014
    o                 0.028    0.021    1.310    0.190    0.028    0.029
    v                -0.054    0.018   -2.997    0.003   -0.054   -0.051
    w                 0.026    0.017    1.492    0.136    0.026    0.025
    e                 0.044    0.017    2.545    0.011    0.044    0.043
    ass              -0.059    0.021   -2.766    0.006   -0.059   -0.060
    int              -0.071    0.028   -2.509    0.012   -0.071   -0.070
    a                 0.051    0.016    3.117    0.002    0.051    0.058
    Stability         0.000                               0.000    0.000
    Plasticity        0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  Z-value  P(>|z|)   Std.lv  Std.all
    A                 0.661    0.072    9.167    0.000    0.661    0.642
    C                 0.406    0.043    9.447    0.000    0.406    0.398
    N                 0.673    0.054   12.527    0.000    0.673    0.579
    E                 0.696    0.068   10.164    0.000    0.696    0.640
    O                 0.547    0.043   12.761    0.000    0.547    0.627
    p                 0.388    0.038   10.168    0.000    0.388    0.427
    c                 0.355    0.051    6.911    0.000    0.355    0.407
    i                 0.119    0.014    8.532    0.000    0.119    0.140
    o                 0.286    0.020   14.086    0.000    0.286    0.298
    v                 0.204    0.021    9.753    0.000    0.204    0.183
    w                 0.178    0.032    5.591    0.000    0.178    0.165
    e                 0.186    0.025    7.575    0.000    0.186    0.174
    ass               0.272    0.039    6.953    0.000    0.272    0.284
    int               0.485    0.030   16.031    0.000    0.485    0.471
    a                 0.168    0.017   10.102    0.000    0.168    0.213
    Stability         1.000                               1.000    1.000
    Plasticity        1.000                               1.000    1.000
HABM.csv

Terrence Jorgensen

unread,
Mar 29, 2017, 9:12:57 AM3/29/17
to lavaan
My issue is that the factor correlations (stability and plasticity) are greater than 1 when estimated freely. In other words, I have a non-positive definite matrix. I'm looking for advice for overcoming this issue. 

Have you considered the possibility that your hypothesis is wrong?  The fact that the estimated correlation exceeds 1 indicates that at least one pair of first-order factors (indicators from different second-order factors) are more correlated than the simple second-order structure allows for.  You could look at the latent covariance matrix from a model with only first-order factors for clues.

Model misfit is only one possible cause of a Heywood case. Another is sampling error.  At smaller sample sizes, you can expect Heywood cases if the true parameter is near a boundary.  You have a pretty big sample size, though.  But you can check whether the null hypothesis is plausible that the true parameter is an acceptable value.  Check your CI, and you will notice it includes (barely) includes some plausible correlations below 1, indicating the data are also consistent with a true correlation of, e.g., 0.995. So although you cannot disregard sampling error as the cause of the Heywood case (nor model misfit as the cause), the CI still indicates that if your model is correct, your data are only consistent with a true correlation very near the boundary, in which case you could try a 1-factor solution as well.  But I would recommend inspecting the first-order factor correlations for clues as to how your hypothesized 2-factor structure might not be appropriate.

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

Chris Castille

unread,
Mar 29, 2017, 11:40:07 AM3/29/17
to lav...@googlegroups.com
Hi Terrence,
 
Thanks for taking this on. Your feedback was helpful.

I have considered this possibility (that the hypothesis is incorrect) and have run a one-factor model. The fit of a one factor model is largely identical, granted there is no Heywood case issue. Huzzah.

One more point, I’m not sure what you mean by 'checking out the first-order factor correlations.’ My indicators are not correlated so strongly as to suggest redundancy and maybe I was not so clear in my first explanation. The indicators in my data are trait scores - there are no item-level indicators in the model. At the lowest level in the hierarchy are trait scores corresponding to 10 Aspects of the Big Five, the latter of which are at the next level in the hierarchy. The intercorrelations appear fine at their respective levels. High intercorrelation across levels is expected because the item responses informing those trait scores are shared. 

Still, I’m skeptical, and I think more context would explain why. Research from more rigorous investigations using multi-method/measurement approaches have largely discredited the single-factor as an explanation for common Big Five variance. Through these investigations, it was revealed that the two higher-order factors are positively correlated when ratings are provided by single informants. When ratings are provided by multiple informants, they are typically relatively uncorrelated. When that single factor emerges, multifaceted method variance seems to be the explanation. Now for my data...My data are single-source and self-reported. While I have controlled for halo effects, I think that other sources of method variance that were not captured by my design (e.g., response style) are resulting in the emergence of a single factor. Bummer.

Chris


--
You received this message because you are subscribed to a topic in the Google Groups "lavaan" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lavaan/LF14sVwVjLk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lavaan+un...@googlegroups.com.
To post to this group, send email to lav...@googlegroups.com.
Visit this group at https://groups.google.com/group/lavaan.
For more options, visit https://groups.google.com/d/optout.

Terrence Jorgensen

unread,
Mar 30, 2017, 5:46:00 AM3/30/17
to lavaan
One more point, I’m not sure what you mean by 'checking out the first-order factor correlations.’ My indicators are not correlated so strongly as to suggest redundancy and maybe I was not so clear in my first explanation. 

OK, so it is only a first-order model.  In that case correlation residual might point out which relationships your 2-factor solution does not adequately account for:

resid(fit, type = "cor")

Regarding context and lingering skepticism, you might find some personality researchers on SEMNET who could offer useful discussionL

Reply all
Reply to author
Forward
0 new messages