I do not have sufficient reputation to comment on a question, so I hope this post is acceptable.

Regarding the accepted answer to this question:

How to do Simple Confirmatory Factory Analysis/SEM in R?

Let's say we have a simple SEM that would normally be analyzed via MANOVA:

$$ y_{1} \sim a + b \\ y_{2} \sim a + b $$

where $y_{i} \sim \mathcal{N}(0, \sigma^{2})$. However, heteroscedasticity is present in both models, so MANOVA may not be appropriate. Would a likelihood ratio test between this SEM and the SEM orthogonal to it be an acceptable substitute to MANOVA?

UPDATE: Example data and analysis with multivariate $p$-value (thank you, @JeremyMiles!)


offspring <- url("https://drive.google.com/uc?export=download&id=1yXXlcHUZSMZ3QGtxnmuqvrFy6g0o2QeN")



# You should now have a data frame called "OM.full"
# Two "treatment" levels: cues, nocues
# Two response variables: dispersed, total.weight

# Scale response variables to z-scores

OM.full$clutch.size <- scale(OM.full$dispersed)
OM.full$clutch.weight <- scale(OM.full$total.weight)

# Desaturate the model to obtain a multivariate p-value
OM.sem <- "clutch.size ~ 0 * treatment
          clutch.weight ~ 0 * treatment"

fit <- sem(OM.sem,
           estimator = "MLMVS",
           data = OM.full)


lavaan 0.6-7 ended normally after 16 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of free parameters                          3
  Number of observations                           128
Model Test User Model:
                                              Standard      Robust
  Test Statistic                                 2.085       1.984
  Degrees of freedom                                 2       1.993
  P-value (Chi-square)                           0.352       0.369
  Scaling correction factor                                  1.051
       mean and variance adjusted correction                      

Parameter Estimates:

  Standard errors                           Robust.sem
  Information                                 Expected
  Information saturated (h1) model          Structured

                   Estimate  Std.Err  z-value  P(>|z|)
  clutch.size ~                                       
    treatment         0.000                           
  clutch.weight ~                                     
    treatment         0.000                           

                   Estimate  Std.Err  z-value  P(>|z|)
 .clutch.size ~~                                      
   .clutch.weight     0.848    0.091    9.293    0.000

                   Estimate  Std.Err  z-value  P(>|z|)
   .clutch.size       0.992    0.099   10.006    0.000
   .clutch.weight     0.992    0.097   10.180    0.000

Yes, if I have understood correctly, use of SEM can relax the homoscedasticity assumption - using a robust estimator (e.g. Satorra-Bentler) does not make the homoscedasticity assumption (it's a sandwich estimator). (But I'm not sure what you mean by "this SEM and the SEM orthogonal to it").

  • $\begingroup$ Thank you, @JeremyMiles. I was referring to the accepted answer to the question in the link above. @dmartin set up a likelihood ratio test via anova() in R. I was wondering if his procedure would produce the SEM equivalent of a parametric MANOVA, i.e. test of significance with corresponding $p$-values. $\endgroup$ – Tavaro Evanis Nov 25 '20 at 0:26
  • $\begingroup$ You ge that without the anova test (but you need to allow the residuals of y1 and y2 to correlate). Quite some time ago, I wrote about the equivalence of SEM and Manova (in terms of power, but it works for this). $\endgroup$ – Jeremy Miles Nov 25 '20 at 0:39
  • $\begingroup$ Orthogonal in the previous answer refers to the correlations of the latent variables - you don't have any latent variables. $\endgroup$ – Jeremy Miles Nov 25 '20 at 0:39
  • $\begingroup$ I believe your post on MANOVA is here: stats.stackexchange.com/questions/331848/…. However, I get almost the same p-values from SEM as I do with independent ANOVAs. How do I obtain a single p-value? $\endgroup$ – Tavaro Evanis Nov 25 '20 at 1:58
  • $\begingroup$ It's easiest to explain if you post some code. $\endgroup$ – Jeremy Miles Nov 25 '20 at 18:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.