Welcome & course map

Structural Equation Modeling (SEM) • PhD Doctoral School

Tommaso Feraco

Today in the workflow

Welcome deck (today): logistics + course map + how we’ll work
Next deck (01): workflow + lavaan foundations (from Specify → Identify → Estimate → Evaluate → Revise/Report)

Who is this course for?

  • Psychology PhD students with solid R skills
  • You’ve run regressions/GLMs; you want to model constructs + relations with SEM
  • You’re willing to think in models (not just tests)

Why am I here?

I am convinced that SEM is a fundamental tool for research in psychology and most, if not all, researchers in this area should know it. Indeed, it is key for many aspects of your research:

  • Measurement
  • Multivariate analyses
  • Complex regression models
  • Longitudinal analyses
  • Understanding causality from a measurement perspective

What you’ll be able to do (by the end)

  • Translate a verbal theory into a diagram and a lavaan model
  • Evaluate global fit and local misfit (and respecify responsibly)
  • Fit and report:
    • path models / mediation
    • CFA and SEM (measurement + structure)
    • invariance (MG-CFA), ordinal SEM, longitudinal and clustered strategies
  • Produce reproducible reports (Quarto + a reporting checklist)

Course contents

We will (hopefully) cover:

  1. lavaan workflow + foundations
  2. Path analysis & mediation (equivalence and interpretation)
  3. Model fit & diagnostics (global vs local; disciplined respecification)
  4. CFA (measurement first; reliability/validity)
  5. Full SEM (measurement + structural part; capstone)
  6. Measurement invariance (MG-CFA; partial invariance)
  7. Ordinal SEM (thresholds; WLSMV/ULS; ordinal invariance)
  8. Missing/robustness/reporting (FIML/MI; robust SE; write-up)
  9. Longitudinal SEM (growth + invariance over time)
  10. Clustered/multilevel strategies (robust SE; two-level CFA)

What we will not focus on (in live sessions)

  • EFA (we’ll mention it, but we are not doing an EFA course)
  • Bayesian SEM (optional extra)
  • Advanced/rare models (optional extras: latent interactions, SAM/MIIVs, etc.)

If you need something specific for your project, let me know: I’ll try to fit it into the right module.

Format: 5 mornings × 4 hours

Each morning is split into two 2-hour blocks including:

  • theoretical and practical concepts
  • live coding
  • lab and excercises
  • optional extra topics
  • discussion

The repository is the course

SEM-phd-course is a Quarto website + source files:

  • /slides/ revealjs decks (what you see in class)
  • /labs/ hands-on labs (what you do)
  • /extras/ self-study (or extra) modules
  • /R/ helper functions (fit, plots, reporting)

How to use materials during class

  1. Keep the slides open (concepts + code snippets)
  2. Work in the lab file in parallel (copy/adapt code)
  3. When stuck:
    • identify where you are in the workflow (Specify / Identify / Estimate / Evaluate / Revise-Report)
    • bring the smallest reproducible example
    • talk

Software checklist (do this before we start)

  • R (recent), RStudio
  • Quarto
  • Packages (minimum):
    • lavaan, semTools, semPlot, tidyverse, quarto
  • Optional but useful:
    • psych, MASS, MVN, modsem
pkgs <- c("lavaan","semTools","semPlot","tidyverse")
to_install <- pkgs[!pkgs %in% rownames(installed.packages())]
if(length(to_install)) install.packages(to_install)

Take-home: 3 things

  1. SEM is not just a model, but also a mindset
  2. SEM is both theory and stat
  3. SEM is both measurement and structure, tests
  • The repo is your long-term reference (slides, labs, extras, helpers)

Next

Next deck (01): SEM foundations + workflow + lavaan basics
→ we start coding immediately.

Open the repo, run the package check, and make sure Quarto renders.

SEM course website