Skip to content

Repository files navigation

Austrian daily electricity load forecast

This project presents a time series analysis and forecast of the daily electricity load in Austria. The analysis identifies historical patterns, seasonality, and trends to develop predictive models.

Project overview

Electricity load forecasting is required for energy management, grid stability, and strategic planning. This project uses statistical modeling to predict electricity demand based on historical data.

Methodology

The forecasting framework consists of several stages to model the electricity demand:

1. Data preprocessing and feature engineering

Raw consumption data is resampled to a daily frequency. The following features were developed to account for deterministic components:

  • Trend modeling: Linear and quadratic time indices were integrated. The quadratic term captures non-linear long-term demand trends.
  • Calendar effects: Binary dummy variables for months (1-12) and days of the week (1-7). The first category for each set was omitted to avoid perfect multicollinearity in the OLS normal equations.
  • Holiday logic: Classification of public holidays and bridge days (e.g., December 24 and 31). These are modeled separately to account for partial industrial and commercial shutdowns in the Austrian energy market.

2. Deterministic decomposition (OLS)

Ordinary Least Squares (OLS) regression extracts non-stationary components. Removing the deterministic trend and seasonal cycles results in a mean-stationary residual series $Y_t$. Stationarity is confirmed with the Augmented Dickey-Fuller (ADF) test.

3. Stochastic modeling (ARMA)

The residual series $Y_t$ is modeled using an ARMA(7,6) process.

  • Selection: Model order was determined using an AICC (Corrected Akaike Information Criterion) grid search.
  • Specification: An AR order of 7 captures the weekly periodicity in the residuals. An MA order of 6 accounts for short-term shocks.
  • Validation: The model is stationary and invertible.

4. Diagnostic verification

The residuals of the ARMA(7,6) process were evaluated using:

  • Ljung-Box Q-test: Unadjusted p-values are reported. In models combining deterministic regression with ARMA errors, adjusting degrees of freedom is ambiguous; the unadjusted test provides a conservative estimate of autocorrelation.
  • ACF and PACF analysis: Evaluation of autocorrelation in the residual series.
  • Normality testing: Assessment of residuals to confirm they are Gaussian for confidence interval derivation.

5. Forecasting and uncertainty quantification

Out-of-sample forecasts are generated using the Best Linear Predictor (BLP).

  • Point forecasts: Derived by combining the deterministic OLS projection and the stochastic ARMA prediction.
  • Confidence intervals: Forecast variance was calculated using $\psi$-weights from the MA($\infty$) representation, providing confidence bands over the 22-day horizon.

Key results

The OLS-ARMA approach models the daily electricity load and provides predictions with defined confidence intervals. The mathematical derivations and coefficient tables support the modeling framework.

Technologies used

  • Language: Python
  • Data processing: pandas, numpy
  • Visualization: matplotlib, seaborn
  • Statistical modeling: statsmodels (OLS, ARMA, hypothesis testing)
  • Metrics and diagnostics: Residual analysis and diagnostic tests

Repository structure

  • Austrian-Electricity-Load-Forecast.ipynb: Jupyter Notebook containing the analysis, methodology, and forecasting pipeline.

Getting started

  1. Clone the repository.
  2. Install dependencies via requirements.txt.
  3. Execute Austrian-Electricity-Load-Forecast.ipynb to reproduce the analysis.

About

Classical ARMA analysis and 31-day forecasting of Austrian electricity load

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages