Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.

# Re: st: Hierarchical CFA problem

 From John Antonakis To statalist@hsphsun2.harvard.edu Subject Re: st: Hierarchical CFA problem Date Mon, 22 Apr 2013 16:11:58 +0200

```
OK.

```
There is something wrong here; if you look at your output it gives a negative variance for the e of L1. Though as I said this model makes no sense as it is equivalent to the lower-order model:
```
sem (L1 -> x1 x2 x3) ///
(L2 -> x4 x5 x6) ///
(L3 -> x7 x8 x9)

This is estimatable (though still fails the chi-square test):

------------------------------------------------------------------------------
|                 OIM
```
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
```-------------+----------------------------------------------------------------
Measurement  |
x1 <-      |
L1 |          1  (constrained)
_cons |    4.93577   .0671778    73.47   0.000 4.804104    5.067436
-----------+----------------------------------------------------------------
x2 <-      |
L1 |   .5534029   .1092465     5.07   0.000 .3392837    .7675221
_cons |    6.08804   .0677543    89.85   0.000 5.955244    6.220836
-----------+----------------------------------------------------------------
x3 <-      |
L1 |   .7293722   .1172742     6.22   0.000 .4995191    .9592254
_cons |   2.250415   .0650802    34.58   0.000 2.12286     2.37797
-----------+----------------------------------------------------------------
x4 <-      |
L2 |          1  (constrained)
_cons |   3.060908    .066987    45.69   0.000 2.929616      3.1922
-----------+----------------------------------------------------------------
x5 <-      |
L2 |   1.113116   .0649824    17.13   0.000 .9857527    1.240479
_cons |   4.340532   .0742579    58.45   0.000 4.194989    4.486075
-----------+----------------------------------------------------------------
x6 <-      |
L2 |   .9261753   .0561917    16.48   0.000 .8160416    1.036309
_cons |   2.185572   .0630445    34.67   0.000 2.062007    2.309137
-----------+----------------------------------------------------------------
x7 <-      |
L3 |          1  (constrained)
_cons |   4.185902   .0626953    66.77   0.000 4.063021    4.308783
-----------+----------------------------------------------------------------
x8 <-      |
L3 |   1.179996   .1502814     7.85   0.000 .8854496    1.474542
_cons |   5.527076   .0582691    94.85   0.000 5.412871    5.641281
-----------+----------------------------------------------------------------
x9 <-      |
L3 |   1.081178   .1949939     5.54   0.000 .6989972    1.463359
_cons |   5.374123   .0580699    92.55   0.000 5.260308    5.487938
-------------+----------------------------------------------------------------
Variance     |
e.x1 |   .5490164   .1190647 .3589104    .8398168
e.x2 |   1.133917   .1042654 .9469168    1.357846
e.x3 |   .8443011   .0950778 .677084    1.052815
e.x4 |   .3711728   .0479585 .2881337    .4781434
e.x5 |   .4461694   .0579262 .3459301    .5754549
e.x6 |   .3561501   .0434357 .280428    .4523189
e.x7 |   .7993025   .0875386 .6448945    .9906807
e.x8 |   .4875303   .0916455 .3372823    .7047089
e.x9 |   .5663183   .0905473 .4139654    .7747421
L1 |   .8093532   .1497701 .5631499    1.163194
L2 |    .979491   .1122085 .7825076    1.226062
L3 |    .383838   .0920543 .2398876    .6141693
-------------+----------------------------------------------------------------
Covariance   |
L1         |
L2 |   .4082169   .0796761     5.12   0.000 .2520546    .5643792
L3 |   .2621933   .0553876     4.73   0.000 .1536356    .3707511
-----------+----------------------------------------------------------------
L2         |
L3 |   .1734852   .0493172     3.52   0.000 .0768252    .2701452
------------------------------------------------------------------------------
LR test of model vs. saturated: chi2(24)  =     85.32, Prob > chi2 = 0.0000

```
The above results are the same as the R-results for the lower order relations and the covariance will equal the structural loadings.....Interestingly,
```
```
using the covariance matrix I was able to fit higher-order model in Mplus. Here are the estimates (which are almost the same as what R gives):
```
Two-Tailed
Estimate       S.E.  Est./S.E.    P-Value

L1       BY
X1                 1.000      0.000    999.000    999.000
X2                 0.553      0.100      5.553      0.000
X3                 0.729      0.109      6.685      0.000

L2       BY
X4                 1.000      0.000    999.000    999.000
X5                 1.113      0.065     17.016      0.000
X6                 0.926      0.055     16.704      0.000

L3       BY
X7                 1.000      0.000    999.000    999.000
X8                 1.180      0.165      7.152      0.000
X9                 1.081      0.151      7.155      0.000

G        BY
L1                 1.000      0.000    999.000    999.000
L2                 0.662      0.173      3.825      0.000
L3                 0.425      0.118      3.601      0.000

Intercepts
X1                 4.936      0.067     73.473      0.000
X2                 6.088      0.068     89.855      0.000
X3                 2.250      0.065     34.579      0.000
X4                 3.061      0.067     45.694      0.000
X5                 4.341      0.074     58.452      0.000
X6                 2.186      0.063     34.667      0.000
X7                 4.186      0.063     66.766      0.000
X8                 5.527      0.058     94.853      0.000
X9                 5.374      0.058     92.545      0.000

Variances
G                  0.617      0.183      3.371      0.001

Residual Variances
X1                 0.549      0.114      4.833      0.000
X2                 1.134      0.102     11.146      0.000
X3                 0.844      0.091      9.315      0.000
X4                 0.371      0.048      7.779      0.000
X5                 0.446      0.058      7.642      0.000
X6                 0.356      0.043      8.276      0.000
X7                 0.799      0.081      9.822      0.000
X8                 0.487      0.074      6.570      0.000
X9                 0.566      0.071      8.007      0.000
L1                 0.192      0.170      1.129      0.259
L2                 0.709      0.107      6.625      0.000
L3                 0.272      0.069      3.955      0.000

```
Perhaps technical support can chime in (or you can contact them if they don't--I would be interested to know what they say, by the way).
```
Best,
J.

__________________________________________

John Antonakis
Professor of Organizational Behavior
Director, Ph.D. Program in Management

University of Lausanne
Internef #618
CH-1015 Lausanne-Dorigny
Switzerland
Tel ++41 (0)21 692-3438
Fax ++41 (0)21 692-3305
http://www.hec.unil.ch/people/jantonakis

Associate Editor
__________________________________________

On 22.04.2013 13:34, W Robert Long wrote:
>
```
> Yes, I forgot to include the SDs in my post - I am working with raw data and it was an oversight - here they are:
```>
```
> ssd set sd 1.167432 1.177451 1.130979 1.164116 1.290472 1.095603 1.089534 1.012615 1.009152
```>
> FWIW, here are the means:
>
```
> ssd set means 4.93577 6.08804 2.250415 3.060908 4.340532 2.185572 4.185902 5.527076 5.374123
```>
```
> Regarding your second point, I was aware of the equivalence of models. Nevertheless I still wanted to fit the hierarchical model, as outlined in Kline. Actually the issue came up because one of my students tried to fit the model in class: it wouldn't converge and she wanted to know why. So far I haven't been able to find a reason - only the work-around of changing the unit loading variable (or to fit it in R)
```>
> Thanks again
> Robert Long
>
>
>
> On 22/04/2013 12:21, John Antonakis wrote:
>> Hi Robert:
>>
>> There is one issues to deal with before trying to reproduce the results
>> and another issue about the estimation per se.
>>
>> First issue is that you have not set the means and standard deviations;
>> was that an oversight? There is not much point in estimating the model
>> with a correlation matrix:
>>
>> Bentler, P. M., & Savalei, V. (2010). Analysis of correlation
```
>> structures: Current status and open problems. In S. Kolenikov, L. Thombs
```>> & D. Steinley (Eds.), Recent Methodological Developments in Social
>> Science Statistics (pp. 1-36). Hoboken, NJ Wiley.
>> Browne, M. W. (1984). Asymptotically distribution-free methods for the
>> analysis of covariance structures. British Journal of Mathematical and
>> Statistical Psychology, 37, 62-83.
>> Cudeck, R. (1989). Analysis of correlation matrices using covariance
>> structure models. Psychological Bulletin, 105(2), 317-327.
>> Steiger, J. H. (2001). Driving fast in reverse - The relationship
>> between software development, theory, and education in structural
>> equation modeling. Journal of the American Statistical Association,
>> 96(453), 331-338.
>>
>> Second issue about the esestimation. A model with three first order
```
>> factors is equivalent to the model with a higher order factor predicting
```>> the three factors (if you work out the DF by hand you'll see that they
>> are the same). So, you are not testing anything with the hierarchical
>> CFA beyond a first-order three factor theory.
>>
>> Rindskopf, D. & Rose, T. 1988. Some Theory and Applications of
>> Confirmatory Second-Order Factor Analysis. Multivariate Behavioral
>> Research, 23: 51-67.
>>
>> Best,
>> J.
>>
>> __________________________________________
>>
>> John Antonakis
>> Professor of Organizational Behavior
>> Director, Ph.D. Program in Management
>>
>> Faculty of Business and Economics
>> University of Lausanne
>> Internef #618
>> CH-1015 Lausanne-Dorigny
>> Switzerland
>> Tel ++41 (0)21 692-3438
>> Fax ++41 (0)21 692-3305
>> http://www.hec.unil.ch/people/jantonakis
>>
>> Associate Editor
>> __________________________________________
>>
>> On 22.04.2013 11:31, W Robert Long wrote:
>>> Hi all
>>>
>>> I'm working with the hierarchical CFA model of cognitive ability
>>> described on p199 of Kline "Principles and Practice of Structural
>>> Equation Modeling", 2nd edition - or p249 in the 3rd edition.  I have
>>> reproduced summary statistics so that people who don't have access to
>>> the data will be able to follow:
>>>
>>> clear all
>>> ssd init x1 x2 x3 x4 x5 x6 x7 x8 x9
>>>
>>> ssd set correlations ///
>>> 1.0000 \ ///
>>> 0.2973   1.0000 \ ///
>>> 0.4407   0.3398   1.0000 \ ///
>>> 0.3727   0.1529   0.1586   1.0000 \ ///
>>> 0.2934   0.1394   0.0772   0.7332   1.0000 \ ///
>>> 0.3568   0.1925   0.1977   0.7045   0.7200   1.0000 \ ///
>>> 0.0669  -0.0757   0.0719   0.1738   0.1020   0.1211 1.0000 \ ///
>>> 0.2239   0.0923   0.1860   0.1069   0.1387   0.1496 0.4868 1.0000 \ ///
>>> 0.3903   0.2060   0.3287   0.2078   0.2275   0.2142 0.3406 0.4490
>>> 1.0000
>>>
>>> ssd set observations 301
>>>
>>> The model is very straight forward:
>>>
>>> sem (L1 -> x1 x2 x3) ///
>>>     (L2 -> x4 x5 x6) ///
>>>     (L3 -> x7 x8 x9) ///
>>>     (G -> L1@1 L2 L3)
>>>
>>> However, it fails to converge. It does however, converge if the G ->
>>> L2 path is constrained to 1 instead of the G -> L1 path
>>>
>>> I am trying to figure out what the problem is. L1 is the largest
>>> loading on G , but using the iterate() option I don't see what the
>>> problem is.
>>>
>>> I have successfully fitted the model using R, with the lavaan
>>> package,  and the model with the G -> L2 path constrained has
>>> identical output in Stata and R, so I believe this must be a issue
>>> with Stata, but  I do not know how to track the problem down. FWIW,
```
>>> here is the output from R for the model which doesn't converge in Stata:
```>>>
>>>                    Estimate  Std.err  Z-value P(>|z|)
>>> Latent variables:
>>>   L1 =~
>>>     x1                1.000
>>>     x2                0.554    0.100    5.554    0.000
>>>     x3                0.729    0.109    6.685    0.000
>>>   L2 =~
>>>     x4                1.000
>>>     x5                1.113    0.065   17.014    0.000
>>>     x6                0.926    0.055   16.703    0.000
>>>   L3 =~
>>>     x7                1.000
>>>     x8                1.180    0.165    7.152    0.000
>>>     x9                1.082    0.151    7.155    0.000
>>>   G =~
>>>     L1                1.000
>>>     L2                0.662    0.173    3.826    0.000
>>>     L3                0.425    0.118    3.602    0.000
>>>
>>> Variances:
>>>     x1                0.549    0.114
>>>     x2                1.134    0.102
>>>     x3                0.844    0.091
>>>     x4                0.371    0.048
>>>     x5                0.446    0.058
>>>     x6                0.356    0.043
>>>     x7                0.799    0.081
>>>     x8                0.488    0.074
>>>     x9                0.566    0.071
>>>     L1                0.192    0.170
>>>     L2                0.709    0.107
>>>     L3                0.272    0.069
>>>     G                 0.617    0.183
>>>
>>>
>>> I would be grateful for any help or advice.
>>>
>>> Thanks
>>> Robert Long
>>>
>>>
>>>
>>>
>>>
>>> *
>>> *   For searches and help try:
>>> * http://www.stata.com/help.cgi?search
>>> * http://www.stata.com/support/faqs/resources/statalist-faq/
>>> * http://www.ats.ucla.edu/stat/stata/
>> *
>> *   For searches and help try:
>> *   http://www.stata.com/help.cgi?search
>> * http://www.stata.com/support/faqs/resources/statalist-faq/
>> *   http://www.ats.ucla.edu/stat/stata/
>

s

--
__________________________________________

John Antonakis
Professor of Organizational Behavior
Director, Ph.D. Program in Management

University of Lausanne
Internef #618
CH-1015 Lausanne-Dorigny
Switzerland
Tel ++41 (0)21 692-3438
Fax ++41 (0)21 692-3305
http://www.hec.unil.ch/people/jantonakis

Associate Editor