This course gives an introduction to time series analysis using time domain methods and frequency domain methods. The goal is to acquire the theoretical and computational skills required to investigate data collected as a time series. The first half of the course will develop classical time series methodology, including auto-regressive moving average (ARMA) models, regression with ARMA errors, and estimation of the spectral density. The second half of the course will focus on state space model techniques for fitting structured dynamic models to time series data. We will progress from fitting linear, Gaussian dynamic models to fitting nonlinear models for which Monte Carlo methods are required. Examples will be drawn from ecology, economics, epidemiology, finance and elsewhere.
The course outline, course information and grading policies are described in the syllabus.
Stationarity, white noise, and some basic time series models
Parameter estimation and model identification for ARMA models
Extending the ARMA model: Seasonality, integration and trend
Introduction to time series analysis in the frequency domain
Case study: An association between unemployment and mortality?
Introduction to simulation-based inference for epidemiological dynamics via the pomp R package
A case study of polio including covariates, seasonality & over-dispersion
A case study of financial volatility and a POMP model with observations driving latent dynamics. With notes on how to run the code on the Great Lakes Linux cluster.
A case study of measles: Dynamics revealed in long time series
Please read the grading rubric before submitting homework.
Homework 0. Setting up your computational environment. Nothing to submit.
Homework 1, due Sun Jan 21, 11:59pm. Solution.
Participation 1, due Sun Jan 21, 11:59pm.
Homework 2, due Tue Jan 30, 11:59pm. Solution.
Participation 2, due Tue Jan 30, 11:59pm.
Homework 3, due Sun Feb 11, 11:59pm. Solution.
Participation 3, due Sun Feb 11, 11:59pm.
Homework 4, due Sun Feb 18, 11:59pm. Solution.
Participation 4, due Sun Feb 18, 11:59pm.
Homework 5, due Sun Mar 17, 11:59pm. Solution.
Participation 5, due Sun Mar 17, 11:59pm.
Homework 6, due Sun Mar 24, 11:59pm. Solution.
Participation 6, due Sun Mar 24, 11:59pm.
Homework 7, due Sun Mar 31, 11:59pm. Extended to Wed Apr 3. Solution.
Participation 7, due Sun Mar 31, 11:59pm. Extended to Wed Apr 3.
Homework 8, due Sun Apr 14, 11:59pm. Solution.
Participation 8, due Sun Apr 14, 11:59pm.
You are welcome to browse previous midterm projects. The 2022 midterm projects and 2021 midterm projects have a posted summary of peer review comments. Earlier projects are also available, from 2016, 2018 and 2020.
You’re welcome to browse previous final projects. The 2021 and 2022 final projects have a posted summary of peer review comments. Earlier projects from 2016, 2018, 2020 may also be useful.
If building on old source code, note that there are some differences between versions of the software package pomp. The pomp version 2 upgrade guide can be helpful. There are various smaller changes between pomp 2.0 and the current pomp 5.6.
Great Lakes access will be set up after the midterm project and used for the second half of the course.
Introductory notes for using our class account on the greatlakes cluster. This is optional but may be helpful for your final project.
If you are already familiar with using R on Great Lakes, all you
need to know is the class account:
stats531w24_class
.
You are expected to use our class account only for computations related to DATASCI/STATS 531.
Please share knowledge about cluster computing between group members, and/or on piazza, to help everyone who wants to learn these skills.
Cluster-related questions can also be emailed to arc-support@umich.edu.
This course and the code involved are made available with an MIT license. Some components follow a Creative Commons Attribution non-commercial license. A longer list of acknowledgments is available.