Time Series Forecaster
Time Series Analysis
shiny
forecasting
arima
ets
prophet
Upload a time series, choose a model, and compare forecasts from ETS, ARIMA, and Prophet side by side
Purpose
Forecasting is as much about model comparison as about any single model. The Time Series Forecaster lets a reader upload a series (or pick a built-in one), split it into training and test windows, fit several model families to the training data, and inspect forecasts and accuracy metrics on the test window.
User inputs
- Dataset (built-in monthly/quarterly/daily examples, or a user-uploaded time-indexed CSV)
- Train/test split point, chosen by a draggable vertical line on the series plot
- Models to fit (ETS, auto-ARIMA, manual SARIMA with order selectors, Prophet, naive, seasonal-naive)
- Forecast horizon in time units of the series
- Transformation toggles: Box-Cox, differencing
Outputs
- Series plot with training and test regions shaded differently and forecasts overlaid
- Diagnostic panel: ACF/PACF of residuals, Ljung-Box test, normality plot
- Accuracy table: MAE, RMSE, MAPE, MASE across all fitted models on the test window
- A “forecast details” sidebar for the currently selected model with point forecasts and 80/95 PIs
Didactic value
Seeing a Prophet fit ride a seasonal swing while an ARIMA ignores it (or vice versa) communicates the inductive biases of each family. Watching the 95% PIs fan out over the forecast horizon reinforces that uncertainty grows with lead time – a property many students forget when interpreting a point forecast.
Embedded in
time-series/arima-models.mdtime-series/seasonal-decomposition.mdtime-series/forecast-evaluation.md
Source code
Local: apps/09-time-series-forecaster/
Run with:
shiny::runApp("apps/09-time-series-forecaster")