Fall 2024 • Instructor: Kyle Butts
Monday, Wednesday 3:05 PM - 4:20 PM at Kimpell Hall 206A
Office Hours: Monday, Wednesday 11am -- 1pm at WCOB 408
This course will provide an introduction to forecasting methods. The class will teach you how to take a set of input variables and produce predictions of some outcome variable. We will survey a set of forecasting methods for your toolbox including: bivariate and multivariate regression; smoothing methods; time-series regression; and ARIMA methods. The class will teach these methods theoretically and also teach you to estimate these models in the R
programming language.
Though the class will also teach you fundamental principles of forecasting: goals of forecasting, fitting of models, evaluating model fit, and limitations of the models. By doing this, the class will equip you with the foundations to expand your toolbox over time.
Last, the course will try to highlight limitations of forecasting methods; trade-offs between forecasting methods (e.g. interpretability versus predictive accuracy); and help you understand what forecasting methods can not due (e.g. establish causality).
The class will pull materials from two textbooks that are freely available online. You may buy a print version, but it is not necessary for the course.
- Gareth, J., Daniela, W., Trevor, H., & Robert, T. (2013). "An introduction to statistical learning: with applications in R 2nd ed.". Spinger.
- Hyndman, R. J., & Athanasopoulos, G. (2018). "Forecasting: principles and practice 3rd ed.". OTexts.
I refer to the first as "ISLR" and the second as "FPP3".
In addition, we may have readings from different articles. These will be available in pdf form on Blackboard.
You will need to download two programs:
- Install R from https://cloud.r-project.org/.
- Install RStudio Desktop from https://posit.co/download/rstudio-desktop/
Mastering R
will take time and dedication, but it is a powerful and adaptable tool that is highly valued by many employers. Invest the necessary effort and time, and you will see the benefits.
Your first assignment will be to download the software and compile an .Rmd
file.
You will have a set of homework assignments in this course that correspond with topics. The questions will be a mix of free-response and coding problems. For full-credit, the code and the output of the code must be submitted. We will discuss how to do so in the class.
There will be two midterms and one final in this course. The final exam will be on Wednesday, December 11th from 3 to 5pm. Each will be worth 25% of your grade with assignments filling the remaining 25%. The breakdown is as follows:
Assignments | Percent of grade |
---|---|
Homework | 35% |
Midterm | 20% |
Midterm | 20% |
Final | 25% |
Readings:
- The Signal and the Noise Introduction
- https://www.youtube.com/watch?v=z4zhI9uLs4U
Readings:
- Review notes on Algebra
- Review notes on Probability
- Review notes on Statistics
Labs:
- Introduction to R
Readings:
- ISLR 2.1 intro, 2.1.1, 2.1.2, 2.1.3
- ISLR 2.2 intro, 2.2.1, 2.2.2
Readings:
- ISLR 3 intro, 3.1 intro, 3.1.1, 3.1.2, 3.1.3
- ISLR 3.3.1, 3.5
- ILSR 7 intro, 7.1, 7.2
Readings:
- ISLR 3.2 (no `Deciding on Important Variables'), 3.3
- ILSR 7 intro, 7.1, 7.2
Readings:
- Time-series regression predictors: FPP3 7.1, 7.2, 7.3, 7.4, 7.6, 7.7
Readings:
- Introduction to Forecasting: FPP3 1.7
- Autocorrelation: FPP3 2.8
- Smoothing Averages: FPP3 3.3, 8.1
- Time-series Decomposition: FPP3 3.4, 3.2
- Prophet Model: FPP3 12.2 and Introduction to Prophet
Note: The first time I taught this, I did smoothing methods first and then time-series. I think I am going to switch it next time. Time-series regression first; then smoothing methods; and end with Prophet
This is a tentative schedule. This is the first time I've taught this course, so take this with a heavy dose of skepticism. In particular, do not set up holidays a class before or after the midterm.
Week | Dates | Monday | Wednesday | Assignments |
---|---|---|---|---|
1 | 08/19 - 08/21 | Syllabus + Intro | Stats Review | R Lab 0, Sunday |
2 | 08/26 - 08/28 | Stats Review | Stats Review | |
3 | 09/02 - 09/04 | No Class | R Lab 1 – Introduction to R | R Lab 1, Sunday |
4 | 09/09 - 09/11 | Introduction to Forecasting | Introduction to Forecasting | |
5 | 09/16 - 09/18 | R Lab 2 – Working with data in R | Simple Linear Regression | R Lab 2, Sunday |
6 | 09/23 - 09/25 | Simple Linear Regression | Simple Linear Regression | |
7 | 09/30 - 10/02 | R Lab 3 – Regressions in R | Multiple Regression Analysis | R Lab 3, Sunday |
8 | 10/07 - 10/09 | Multiple Regression Analysis | Midterm | |
9 | 10/14 - 10/16 | No Class | R Lab 4 – Cross-sectional Data Analysis Project | |
10 | 10/21 - 10/23 | Business Communication Presentation | Time Series Smoothing Methods | R Lab 4, Sunday |
11 | 10/28 - 10/30 | Time Series Smoothing Methods | R Lab 5 – Intro to working with Dates in R | |
12 | 11/04 - 11/06 | Time Series Smoothing Methods | Regression with Time Series Data | R Lab 5, Sunday |
13 | 11/11 - 11/13 | Regression with Time Series Data | Regression with Time Series Data | |
14 | 11/18 - 11/20 | R Lab 6 – Time-series Regression in R | Midterm | R Lab 6, Sunday |
15 | 11/25 - 11/27 | R Lab 7 – Time-series Data Analysis Project | No Class | |
16 | 12/02 - 12/04 | R Lab 7 – Time-series Data Analysis Project | Review | R Lab 7, Sunday |
Final | 12/11 - 3 — 5pm | Final Exam |