The general schedule for the course is below. Please note, for readings the u/p is semclass for both. For code, please see this dropbox for a static view. During the course itself, I’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.

## 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 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
Readings: Grace 2010 (overview), Whalen et al. 2013 (example) (note: semclass/semclass for pdfs)
Optional Reading: Matsueda 2012 (history), Pearl 2012a (history of causality)

Day 2. Covariance Based SEM

Overview: We’ll pick up where we left off discussing covariance-based estimation. We’ll spend time discussing how we evaluate an SEM and what we report. We’ll end the day 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

Day 3. Piecewise SEM

Overview: We move beyond covariance based techniques into local estimation techniques that embrace the graph theoretic approach to SEM via the piecewiseSEM package by Jon Lefcheck.
Lectures: Engines of SEM: Local Estimation with piecewiseSEM, code
            A Nonlinear, Non-normal world, code
            Categorical Variables and Multigroup Analysis, code, multigroup_margins.R
            Mixed Models in SEM, code
Readings: piecewiseSEM vignette, Shipley 2009, Lefcheck 2016

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: Engines of SEM: Bayesian SEM, code
            Spatial Data in SEM, code, helper functions
            Timseries and Temporal Autocorrelation in SEM, code
            Composite Variables, code
            Whole-System Prediction with SEM
Readings: brms and SEM. causal model structure and random effects

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 fool yourself with SEM!