Solar Energy Forecasting

Statistical and machine learning models for short-term photovoltaic production forecasting.

Overview

This applied forecasting project used hourly photovoltaic production and weather data to compare classical time-series models with supervised machine learning methods.

Approach

  • Integrated measured solar production with external weather data.
  • Compared ARIMA/ARMA, exponential smoothing, linear regression, random forest, support vector regression, and XGBoost.
  • Evaluated non-differenced and differenced target formulations.
  • Used chronological validation to preserve the temporal ordering of observations.

Result

The strongest non-differenced XGBoost configuration achieved an MAE of approximately 0.1618 in the project’s target scale. Differencing improved selected ARIMA/ARMA configurations, illustrating that target representation can materially change model behavior.

Engineering and statistical considerations

  • Weather predictors must be aligned to the correct forecast timestamp.
  • Random train/test splitting would leak future temporal information.
  • Forecast accuracy depends on season, weather regime, and forecast horizon.
  • Model comparisons are meaningful only when evaluated on the same time windows and scale.

Limitations

The data were collected from a specific photovoltaic installation and period, so performance should not be generalized to other sites without recalibration and external validation.

Tools: Python, R, pandas, scikit-learn, XGBoost, ARIMA/ETS, weather APIs, time-series validation