Scales y*

230 views
Skip to first unread message

fay ta

unread,
Dec 6, 2020, 11:25:19 AM12/6/20
to lavaan
Hello, is there any reference for the "scales y*" section in the output of cfa when using parameterization="theta" and how is it calculated?
For parametrization="delta", I know it is set to 1 by default.

¿? ?¿

unread,
Dec 6, 2020, 11:51:05 AM12/6/20
to lavaan
AFAIK the Scales Y* correspond to the variance of the underlying latent response variable that is assumed to treat ordinal data. I do not find any documentation or reference about how to modify them though, so I also hop on this question. For example, when using the Millsap-Tein (2004) identification, I see that they are still all constrained to 1, whereas the definition (p.485) explicitly says that only one group should have the VarCov* Matrix set to identity.

fay ta

unread,
Dec 6, 2020, 12:29:01 PM12/6/20
to lavaan
I also thought that they correspond to the variance of the underlying variables at the beginning. But if this is true, then for a simple cfa model with two independent factors I expect them to be equal to loadings%*%t(loadings)+variances(which are set to 1), but I can see that they are not.

¿? ?¿

unread,
Dec 6, 2020, 12:40:35 PM12/6/20
to lavaan
Mind sharing your summary output and model definition?

fay ta

unread,
Dec 6, 2020, 12:50:58 PM12/6/20
to lavaan
Of course, my model has both continuous and categorical variables:

myModel <- " y1 =~ x1 + x2 + x3 + x4 + x5 + x6 +x7 + x8;
y2 =~ x2 + x3 + x4 + x5 + x6 +x7 + x8;
y1~~0*y2"

myFit <- cfa(myModel, data=myData, ordered=names(myData[,6:8]),estimator="DWLS",
             std.lv = TRUE,parameterization="theta")


and the output is:

> summary(myFit,standardized=F)
lavaan 0.6-7 ended normally after 78 iterations

  Estimator                                       DWLS
  Optimization method                           NLMINB
  Number of free parameters                         37
                                                      
  Number of observations                          1000
                                                      
Model Test User Model:
                                                      
  Test statistic                                 1.915
  Degrees of freedom                                13
  P-value (Chi-square)                           1.000

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model        Unstructured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)
  y1 =~                                               
    x1                1.259    0.147    8.595    0.000
    x2                0.921    0.155    5.925    0.000
    x3                1.810    0.203    8.902    0.000
    x4                1.558    0.167    9.307    0.000
    x5                1.063    0.158    6.736    0.000
    x6                1.614    0.221    7.305    0.000
    x7                0.888    0.108    8.198    0.000
    x8                2.062    0.344    6.002    0.000
  y2 =~                                               
    x2                1.481    0.118   12.531    0.000
    x3                1.189    0.286    4.157    0.000
    x4                0.706    0.272    2.591    0.010
    x5                1.204    0.155    7.786    0.000
    x6                1.356    0.252    5.379    0.000
    x7                0.631    0.137    4.610    0.000
    x8                1.986    0.426    4.663    0.000

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)
  y1 ~~                                               
    y2                0.000                           

Intercepts:
                   Estimate  Std.Err  z-value  P(>|z|)
   .x1                1.015    0.053   19.258    0.000
   .x2                1.460    0.064   22.954    0.000
   .x3                1.229    0.076   16.258    0.000
   .x4                1.049    0.063   16.709    0.000
   .x5                0.796    0.060   13.327    0.000
   .x6                0.000                           
   .x7                0.000                           
   .x8                0.000                           
    y1                0.000                           
    y2                0.000                           

Thresholds:
                   Estimate  Std.Err  z-value  P(>|z|)
    x6|t1            -0.187    0.093   -2.009    0.045
    x6|t2             0.459    0.097    4.742    0.000
    x6|t3             1.305    0.123   10.589    0.000
    x6|t4             1.939    0.153   12.679    0.000
    x7|t1            -0.182    0.059   -3.090    0.002
    x7|t2             0.378    0.060    6.321    0.000
    x7|t3             1.417    0.076   18.713    0.000
    x7|t4             1.965    0.092   21.393    0.000
    x8|t1            -0.396    0.129   -3.071    0.002
    x8|t2             0.282    0.125    2.257    0.024
    x8|t3             1.461    0.211    6.937    0.000
    x8|t4             2.152    0.282    7.633    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)
   .x1                1.142    0.387    2.951    0.003
   .x2                0.955    0.300    3.187    0.001
   .x3                0.982    0.307    3.199    0.001
   .x4                0.977    0.243    4.019    0.000
   .x5                0.981    0.209    4.693    0.000
   .x6                1.000                           
   .x7                1.000                           
   .x8                1.000                           
    y1                1.000                           
    y2                1.000                           

Scales y*:
                   Estimate  Std.Err  z-value  P(>|z|)
    x6                0.429                           
    x7                0.676                           
    x8                0.330                           


Terrence Jorgensen

unread,
Dec 6, 2020, 3:53:23 PM12/6/20
to lavaan
is there any reference for the "scales y*" section in the output of cfa when using parameterization="theta" and how is it calculated?

Regardless of the parameterization, the scaling factor is the reciprocal of the marginal SD of y*

 
For parametrization="delta", I know it is set to 1 by default.

And 1 / 1 == 1, so it is difficult to infer from the output in this convenient case.  But y* scaling factors could be fixed to any other value under the delta parameterization, or freely estimated given sufficient constraints on thresholds.  Delta parameterization just means the scaling factors are parameters, instead of merely implied by other model parameters.

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

fay ta

unread,
Dec 6, 2020, 4:42:13 PM12/6/20
to lavaan
That was very helpful.  Thank you very much!  

¿? ?¿

unread,
Dec 6, 2020, 7:04:26 PM12/6/20
to lavaan
Thanks for your reply, but I cannot seem to find any indication of which notation to use to refer to the y* scaling factors in the model definition, as to determine which ones to estimate or fix.

Terrence Jorgensen

unread,
Dec 9, 2020, 8:48:11 AM12/9/20
to lavaan
I cannot seem to find any indication of which notation to use to refer to the y* scaling factors in the model definition

The ~*~ operator, as discussed on the ?model.syntax help page.

¿? ?¿

unread,
Dec 14, 2020, 11:38:16 AM12/14/20
to lavaan
Thank you very much. Perhaps a reference to that help page in the Tutorial (particularly in the https://lavaan.ugent.be/tutorial/syntax1.html and  https://lavaan.ugent.be/tutorial/syntax2.html  pages) would be very helpful.
Reply all
Reply to author
Forward
0 new messages