Statistical Forecasting Methods
Introduction
Statistical forecasting methods use historical data patterns and statistical techniques to predict future values. These methods range from simple averaging approaches to more sophisticated time series models. Statistical methods strike a balance between computational simplicity and forecasting accuracy, making them widely used in energy management systems.
In the spectrum of forecasting complexity, statistical methods occupy the middle ground between naive approaches and complex machine learning models. They can capture temporal patterns and seasonality while remaining computationally efficient and interpretable.
ARIMA
The AutoRegressive Integrated Moving Average (ARIMA) model is a generalization of the ARMA model that incorporates differencing to handle non-stationary data. ARIMA models are versatile and can capture a wide range of time series patterns.
Available for
The ARIMA method is available for most components in HAMLET:
Inflexible Load | Heat Demand | DHW
Mathematical Formulation
where:
\(\phi_p(B)\) is the AR operator of order p
\(\theta_q(B)\) is the MA operator of order q
\((1 - B)^d\) is the differencing operator of order d
\(\varepsilon_t\) is white noise
Configuration
ARIMA forecasting methods can be configured in the agent configuration file:
inflexible-load:
fcast:
method: arima # Options: perfect, naive, average, smoothed, sarma, rfr, cnn, rnn, arima
arima:
order: [1, 0, 0] # order (p,d,q) of the model
days: 3 # past days that are used to train the arima model
SARMA
The Seasonal AutoRegressive Moving Average (SARMA) model is a sophisticated time series forecasting method that captures both autoregressive patterns and moving average effects, along with seasonal components. This method is particularly effective for data with complex temporal patterns and multiple seasonality.
Available for
The SARMA method is available for most components in HAMLET:
Inflexible Load | Heat Demand | DHW
Mathematical Formulation
where:
\(\phi_p(B)\) is the non-seasonal AR operator of order p
\(\Phi_P(B^s)\) is the seasonal AR operator of order P
\(\theta_q(B)\) is the non-seasonal MA operator of order q
\(\Theta_Q(B^s)\) is the seasonal MA operator of order Q
\((1 - B)^d\) is the non-seasonal differencing operator of order d
\((1 - B^s)^D\) is the seasonal differencing operator of order D
\(s\) is the seasonal period
\(\varepsilon_t\) is white noise
Configuration
SARMA forecasting methods can be configured in the agent configuration file:
inflexible-load:
fcast:
method: sarma # Options: perfect, naive, average, smoothed, sarma, rfr, cnn, rnn, arima
sarma:
order: [2, 0, 2, 2, 0, 0, 96, 2, 0, 0, 672] # order of double seasonal arma model
Notes
Statistical forecasting methods in HAMLET have the following characteristics:
Data Requirements: These methods require historical data, with the amount varying by method: - Average: Requires data from multiple previous days - Smoothed: Requires future values (only applicable in simulation) - SARMA/ARIMA: Require sufficient historical data to estimate model parameters
Computational Considerations: - Average and Smoothed methods are computationally efficient - SARMA and ARIMA models require parameter estimation, which can be more computationally intensive - Model fitting is typically done periodically rather than at every timestep
Handling Seasonality: - Average methods implicitly capture daily seasonality by using data from previous days - SARMA explicitly models multiple seasonal patterns (e.g., daily and weekly) - ARIMA can capture seasonality through seasonal differencing or seasonal terms
Implementation Details: - For SARMA and ARIMA, HAMLET uses the statsmodels Python package - Models are retrained periodically based on the retraining parameter in the configuration - Forecasts are updated at intervals specified by the update parameter
Advantages and Limitations: - Statistical methods provide a good balance between simplicity and accuracy - They can capture temporal patterns and seasonality - They may struggle with non-linear relationships or external factors (e.g., weather) - They typically outperform naive methods but may be less accurate than machine learning approaches for complex patterns