8
$\begingroup$

I've only recently encountered path analysis. Suppose I have a simple causal model like this:

enter image description here

I'm not sure if it's needed for this q., but for simplicity let's assume X, Y, Z are multivariate normal.

My usual approach to analysing the strength of the effects would be to regress Y on X, and then regress Z on X and Y. Does path analysis do something equivalent to this?

More generally, is path analysis just a way to run a series of regressions on a dag, or is it doing something fundamentally different?


One specific reason I ask is that I have seen a recommendation of a sample size of 200 for structural equation modelling (of which path analysis is a subset). But for linear regression the sample size depends on the number of parameters being estimated, typically with a 10:1 rule. If path analysis is equivalent to a series of regressions, it's hard to square those.

$\endgroup$
3
  • 6
    $\begingroup$ Don't treat those rules of thumb as strict rules - they are approximate guidelines. $\endgroup$ Commented Dec 19, 2023 at 19:32
  • $\begingroup$ @JeremyMiles What was worrying me was not the numerical discrepancy in the literal readings of the rules but the fact that they behave differently asymptotically... $\endgroup$
    – Mohan
    Commented Dec 20, 2023 at 18:06
  • 1
    $\begingroup$ Also, most of the rules of thumb are for global model fit and not for the testing of individual path coefficients $\endgroup$
    – Rick Hass
    Commented Dec 21, 2023 at 17:34

2 Answers 2

10
$\begingroup$

Your specific path model is saturated (just identified). Therefore, you get (very close to) the same results whether you run this model with a series of regressions or as a simultaneous path analytic model.

In the more general case where the path/mediation model is over-identified (non-saturated) due to certain direct paths being set to zero (implicitly or explicitly), regression analysis would no longer work to obtain the estimates and their standard errors. Path analysis for over-identified models also involves tests of model fit (chi-square) that allow you to test the implicit or explicit restrictions in a path model that make the model over-identified. Therefore, path analysis is fundamentally different because it allows you to analyze complex, over-identified models in a single step and to test the fit of the models against your observed data.

$\endgroup$
4
  • 3
    $\begingroup$ I think this answer and Jeremy's answer together do a good job of elucidating the major point of this question (+1). The model fit indices (and how they relate to sets of several simultaneous linear equations) were something I was considering discussing here in terms of their differences, but it seems you have covered that point already. Its interesting that SEMNET is currently exploding over this point (and has been for some time). $\endgroup$ Commented Dec 20, 2023 at 13:56
  • $\begingroup$ Could you give a simple example of an over-identified model, or a link to a discussion of one? E.g. if I add a node W and edges X->W, W->Z, would that be over-identified because the Y-W edge was missing? $\endgroup$
    – Mohan
    Commented Dec 20, 2023 at 18:02
  • 1
    $\begingroup$ Yes, or in your simple 3-variable model, the path model would be overidentified with 1 degree of freedom if you did not include/did not estimate the direct X --> Z path. Then, the model would have 1 degree of freedom for the test of whether the X --> Z regression slope (path) coefficient is equal to zero in the population. $\endgroup$ Commented Dec 20, 2023 at 18:22
  • $\begingroup$ If you have a saturated model but have binary variables in the mix, does the equivalence persist? I.e. does path analysis replicate logit regression (or probit)? $\endgroup$
    – Mohan
    Commented Dec 20, 2023 at 19:16
10
$\begingroup$

Why not try it and see?

library(dplyr)
library(lavaan)

set.seed(42)

n <- 30
d <- data.frame(x = rnorm(n))
d$y <- d$x + rnorm(n)
d$z <- d$x + d$y + rnorm(n)

lm(z ~ x + y, data = d) %>% summary()
lm(y ~ x, data = d) %>% summary()

m1 <- "
  y ~ x
  z ~ x + y
"
f1 <- lavaan::sem(m1, data = d)

parameterestimates(f1)

Regression 1:

            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   0.1721     0.1413   1.218    0.234    
x             1.0993     0.1617   6.797 2.67e-07 ***
y             0.7770     0.1388   5.600 6.12e-06

Regression 2:

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -0.1102     0.1913  -0.576    0.569    
x             0.8293     0.1548   5.358 1.04e-05 ***

Lavaan:

lhs op  rhs est         se          z           pvalue
y   ~   x   0.8293081   0.1495434   5.545601    2.929467e-08
z   ~   x   1.0993401   0.1534416   7.164549    7.804868e-13
z   ~   y   0.7769958   0.1316405   5.902406    3.582378e-09

Estimates are close to identical, standard errors are the same to 3rd decimal.

Sample size was 30. This tells you something interesting about statistical 'rules' of thumb.

$\endgroup$
3
  • 5
    $\begingroup$ (+1) The natural question that follows then is why do a path analysis at all if the coefficients are so dissimilar? I believe this answer can be enriched by adding some clarification on that point. $\endgroup$ Commented Dec 20, 2023 at 1:45
  • 3
    $\begingroup$ @ShawnHemelstrand Did you mean similar or dissimilar? $\endgroup$
    – Mohan
    Commented Dec 20, 2023 at 19:13
  • 1
    $\begingroup$ Sorry I meant similar! That should be clear from the output shown here. $\endgroup$ Commented Dec 20, 2023 at 23:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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