Solar forecasting explained · 22 October 2026 · Published article (MIMO) and manuscript, submission in progress (MIMO-MH) · open code and data
Forecasting every source of an island grid at once: MIMO-ELM
On an island grid, production must match consumption at every moment. The operator needs forecasts of every source and of the total, and they must add up. One model that predicts all of them together can be more coherent, and with an extreme learning machine it trains in seconds.
The question
Corsica's electricity comes from thermal plants, imports through the interconnections, hydropower, solar, wind and bioenergy. The sources are not independent: when solar rises at noon, thermal and imports adjust. Forecasting each source separately ignores these links and gives forecasts whose sum need not equal the forecast total.

Three ways to organise the models
- SISO: one model per source and per horizon, each reading only the history of its own source.
- MIMO (the published article): one model per horizon reads the last 48 hours of all sources, plus the hour of the day, and predicts all of them at once.
- MIMO-MH (the manuscript in submission): a single model predicts all sources for all horizons from 1 to 24 hours, followed by a reconciliation step that makes the forecasts add up.

Why an extreme learning machine
The hidden layer of an ELM is drawn at random and never trained; only the output weights are fitted, by least squares, in closed form. With several outputs the same hidden layer serves them all, so predicting seven sources costs almost the same as predicting one. Training takes seconds to minutes on a laptop CPU, which allows frequent retraining.
Worked example: making forecasts add up
For one hour, suppose the forecasts are 330 MW for the total, 150 for thermal, 90 for imports and 80 for solar, with error variances 36, 25, 49 and 100 MW². The components sum to 320, not 330. Weighted least-squares reconciliation finds the coherent forecasts closest to the original ones, trusting the more reliable forecasts more: thermal 151.2, imports 92.3, solar 84.8 and total 328.3 MW. The gap is closed; solar, the least reliable, moves most. Illustrative values; the formula and its use are in the repository.
Results of the published article
From its abstract: one hour ahead, solar and thermal production are forecast with nRMSE 0.179 and 0.051 and R² above 0.98; total demand stays reliable up to five hours ahead; wind and bioenergy remain hard; MIMO-ELM improves on persistence and on an LSTM tuned with a realistic budget, with small but stable gains over SISO. The MIMO-MH results will be reported with its article.
Code and data
One repository gathers the MATLAB code of the article (MIMO-ELM, SISO and LSTM comparisons), the Python pipeline of MIMO-MH with reconciliation (written by Yoan Jheelan), and the hourly EDF Corse data 2016–2022, released under the Licence Ouverte.
main % MATLAB: MIMO-ELM with the settings of the article
cd mimo_mh && python main.py % Python: SISO, MIMO, MIMO-MH, reconciliationMATLAB and Python code, dataRelated: ELM benchmark for PV
Authors and source
Published article: Cyril Voyant, Milan Despotovic, Luis Garcia-Gutierrez, Mohammed Asloune, Yves-Marie Saint-Drenan, Jean-Laurent Duchaud, Ghjuvan Antone Faggianelli, Elena Magliaro. Short-term forecasting of energy production and consumption using extreme learning machine: A comprehensive MIMO based ELM approach. Applied Energy 410 (2026) 127599.
Manuscript, submission in progress: Elena Magliaro, Cyril Voyant, Yoan Jheelan, Andrea Michiorri, Alan Julien, Yehia Eissa, Jamie Bright. Energy-consistent multi-input multi-output multi-horizon extreme learning machines with embedded reconciliation for multi-source power forecasting.
Data: EDF en Corse open data, Licence Ouverte. Cyril Voyant wrote this page; the methods belong to the full author teams.