Skip to content

Time Series Forecasting

Giacomo Saccaggi edited this page Jun 19, 2026 · 1 revision

Time Series Forecasting

Methods

Method Best for Seasonal
arima Trend + noise No
sarima Trend + seasonality Yes
exp_smoothing Seasonal patterns Yes
auto Let scomp-link decide Auto-detect

Python API

from scomp_link import TimeSeriesForecaster

fc = TimeSeriesForecaster(method='auto', horizon=30, seasonal_period=12)
fc.fit(series)

# Point forecast
forecast = fc.predict()

# With confidence intervals
ci = fc.predict_with_ci(alpha=0.05)
# DataFrame: forecast, lower, upper

# Walk-forward cross-validation
cv = fc.walk_forward_cv(series, n_splits=5, horizon=12)
print(f"MAE: {cv['mean_mae']:.2f}, RMSE: {cv['mean_rmse']:.2f}")

# Plot
fig = fc.plot_forecast(ci=ci)

CLI

scomp-link forecast --data monthly_sales.csv --column revenue \
  --horizon 12 --method auto --cv-splits 5 --output forecast.csv

Auto Method Selection

When method='auto', the forecaster:

  1. Detects seasonality via autocorrelation (ACF peak detection)
  2. If seasonal period > 1 and enough data → sarima
  3. If seasonal but short series → exp_smoothing
  4. Otherwise → arima with auto-order selection (AIC grid search)

Clone this wiki locally