EchoStateNetwork
Echo state networks / reservoir computing in pure numpy. One class,
EchoStateNetwork: ridge-regression training with chaotic recycle validation
(contiguous runs or ragged dwell segments), parametric inputs, optional Bayesian
hyperparameter search (scikit-optimize), closed-loop prediction, and Jacobians
for data assimilation.
This is the single shared reservoir core behind
qlrom (quantized-local ESN families) and
romda (real-time ESN forecasting and
bias-aware data assimilation).
Documentation: https://andreanovoa.github.io/EchoStateNetwork/
Tutorials
tutorials/01_echo_state_network.ipynb— train an ESN on the Lorenz 63 system, with full and partial observability.tutorials/02_parametric_esn.ipynb— one reservoir conditioned on a physical parameter, forecasting at unseen parameter values.
Install
pip install echostatenetwork # core (numpy/scipy/matplotlib)
pip install "echostatenetwork[opt]" # + scikit-optimize for Bayesian hyperparameter search
pip install -e ".[dev]" # development
Quickstart
import numpy as np
from echostatenetwork import EchoStateNetwork
y = my_time_series # (Nt, N_dim)
esn = EchoStateNetwork(y, dt=0.01, N_units=200, t_train=40.0, t_val=4.0)
esn.train([y])
u_wash, r = ... # see docstrings: washout then closed loop
Acknowledgements
This repository is based on alberacca/Echo-State-Networks, the reference implementation of the recycle-validation ESN:
Racca, A., & Magri, L. (2021). Robust optimization and validation of echo state networks for learning chaotic dynamics. Neural Networks, 142, 252-268. doi:10.1016/j.neunet.2021.05.004
Metadata
Release files for echostatenetwork 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| echostatenetwork-0.1.3.tar.gz | 46.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| echostatenetwork-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 85.0 kB
Release files / echostatenetwork-0.1.3.tar.gz
| Download URL | echostatenetwork-0.1.3.tar.gz |
|---|---|
| Size | 46.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
788510ee7682c4b10edbed3ad1d3f2072dd16680be5c4d017a47738da006449a
|
|
BLAKE2b-256 checksum How to use checksums |
28445bd33bd47f88f47840d3b2ed9d386bbcde7a90139f2723664c783be62c8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / echostatenetwork-0.1.3-py3-none-any.whl
| Download URL | echostatenetwork-0.1.3-py3-none-any.whl |
|---|---|
| Size | 38.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44bcb79c01e98b7aebd80134b9aea2943f7149681db87ec3e51e347550af2ad9
|
|
BLAKE2b-256 checksum How to use checksums |
b81f3907d4ff8546f731da553f12f7d9aa550cbaa384d158bec05f09b0309c5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log