Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Structural Equation Modeling in STATA--"Fitted model not of full rank."

    Hi, all.

    What does this message mean?

    "Note: The LR test of model vs. saturated is not reported because the fitted
    model is not full rank."

    The model I am estimating is clearly identified, and STATA is producing reasonable estimates of the parameters. I cannot find anything about this message in STATA documentation.

    Thanks.

  • #2
    I'm not positive, but I believe that this behavior was introduced in the 26-Jun-14 update:
    sem with a fitted model that was not full rank in e(V) reported a model-versus-saturated chi-squared test that had an inflated p-value because the degrees of freedom for the test was inflated. sem now reports a note indicating this has occurred instead of reporting the test.
    For example, you can now trigger this message with the linear regression example from the manual:
    Code:
    . sysuse auto
    (1978 Automobile Data)
    
    . generate weight2 = weight^2
    
    . sem (mpg <- weight weight2 foreign)
    
    Endogenous variables
    
    Observed:  mpg
    
    Exogenous variables
    
    Observed:  weight weight2 foreign
    
    Fitting target model:
    
    Iteration 0:   log likelihood = -1909.8206  
    Iteration 1:   log likelihood = -1909.8206  
    
    Structural equation model                       Number of obs      =        74
    Estimation method  = ml
    Log likelihood     = -1909.8206
    
    ------------------------------------------------------------------------------
                 |                 OIM
                 |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
    -------------+----------------------------------------------------------------
    Structural   |
      mpg <-     |
          weight |  -.0165729   .0038604    -4.29   0.000    -.0241392   -.0090067
         weight2 |   1.59e-06   6.08e-07     2.62   0.009     4.00e-07    2.78e-06
         foreign |    -2.2035    1.03022    -2.14   0.032    -4.222695   -.1843056
           _cons |   56.53884   6.027559     9.38   0.000     44.72504    68.35264
    -------------+----------------------------------------------------------------
       var(e.mpg)|   10.19332   1.675772                      7.385485    14.06865
    ------------------------------------------------------------------------------
    Note: The LR test of model vs. saturated is not reported because the fitted
          model is not full rank.
    which is different from the result reported in [SEM] (example 6). Of course, in this example the model matrix is poorly conditioned; Stata handles it fine for the purposes of computing estimates and standard errors, but I am guessing that when it checks the rank of e(V) prior to performing the LR test, it comes up rank deficient. This can be fixed in this example by simply rescaling weight (i.e., subtracting the mean before computing the quadratic term). Whether it would actually make sense to change the tolerance used to evaluate the rank of e(V) in this situation, I'm not sure (haven't thought about it).

    In sum, without knowing anything more about your particular dataset and model, my guess would be that this message may be due to your model matrix being poorly conditioned, but if your estimates are ok, then you may not need to do anything unless you need the result of the LR test, in which case you can probably modify one or more covariates to address the problem.

    Comment


    • #3
      Thanks for the helpful thoughts, Phil. They pointed me in the right direction, which was a scaling problem for one of my variables. I do find it strange, however, that Stata computes degrees of freedom for the model numerically based on the rank of the e(V) matrix. Why not just do it analytically? I also think that the Stata "Note" could be more informative in this situation.

      Comment

      Working...
      X