Overview
Most machine learning courses treat time series as an afterthought, a dataset you plug into a model built for something else. This course starts from the opposite premise: a time series is a fundamentally different problem, one where the order of observations carries the signal, and that requires its own tools rather than borrowed ones.
It is deliberately code-first. Nine Jupyter notebooks, run against real finance, energy and industrial data, with no accompanying slide deck. The argument is made in working code and the evaluation it produces, not in a talk about the code.
What it covers
The notebooks build in four phases. Foundations covers naive baselines, transformations and decomposition, the material that determines whether anything more sophisticated is even warranted. Classical models works through exponential smoothing and the ARIMA family, including the Box–Jenkins methodology and seasonal SARIMA. Evaluation is treated as a subject in its own right: metrics, validation strategies that respect time order, and honest model comparison. Advanced topics closes with ensemble methods and shapelet-based time series classification.
Who it’s for
Practitioners who already know some machine learning and want the time series specifics without theoretical padding: stationarity and autocorrelation explained because they change what you should do next, not as material to memorise for its own sake.
Built with
Python (3.9–3.13), statsmodels, sktime, pmdarima and skforecast, run through Jupyter notebooks.