An Echo State Network library for single and multi-frequency ESN (MFESN) forecasting.
Currently we implement:
- ESN (single reservoir, single frequency):
ESNclass- Ridge CV and fitting, with direct and iterated multistep fit methods
- Simple forecasting, with direct and iterated multistep forecasting methods
- MFESN (multiple reservoirs, multi-frequency):
MFESNclass- Ridge CV and fitting, with high-frequency (nowcasting) fit methods
- Simple MF forecasting, with high-frequency nowcasting and forecasting methods
- Reservoir matrix generations utility
IMPORTATN NOTICE: as of 07/2024, LibESN is being consistently refactored to improve peformance, code readibility and functionality. See below for breaking changes!
You can read the full documentation here!
(The documentation is automatically built from the latest main commit using pdoc)
- 09/07/2024 - First commit of
v0.2refactoring. The following are breaking changes:- Library name is now
libesn, notLibESN, to better conform to Python conventions base_datetimesubmodule has been changed todatetimebase_utilssubmodule has been split:- Data utility functions are now in the
datautilssubmodule ShiftTimeSeriesSplitcross-validation class is now in thevalidationsubmodule
- Data utility functions are now in the
base_functionssubmodule has been changed toufuncsmatrix_generatorsubmodule has been changed tomatgenmatrixGenerator()has been signifcantly changed. In particular,distdoest not acceptsparse_options - thesparsityoptional argument automatically handles sparseness of entry-wise distributions (see docs)
- Documentation pages are officially available, but very early stage
- Library name is now
LibESN is based on the Python codebased originally developed for the paper "Reservoir Computing for Macroeconomic Forecasting with Mixed Frequency Data" (UKRI funded project, Ref: ES/V006347/1), available at the following links:
-
International Journal of Forecasting (Open Access)