The general schedule for the course is below. For code, please see this dropbox for a static view. During the course itself, we’ll give you share access so that you can update files as things change. Please run this script in R to install the packages you will need for the course before day 1.

For the course, we’ll also use a number of common data sets which you can download (and put into a data folder) here.

Lecture recordings are available on this unlisted youtube playlist.

Day 1. Introduction to SEM

Overview: We discuss just what is SEM. Along the way we’ll discuss it’s origins, give a general example of moving from a traditional ANOVA-esque framework and to observational data, and finally discuss how to build a well-justified causal model. Causality will be central, and we won’t pull any punches! We’ll end the day by starting to talk about how to fit SEMs using likelihood using covariance-based estimation with likelihood.
Lectures:
What is SEM? A Practical and Historical Overview
Anatomy of SEM
Building Multivariate Causal Models, code
Model Building

Jon causality - alternate explanation

Readings:
Arif and MacNeil 2022 (causal models), Whalen et al. 2013 (example), Lefcheck & Duffy 2015 (example), Lefcheck Model Justification (example)

Optional Reading: Matsueda 2012 (history), Pearl 2012a (history of causality), Grace and Irvine 2019 (building causal models for SEM), Grace 2010 (overview), Bellemare et al. 2022 The Paper of How

Etherpad: http://etherpad.wikimedia.org/p/sem-eeb-intro-2023

Jamboards: Jamboard

Day 2. Piecewise SEM

Overview: We move beyond covariance based techniques into local estimation techniques that unite the graph theoretic approach with SEM via the piecewiseSEM package.

Lectures:
Path Coefficients
Breaking down path diagrams
Local estimation: an introduction, code

Readings: piecewiseSEM vignette, Shipley 2009, Shipley 2013, Lefcheck 2016, Shipley and Douma 2020
Book Chapter: https://jslefche.github.io/sem_book/local-estimation.html
Etherpad: http://etherpad.wikimedia.org/p/sem-eeb-piecewise-2023
Code: Riseup Pad


Day 3. Covariance Based SEM

Overview: We’ll discuss covariance-based estimation, how we evaluate an SEM and what we report. We’ll end the day (if we have time) exploring the concept of latent variables - variables for which we do not actually have a measured variable, but for which we have one or more indicators.
Lectures: Engines of SEM: Covariance-Based Estimation, code
            What does it mean to evaluate a multivariate hypothesis?, code, fitted_lavaan.R
            Latent Variable models, code
Readings: Grace and Bollen 2005
Book Chapter: https://jslefche.github.io/sem_book/global-estimation.html
Etherpad: http://etherpad.wikimedia.org/p/sem-eeb-covariance-2023
Jamboards: Scratch Jamboard
Code: Riseup Pad


Day 4. Special Topics in SEM

Overview: This day varies quite a bit, depending on the current class. It’s a potpurri of more advances topics, not all of which will be covered.
Lectures: Categorical Variables in SEM, data, code
            Standardized Coefficients; data, code
            Extensions to local estimation, data, code
            Multigroup Modelling; code
Readings: Bowen et al. 2017, causal model structure and random effects
Etherpad: http://etherpad.wikimedia.org/p/sem-eeb-advanced-2023
Code: Riseup Pad: Latent Variables
            Riseup Pad: Piecewise


Day 5. Open Lab and Presentations

Overview: In the morning, we’ll have an open lab. Students will work on their own data and projects with an aim to building a 2-3 slide powerpoint presentation detailing 1. The problem/system, 2. The model they built, and 3. The Final result and any challenges. We’ll present these in the afternoon, hopefully in a convivial atmosphere, after a brief primer on warming up for a talk you are nervous about!
Lectures: How to reject a paper that uses SEM
Etherpad: http://etherpad.wikimedia.org/p/sem-eeb-lab-2023