aeon: a Python Toolkit for Learning from Time Series

Matthew MiddlehurstAli Ismail-FawazAntoine GuillaumeChristopher HolderDavid Guijo-RubioGuzal BulatovaLeonidas TsaprounisLukasz MentelMartin WalterPatrick Schäfer

article2024JMLR98 citations

Presents aeon, a unified, scikit-learn-compatible Python library that standardizes forecasting, classification, regression, and clustering algorithms for time series machine learning within a single, modular framework.

Listen

Time-ordered data is critical across business analytics and scientific research, yet the software ecosystem for time series machine learning has historically been fragmented across specialized, single-purpose packages. This fragmentation increases software development overhead, creates integration bottlenecks, and hinders reproducible benchmarking. The article introduces aeon (version 0.5.0), an open-source Python toolkit designed to unify all major time series learning tasks under a single, standardized framework.

The developers created aeon to provide a comprehensive, modular library that mirrors the widely adopted scikit-learn programming interface. The architecture encapsulates core learning tasks—such as time series forecasting, classification, clustering, and extrinsic regression—while minimizing external core dependencies. To ensure high execution performance, aeon uses just-in-time compilation via Numba for compute-intensive functions while leveraging optional dependencies for specialized deep learning and statistical backends. In addition to standard single-series inputs, the library accommodates complex input types, including multivariate and unequal-length time series, using automated internal conversions.

The primary findings and technical capabilities detailed in the article highlight the library's breadth and integration value. First, aeon incorporates a broad taxonomy of state-of-the-art classification methods, including convolution-based, deep learning, dictionary-based, distance-based, interval-based, and shapelet-based models. Second, the framework supports emerging learning tasks such as extrinsic regression and flexible clustering paired with over ten elastic distance measures and averaging techniques. Third, aeon offers specialized transformation pipelines that handle series-to-series restructuring and feature extraction, while maintaining experimental modules for segmentation, anomaly detection, and similarity search. Fourth, the architecture allows seamless interoperability with standard model selection and pipelining utilities.

For technology leaders and data science teams, aeon significantly reduces tooling complexity and accelerates the deployment of time series algorithms. Adopting a unified library mitigates dependency risks, reduces technical debt, and improves benchmarking reliability across analytical projects. The toolkit is released under a permissive BSD 3-Clause license, supported by the Engineering and Physical Sciences Research Council (EPSRC), and affiliated with the NumFOCUS open-source organization.

Organizations evaluating time series workflows should consider adopting aeon for classification, clustering, and regression tasks where standardized workflows and performance are paramount. However, decision-makers should note that the forecasting module is undergoing significant structural revision, and modules such as anomaly detection and segmentation remain experimental. For production forecasting and experimental modules, technical teams should monitor future releases and conduct targeted pilot tests before wide-scale operational deployment.

Cover for aeon: a Python Toolkit for Learning from Time Series

Abstract

aeon is a unified Python 3 library for all machine learning tasks involving time series. The package contains modules for time series forecasting, classification, extrinsic regression and clustering, as well as a variety of utilities, transformations and distance measures designed for time series data. aeon also has a number of experimental modules for tasks such as anomaly detection, similarity search and segmentation. aeon follows the scikit-learn API as much as possible to help new users and enable easy integration of aeon estimators with useful tools such as model selection and pipelines. It provides a broad library of time series algorithms, including efficient implementations of the very latest advances in research. Using a system of optional dependencies, aeon integrates a wide variety of packages into a single interface while keeping the core framework with minimal dependencies. The package is distributed under the 3-Clause BSD license and is available at https://github.com/aeon-toolkit/aeon.

Table of Contents

  • 1. Introduction
  • 2. Code Design and Implementation
  • 3. Time Series Modules
  • 3.1 Forecasting
  • 3.2 Classification, Clustering and Regression
  • 3.2.1 Classification
  • 3.2.2 Clustering
  • 3.2.3 Regression
  • 3.3 Transformations
  • 3.4 Experimental Modules
  • 4. Conclusions
  • Acknowledgments
  • References

Knowls

  1. Knowl 1 — Unified toolkit for time-series machine learning

    model/method

    aeon is a Python toolkit for time-series machine-learning workflows, including forecasting, classification, extrinsic regression, clustering, preprocessing, and benchmarking utilities. It also provides time-series distances and transformations for use across tasks. The toolkit follows the scikit-learn API where possible, supporting integration with tools such as pipelines and model selection. The paper describes aeon v0.5.0, which supports Python 3.8 and later; this version was forked from sktime v0.16.0.

  2. Knowl 2 — Modular estimator architecture and capability tags

    model/method

    aeon groups algorithms by learning task and keeps its primary task modules, such as classification and clustering, as independent as possible. Shared functionality is held in supporting modules such as distances and transformations. Most estimators use object-oriented base classes aligned with the scikit-learn estimator interface. Module base classes supply required methods and default input conversion and validation; task-specific classes include bases for classifiers, regressors, clusterers, transformers, and forecasters. Estimator tags declare supported data capabilities and functionality—for example, a classifier can mark itself as supporting both multivariate and unequal-length time series.

  3. Knowl 3 — Collection data representation and estimator interface

    definition

    For aeon collection tasks such as classification, clustering, and extrinsic regression, a collection of nn time series is typically represented either as a three-dimensional NumPy array with shape (n_cases,n_channels,n_timepoints)(n\_cases, n\_channels, n\_timepoints) when all series have equal length, or as a list of two-dimensional NumPy arrays when series lengths differ. Classifiers, clusterers, and regressors share a fit/predict interface: fitting takes the training collection and, for supervised tasks, its targets; prediction returns an output for each input case. These interfaces are designed to be compatible with the corresponding scikit-learn utilities.

  4. Knowl 4 — Classification algorithm families

    model/method

    aeon’s classification module organizes a broad range of time-series classifiers into eight families: convolution-based, deep-learning, dictionary-based, distance-based, feature-based, hybrid, interval-based, and shapelet-based methods. This taxonomy structures the module’s subpackages around the transformations or algorithmic approaches used by the classifiers.

  5. Knowl 5 — Time-series clustering support

    model/method

    aeon provides k-means-based and k-medoids-based time-series clustering in conjunction with its distance-measure module. Its k-means implementation supports more than ten elastic distance functions and can be used with barycentre averaging to construct cluster representatives.

  6. Knowl 6 — Extrinsic regression estimators

    model/method

    aeon supports extrinsic regression, in which a time series is used to predict an associated numeric target. Its module includes methods adapted from time-series classification, including feature-based and deep-learning approaches, and uses the shared collection-estimator fit/predict interface.

  7. Knowl 7 — Forecasting interface and windowing

    model/method

    aeon forecasting estimates future values in a time series and provides tools for reducing forecasting to regression through windowing. Forecasters follow a fit/predict pattern: a forecaster is fitted to an observed series and then predicts future values. The forecasting interface was undergoing substantial revision in the v0.5.0 period, so its implementation was not presented as settled.

  8. Knowl 8 — Time-series transformation types

    model/method

    aeon transformers follow a scikit-learn-style fit/transform interface and can be used in pipelines with other estimators. General transformers aim to accept either an individual series or a collection, restructuring inputs or broadcasting across multiple transformer objects when needed; collection transformers are specialized for efficient processing of collections. Transformations include series-to-series operations, such as Fourier transformation or channel selection, and series-to-features operations, such as extracting summary statistics or TSFresh features.

  9. Knowl 9 — Core and optional dependencies

    model/method

    aeon aims to keep its core dependencies limited. Its estimator interface is based on scikit-learn, and it uses NumPy and SciPy extensively; it also depends on Numba and aims to use Numba just-in-time compilation where possible. Optional dependencies, including statsmodels, TensorFlow, and TSFresh, allow aeon to wrap algorithms from external packages or use those packages as frameworks for estimators. Bringing such methods into a shared interface is intended to make benchmarking and reproducibility easier.

  10. Knowl 10 — Experimental modules and their status

    limitation

    In the v0.5.0 period, aeon identified segmentation, anomaly detection, similarity search, and benchmarking as experimental modules. Experimental areas were still being developed and could change rapidly; the toolkit’s module-selection guidance also treated these tasks as less settled than the core learning modules.

Coverage note — No substantial contributed material was omitted; individual estimator inventories and example code were left out because they illustrate the toolkit rather than add distinct methods or results.

References

  1. 1.M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, S. Ghemawat, I. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia, R. Jozefowicz, L. Kaiser, M. Kudlur, J. Levenberg, D. Mané, R. Monga, S. Moore, D. Murray, C. Olah, M. Schuster, J. Shlens, B. Steiner, I. Sutskever, K. Talwar, P. Tucker, V. Vanhoucke, V. Vasudevan, F. Viégas, O. Vinyals, P. Warden, M. Wattenberg, M. Wicke, Y. Yu, and X. Zheng. TensorFlow: Large-scale machine learning on heterogeneous systems, 2015. URL https://www.tensorflow.org/. Software available from tensorflow.org.
  2. 2.A. Bagnall, J. Lines, A. Bostrom, J. Large, and E. Keogh. The great time series classification bake off: a review and experimental evaluation of recent algorithmic advances. Data Mining and Knowledge Discovery, 31(3):606–660, 2017.
  3. 3.A. Bagnall, M. Middlehurst, G. Forestier, A. Ismail-Fawaz, A. Guillaume, D. Guijo-Rubio, C. W. Tan, A. Dempster, and G. I. Webb. A hands-on introduction to time series classification and regression. In Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining, KDD ’24, 2024. URL https://doi.org/10.1145/3637528.3671443.
  4. 4.S. Behnel, R. Bradshaw, C. Citro, L. Dalcin, D. S. Seljebotn, and K. Smith. Cython: The best of both worlds. Computing in Science & Engineering, 13(2):31–39, 2010.
  5. 5.L. A. Bennett and Z. S. Abdallah. Red comets: An ensemble classifier for symbolically represented multivariate time series. In International Workshop on Advanced Analytics and Learning on Temporal Data. Springer, 2023.
  6. 6.A. Bostrom and A. Bagnall. Binary shapelet transform for multiclass time series classification. In Transactions on Large-Scale Data-and Knowledge-Centered Systems XXXII, pages 24–46. Springer, 2017.
  7. 7.N. Cabello, E. Naghizade, J. Qi, and L. Kulik. Fast, accurate and explainable time series classification through randomization. Data Mining and Knowledge Discovery, pages 1–64, 2023.
  8. 8.M. Christ, N. Braun, J. Neuffer, and A. W. Kempa-Liehr. Time series feature extraction on basis of scalable hypothesis tests (tsfresh–a python package). Neurocomputing, 307:72–77, 2018.
  9. 9.A. Dempster, F. Petitjean, and G. I. Webb. Rocket: exceptionally fast and accurate time series classification using random convolutional kernels. Data Mining and Knowledge Discovery, 34(5):1454–1495, 2020.
  10. 10.H. Deng, G. Runger, E. Tuv, and M. Vladimir. A time series forest for classification and feature extraction. Information Sciences, 239:142–153, 2013.
  11. 11.B. Dhariyal, T. Le Nguyen, and G. Ifrim. Scalable classifier-agnostic channel selection for multivariate time series classification. Data Mining and Knowledge Discovery, 37(2):1010–1054, 2023.
  12. 12.A. Ermshaus, P. Schäfer, and U. Leser. Clasp: parameter-free time series segmentation. Data Mining and Knowledge Discovery, 37(3):1262–1300, 2023.
  13. 13.J. Faouzi and H. Janati. pyts: A python package for time series classification. The Journal of Machine Learning Research, 21(1):1720–1725, 2020.
  14. 14.H. I. Fawaz, G. Forestier, J. Weber, L. Idoumghar, and P.-A. Muller. Deep learning for time series classification: a review. Data Mining and Knowledge Discovery, 33(4):917–963, 2019.
  15. 15.H. I. Fawaz, B. Lucas, G. Forestier, C. Pelletier, D. F. Schmidt, J. Weber, G. I. Webb, L. Idoumghar, P.-A. Muller, and F. Petitjean. Inceptiontime: Finding alexnet for time series classification. Data Mining and Knowledge Discovery, 34(6):1936–1962, 2020.
  16. 16.N. M. Foumani, L. Miller, C. W. Tan, G. I. Webb, G. Forestier, and M. Salehi. Deep learning for time series classification and extrinsic regression: A current survey. arXiv preprint arXiv:2302.02515, 2023.
  17. 17.D. Guijo-Rubio, M. Middlehurst, G. Arcencio, D. F. Silva, and A. Bagnall. Unsupervised feature based algorithms for time series extrinsic regression. Data Mining and Knowledge Discovery, 2024.
  18. 18.A. Guillaume, C. Vrain, and W. Elloumi. Random dilated shapelet transform: A new approach for time series shapelets. In International Conference on Pattern Recognition and Artificial Intelligence, pages 653–664. Springer, 2022.
  19. 19.D. Hallac, P. Nystrup, and S. Boyd. Greedy gaussian segmentation of multivariate time series. Advances in Data Analysis and Classification, 13(3):727–751, 2019.
  20. 20.C. R. Harris, K. J. Millman, S. J. Van Der Walt, R. Gommers, P. Virtanen, D. Cournapeau, E. Wieser, J. Taylor, S. Berg, N. J. Smith, et al. Array programming with numpy. Nature, 585(7825):357–362, 2020.
  21. 21.C. Holder, M. Middlehurst, and A. Bagnall. A review and evaluation of elastic distance functions for time series clustering. Knowledge and Information Systems, pages 1–45, 2023.
  22. 22.A. Ismail-Fawaz, M. Devanne, J. Weber, and G. Forestier. Deep learning for time series classification using new hand-crafted convolution filters. In 2022 IEEE International Conference on Big Data (Big Data), pages 972–981. IEEE, 2022.
  23. 23.A. Ismail-Fawaz, A. Dempster, C. W. Tan, M. Herrmann, L. Miller, D. F. Schmidt, S. Berretti, J. Weber, M. Devanne, G. Forestier, et al. An approach to multiple comparison benchmark evaluations that is stable under manipulation of the comparate set. arXiv preprint arXiv:2305.11921, 2023a.
  24. 24.A. Ismail-Fawaz, H. I. Fawaz, F. Petitjean, M. Devanne, J. Weber, S. Berretti, G. I. Webb, and G. Forestier. Shapedba: Generating effective time series prototypes using shapedtw barycenter averaging. 2023b.
  25. 25.B. Lafabregue, J. Weber, P. Gançarski, and G. Forestier. End-to-end deep representation learning for time series clustering: a comparative study. Data Mining and Knowledge Discovery, 36(1):29–81, 2022.
  26. 26.S. K. Lam, A. Pitrou, and S. Seibert. Numba: A llvm-based python jit compiler. In Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, pages 1–6, 2015.
  27. 27.S. M. Law. Stumpy: A powerful and scalable python library for time series data mining. Journal of Open Source Software, 4(39):1504, 2019.
  28. 28.J. Lines and A. Bagnall. Time series classification with ensembles of elastic distance measures. Data Mining and Knowledge Discovery, 29(3):565–592, 2015.
  29. 29.J. Lines, S. Taylor, and A. Bagnall. Time series classification with hive-cote: The hierarchical vote collective of transformation-based ensembles. ACM Transactions on Knowledge Discovery from Data (TKDD), 12(5):52, 2018.
  30. 30.C. H. Lubba, S. S. Sethi, P. Knaute, S. R. Schultz, B. D. Fulcher, and N. S. Jones. catch22: Canonical time-series characteristics. Data Mining and Knowledge Discovery, 33(6):1821–1852, 2019.
  31. 31.B. Lucas, A. Shifaz, C. Pelletier, L. O’Neill, N. Zaidi, B. Goethals, F. Petitjean, and G. I. Webb. Proximity forest: an effective and scalable distance-based classifier for time series. Data Mining and Knowledge Discovery, 33(3):607–635, 2019.
  32. 32.M. Lön­ing, A. Bagnall, S. Ganesh, V. Kazakov, J. Lines, and F. Király. sktime: A unified interface for machine learning with time series. arXiv preprint arXiv:1909.07872, 2021.
  33. 33.M. Middlehurst and A. Bagnall. The freshprince: A simple transformation based pipeline time series classifier. In International Conference on Pattern Recognition and Artificial Intelligence, pages 150–161. Springer, 2022.
  34. 34.M. Middlehurst and A. Bagnall. Extracting features from random subseries: A hybrid pipeline for time series classification and extrinsic regression. In International Workshop on Advanced Analytics and Learning on Temporal Data, pages 113–126. Springer, 2023.
  35. 35.M. Middlehurst, J. Large, and A. Bagnall. The canonical interval forest (cif) classifier for time series classification. In 2020 IEEE international conference on big data (big data), pages 188–195. IEEE, 2020a.
  36. 36.M. Middlehurst, J. Large, G. Cawley, and A. Bagnall. The temporal dictionary ensemble (tde) classifier for time series classification. In Joint European Conference on Machine Learning and Knowledge Discovery in Databases, pages 660–676. Springer, 2020b.
  37. 37.M. Middlehurst, J. Large, M. Flynn, J. Lines, A. Bostrom, and A. Bagnall. Hive-cote 2.0: a new meta ensemble for time series classification. Machine Learning, 110(11):3211–3243, 2021.
  38. 38.M. Middlehurst, P. Schäfer, and A. Bagnall. Bake off redux: a review and experimental evaluation of recent time series classification algorithms. Data Mining and Knowledge Discovery, 2024.
  39. 39.T. Nakamura, M. Imamura, R. Mercer, and E. Keogh. Merlin: Parameter-free discovery of arbitrary length anomalies in massive time series archives. In 2020 IEEE international conference on data mining (ICDM), pages 1190–1195. IEEE, 2020.
  40. 40.T. L. Nguyen and G. Ifrim. Mrsqm: Fast time series classification with symbolic representations. In International Workshop on Advanced Analytics and Learning on Temporal Data. Springer, 2021.
  41. 41.F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, et al. Scikit-learn: Machine learning in python. the Journal of machine Learning research, 12:2825–2830, 2011.
  42. 42.F. Petitjean, A. Ketterlin, and P. Gançarski. A global averaging method for dynamic time warping, with applications to clustering. Pattern recognition, 44(3):678–693, 2011.
  43. 43.P. Schäfer. The boss is concerned with time series classification in the presence of noise. Data Mining and Knowledge Discovery, 29(6):1505–1530, 2015.
  44. 44.P. Schäfer and U. Leser. Weasel 2.0: a random dilated dictionary transform for fast, accurate and memory constrained time series classification. Machine Learning, 112(12):4763–4788, 2023.
  45. 45.S. Seabold and J. Perktold. Statsmodels: Econometric and statistical modeling with python. In Proceedings of the 9th Python in Science Conference, volume 57, pages 10–25080. Austin, TX, 2010.
  46. 46.P. D. Talagala, R. J. Hyndman, and K. Smith-Miles. Anomaly detection in high-dimensional data. Journal of Computational and Graphical Statistics, 30(2):360–374, 2021.
  47. 47.C. W. Tan, C. Bergmeir, F. Petitjean, and G. I. Webb. Time series extrinsic regression: Predicting numeric values from time series data. Data Mining and Knowledge Discovery, 35:1032–1060, 2021.
  48. 48.C. W. Tan, A. Dempster, C. Bergmeir, and G. I. Webb. Multirocket: Multiple pooling operators and transformations for fast and effective time series classification. Data Mining and Knowledge Discovery, pages 1–24, 2022.
  49. 49.R. Tavenard, J. Faouzi, G. Vandewiele, F. Divo, G. Androz, C. Holtz, M. Payne, R. Yurchak, M. Rußwurm, K. Kolar, et al. Tslearn, a machine learning toolkit for time series data. The Journal of Machine Learning Research, 21(1):4686–4691, 2020.
  50. 50.P. Virtanen, G. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, et al. Scipy 1.0: fundamental algorithms for scientific computing in python. Nature methods, 17(3):261–272, 2020.

Citation

MLA
Middlehurst, M., et al. “Aeon: A Python Toolkit for Learning from Time Series”. Journal of Machine Learning Research, vol. 25, no. 289, 2024, pp. 1–0, https://www.jmlr.org/papers/v25/23-1444.html.
APA
Middlehurst, M., Ismail-Fawaz, A., Guillaume, A., Holder, C., Guijo-Rubio, D., Bulatova, G., Tsaprounis, L., Mentel, L., Walter, M., Schäfer, P., & Bagnall, A. (2024). aeon: a Python Toolkit for Learning from Time Series. Journal of Machine Learning Research, 25(289), 1–10. https://www.jmlr.org/papers/v25/23-1444.html
Chicago
Middlehurst, M., A. Ismail-Fawaz, A. Guillaume, et al. 2024. “Aeon: A Python Toolkit for Learning from Time Series”. Journal of Machine Learning Research 25 (289): 1–10. https://www.jmlr.org/papers/v25/23-1444.html.
Harvard
Middlehurst, M. et al. (2024) “aeon: a Python Toolkit for Learning from Time Series”, Journal of Machine Learning Research, 25(289), pp. 1–10. Available at: https://www.jmlr.org/papers/v25/23-1444.html.
Vancouver
1. Middlehurst M, Ismail-Fawaz A, Guillaume A, et al (2024) aeon: a Python Toolkit for Learning from Time Series. Journal of Machine Learning Research 25:1–10

BibTeX

@article{JMLR:v25:23-1444,
  author  = {Matthew Middlehurst and Ali Ismail-Fawaz and Antoine Guillaume and Christopher Holder and David Guijo-Rubio and Guzal Bulatova and Leonidas Tsaprounis and Lukasz Mentel and Martin Walter and Patrick Sch{{\"a}}fer and Anthony Bagnall},
  title   = {aeon: a Python Toolkit for Learning from Time Series},
  journal = {Journal of Machine Learning Research},
  year    = {2024},
  volume  = {25},
  number  = {289},
  pages   = {1--10},
  url     = {http://jmlr.org/papers/v25/23-1444.html}
}
Metadata:DOI registry

Access the Paper

This paper is available from its original source. Click below to access the PDF.

Open PDF
License: https://creativecommons.org/licenses/by/4.0/