đź“– View this course online
Course Overview
A streamlined self-study course bridging epidemiological modeling and modern transformer architectures for time series forecasting.
Meeting Time: Wednesdays 1:05-2:00 PM
Duration: July 2 - September 3, 2025
Course Schedule
- Week 1 (July 2): Epidemiological Foundations
- Week 2 (July 9): Time Series Fundamentals
- Week 3 (July 16): Understanding Transformers
- Week 4 (July 23): Decoder-Only Transformers (GPT-style)
- Week 5 (July 30): Transformers Meet Time Series
- Week 6 (August 6): Chronos Foundation Model
- Week 7 (August 13): Beyond Numbers - Text and Time Series
- Week 8 (August 20): Spatial Patterns
- Week 9 (August 27): Synthetic Data Strategies
- Week 10 (September 3): Fine-tuning & Course Wrap-up
- First 30 minutes: Discussion of the week’s reading and concepts
- Next 20 minutes: Share mini-project progress and challenges
- Final 10 minutes: Preview of next week’s topic
- Optional: Stay after for informal collaboration
Before the First Meeting
Please complete by July 2:
- Set up Python environment (see Tools & Setup section)
- Create a GitHub repository for your course work
- Download at least one dataset from Project Tycho
- Read Week 1’s paper
- Optional: Watch But what is a GPT? by 3Blue1Brown for intuition on decoder-only models
Week 1: Epidemiological Foundations
Wednesday, July 2, 2025 | 1:00 PM
Core Reading
- Mathematical Models in Infectious Disease Epidemiology - PMC7150075
- Focus on Sections 1-3 (SIR/SEIR models)
Mini-Project
Simple SEIR Simulator
- Implement basic SEIR model in Python
- Plot epidemic curves for 3 different Râ‚€ values
- Calculate peak timing and final attack rate
Resources
Week 2: Time Series Fundamentals
Wednesday, July 9, 2025 | 1:00 PM
Core Reading
- An Overview of Forecast Analysis with ARIMA Models during the COVID-19 Pandemic: Methodology and Case Study in Brazil - PMC10631421
Mini-Project
Flu Forecasting with ARIMA
- Download influenza data from Project Tycho
- Fit ARIMA model to one state’s data
- Make 4-week ahead forecasts
Resources
Wednesday, July 16, 2025 | 1:00 PM
Core Reading
Mini-Project
Attention Visualization
- Implement scaled dot-product attention in NumPy
- Create attention heatmap for a toy sequence
Wednesday, July 23, 2025 | 1:00 PM
Core Reading
- Decoder-Only Transformers: The Workhorse of Generative LLMs - Cameron Wolfe
Mini-Project
Autoregressive Generation for Time Series
- Understand causal masking vs. bidirectional attention
- Implement simple next-value prediction
- Compare GPT-style generation with encoder-decoder approach
- Explore why decoder-only works well for time series
Code Hint
# Causal masking example
import numpy as np
# Create a mask where future values are hidden
seq_len = 5
causal_mask = np.tril(np.ones((seq_len, seq_len)))
print(causal_mask) # Lower triangular matrix
Wednesday, July 30, 2025 | 1:00 PM
Core Reading
Mini-Project
First Transformer Forecast
- Use Hugging Face’s TimeSeriesTransformer
- Train on synthetic sine wave with trend
- Visualize predictions with confidence intervals
Code Start
from transformers import TimeSeriesTransformerForPrediction
Week 6: Chronos Foundation Model
Wednesday, August 6, 2025 | 1:00 PM
Core Reading
- Chronos: Learning the Language of Time Series - arXiv:2403.07815
- Focus on Sections 1-3 and 5
Mini-Project
Zero-Shot Disease Forecasting
- Install Chronos:
pip install chronos-forecasting
- Apply to COVID-19 data for one country
- Compare tiny vs. small model performance
Quick Start
from chronos import ChronosPipeline
pipeline = ChronosPipeline.from_pretrained("amazon/chronos-t5-tiny")
Week 7: Beyond Numbers - Text and Time Series
Wednesday, August 13, 2025 | 1:00 PM
Core Reading
Mini-Project
Text-Enhanced Forecasting with Decoder-Only Models
- Create text descriptions of epidemic phases (“rapid growth”, “plateau”, etc.)
- Use a pre-trained GPT-2 or similar decoder-only model
- Explore how PandemicLLM uses ordinal classification tokens
Week 8: Spatial Patterns
Wednesday, August 20, 2025 | 1:00 PM
Core Reading
Mini-Project
Multi-Region Forecasting
- Use 5 neighboring states/countries
- Create simple adjacency matrix
- Apply Chronos independently vs. with spatial features
Week 9: Synthetic Data Strategies
Wednesday, August 27, 2025 | 1:00 PM
Core Reading
Mini-Project
Generate Synthetic Outbreaks
- Create 10 synthetic epidemic curves
- Vary peak timing and height
- Train a model on synthetic, test on real data
Week 10: Fine-tuning Foundation Models
Wednesday, September 3, 2025 | 1:00 PM
Core Reading
Mini-Project
Disease-Specific Fine-Tuning
- Take pre-trained Chronos-tiny
- Fine-tune on one specific disease (e.g., measles)
- Compare zero-shot vs. fine-tuned on test data
Essential Libraries
pip install pandas numpy matplotlib
pip install statsmodels
pip install transformers
pip install chronos-forecasting
pip install torch # or tensorflow
Compute Resources
- Most projects can run on Google Colab free tier
- Chronos tiny/small models work on CPU
Weekly Time Commitment
- Reading: 1-3 hours
- Mini-project: 3-6 hours
- Meeting to Discuss: 1 hour
- Total: 5-10 hours per week
Success Tips
- Focus on understanding concepts over implementation details
- Start simple - you can always add complexity
- Document your learning journey
- Share your work (slack, GitHub, blog posts)
- Join communities (Hugging Face Forums)
- Pay special attention to Week 4 - decoder-only architectures are crucial for modern LLMs
By course end, you’ll have:
- Practical experience with transformer-based epidemic forecasting
- Deep understanding of decoder-only vs. encoder-decoder architectures
- A portfolio of 8+ small projects
- Foundation for further research or applications