Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Hierarchical CFA problem


From   John Antonakis <[email protected]>
To   [email protected]
Subject   Re: st: Hierarchical CFA problem
Date   Mon, 22 Apr 2013 16:33:07 +0200

BTW, by "look at your output," I meant when you force Stata to stop iterating:

-------------+----------------------------------------------------------------
Variance     |
        e.x1 |   .5509189   .1985341 .2718573    1.116437
        e.x2 |   1.086973   .1179499 .8787249    1.344574
        e.x3 |   .8554162   .1292344 .6361797    1.150205
        e.x4 |    .345022   .0468115 .264459    .4501272
        e.x5 |   .4623856   .0608402 .3572761    .5984178
        e.x6 |   .3636892   .0440637 .2868144    .4611688
        e.x7 |   .5784454    .110548 .3977291    .8412739
        e.x8 |   .5318421   .0899317 .3818115    .7408264
        e.x9 |   .7004508   .0882214 .5472292    .8965738
        e.L1 |  -1.00e-09   .2417215 .           .
        e.L2 |   .9446486   .1340474 .7152918    1.247548
        e.L3 |   .5939406   .1637864 .3459504      1.0197
           G |   .7258514   .2259537 .3943421    1.336049
------------------------------------------------------------------------------

In any case, the chi-square overidentification test shows that this model is no good.

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
The Leadership Quarterly
__________________________________________

On 22.04.2013 16:11, John Antonakis wrote:

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

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
The Leadership Quarterly
__________________________________________

On 22.04.2013 13:34, W Robert Long wrote:
> Hi John and thanks for your reply
>
> 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
>> The Leadership Quarterly
>> __________________________________________
>>
>> 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


*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index