aeon Toolkit

repository·main·Indexed 23 days ago

https://github.com/aeon-toolkit/aeon

A scikit-learn compatible Python library for time series machine learning. aeon provides tools for classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. It includes state-of-the-art models, deep learning architectures via Keras/TensorFlow, and comprehensive benchmarking utilities for experimental evaluation and statistical significance testing.

Tokens
47.4K
Snippets
75
Records
309
Agent score
80%

What's inside aeon

  1. Overview of aeon projects

    main

    aeon hosts various short to medium duration projects involving development, research, and community interaction. These projects are suitable for internships, academic projects (undergraduate/postgraduate), Google Summer of Code (GSoC), or personal side projects.

    Requirements:

    • Proficiency in Python and Git/GitHub.
    • Most projects require knowledge of machine learning and time series analysis.

    How to participate:

    • Join the Discord to discuss ideas with the community.
    • Propose your own project ideas, but discuss them with the maintainers first.
    • Funding opportunities are advertised as they become available.
  2. Overview of aeon

    main

    aeon is a scikit-learn compatible Python library designed for time series machine learning. It provides a comprehensive suite of tools for various time series tasks, including:

    • Classification and Regression
    • Clustering and Similarity Search
    • Forecasting
    • Anomaly Detection
    • Segmentation
    • Distances and Transformations
    • Benchmarking

    The library is maintained by the researchers who developed many of the underlying algorithms, ensuring access to state-of-the-art models, including deep learning approaches.

  3. Overview of aeon toolkit capabilities

    main

    aeon is a scikit-learn compatible toolkit designed for time series machine learning tasks. It provides a broad library of algorithms, including state-of-the-art methods, implemented efficiently (e.g., using numba). Because it follows the scikit-learn API, it integrates easily with the broader Python machine learning ecosystem.

    Supported tasks include:

    • Classification
    • Regression (extrinsic)
    • Clustering
    • Anomaly detection
    • Segmentation
    • Similarity search
    • Forecasting
    • Transformations
    • Distances
  4. Perform time series segmentation with aeon

    main

    Time series segmentation partitions a series into regions that are dissimilar to their neighboring regions. You can use the aeon.segmentation module to access various segmentation algorithms.

    Available segmenter implementations include:

    • BinSegmenter
    • ClaSPSegmenter
    • FLUSSSegmenter
    • InformationGainSegmenter
    • GreedyGaussianSegmenter
    • EAggloSegmenter
    • HMMSegmenter
    • HidalgoSegmenter
    • RandomSegmenter
  5. New forecasting algorithms in v1.3.0

    main

    The forecasting module received a major update in v1.3.0, introducing several new forecasters including:

    • ARIMA/AutoARIMA
    • SETAR-Tree/Forest
    • Theta
    • TAR/SETAR
    • Deep Learners (via BaseDeepForecaster and specific implementations like TCN)

    Additionally, regression forecasters now support exogenous variables, and a Time-Varying Parameter (TVP) regression forecaster using a Kalman filter has been implemented.

  6. New Estimators in aeon v1.4.0

    main

    As of version 1.4.0, several new native implementations of estimators are available for time series analysis:

    • Anomaly Detection: ROCKAD (whole-series anomaly detector).
    • Clustering: K-Shape clusterer.
    • Classification: ElasticEnsemble now supports TS-QUAD configuration.
    • Forecasting: ETS, AutoETS, and DeepARF forecasters.
    • Transformations: STL, MSTL, and LOWESS transformers.
  7. Supported time series tasks in aeon

    main

    The aeon toolkit provides a consistent API across ten major time series task areas:

    • Classification: Predict labels for time series.
    • Regression: Predict continuous values from time series.
    • Clustering: Group similar series without labels.
    • Forecasting: Predict future values.
    • Anomaly detection: Find unusual points or subsequences.
    • Segmentation: Split a series into homogeneous regions.
    • Similarity search: Find similar subsequences or whole series in collections.
    • Transformations: Feature extraction and preprocessing.
    • Distances & kernels: Time series similarity measures.
    • Benchmarking: Reproducible experimental evaluation.
  8. Understand aeon's core learning tasks

    main

    aeon is a toolkit for time series machine learning that supports several distinct learning tasks:

    • Classification: Predicting a discrete label for a collection of time series.
    • Regression: Predicting a continuous value for a collection of time series.
    • Clustering: Grouping unlabeled time series into clusters.
    • Similarity search: Finding nearest neighbors among subsequences or whole series.
    • Anomaly detection: Identifying values or regions in a single time series that deviate from the norm.
    • Forecasting: Predicting future values of a single time series.
    • Segmentation: Splitting a single time series into dissimilar regions.

    Core modules used across these tasks include Transformations (changing representations), Distances (measuring dissimilarity), and Networks (deep learning models).

  9. New algorithms and subpackages in aeon v0.6.0

    main

    As of version 0.6.0, aeon introduced several new capabilities and structural changes:

    • Classification: New algorithms available in RED CoMETS and LITETime (Deep Learning classifiers).
    • Clustering: A new clustering subpackage for deep learning clustering has been added.
    • Similarity Search: An experimental similarity search subpackage is now available.
    • Segmentation & Anomaly Detection: The previous annotation module has been split into two distinct modules: segmentation and anomaly detection.
    • Distances: Minkowski distance has been added to the distances module.
  10. Use time series distance functions in aeon

    main

    The aeon.distances module provides specialized distance functions for time series analysis. These functions can be used directly or passed into aeon and scikit-learn estimators.

    Most distance algorithms in this module follow a consistent pattern of providing several related functions:

    • *_distance: Calculates the distance between two individual time series.
    • *_pairwise_distance: Calculates distances between all pairs in a set of time series.
    • *_cost_matrix: Computes the cost matrix used during the distance calculation.
    • *_alignment_path: Extracts the optimal alignment path between two series.

    Available distance algorithms include:

    • Dynamic Time Warping (DTW) variants: dtw_distance, adtw_distance (Amerced), ddtw_distance (Derivative), wdtw_distance (Weighted), shape_dtw_distance (Shape DTW), and wddtw_distance (Weighted Derivative).
    • Edit-based distances: erp_distance (Edit Real Penalty), edr_distance (Edit distance for real sequences), lcss_distance (Longest Common Subsequence), and msm_distance (Move-Split-Merge).
    • Standard geometric distances: euclidean_distance, manhattan_distance, minkowski_distance, squared_distance, and twe_distance (Time Warp Edit).
    • Other specialized distances: sbd_distance (Shape-based Distance).
  11. Overview of anomaly detection modules

    main

    The aeon.anomaly_detection module is organized into several sub-modules based on the type of data and the detection approach:

    Collection Anomaly Detectors

    Located in aeon.anomaly_detection.collection. These are designed for detecting anomalies in collections of time series. Key components include:

    • ClassificationAdapter
    • OutlierDetectionAdapter
    • BaseCollectionAnomalyDetector
    • ROCKAD

    Series Anomaly Detectors

    Located in aeon.anomaly_detection.series. These operate on individual time series and are categorized by their underlying methodology:

    • Distance-based (aeon.anomaly_detection.series.distance_based): Algorithms like CBLOF, KMeansAD, LeftSTAMPi, LOF, MERLIN, STOMP, and ROCKAD.
    • Distribution-based (aeon.anomaly_detection.series.distribution_based): Algorithms like COPOD and DWT_MLEAD.
    • Outlier-Detection (aeon.anomaly_detection.series.outlier_detection): Algorithms like IsolationForest, OneClassSVM, and STRAY.

    Adapters and Base Classes

    • Adapters: PyODAdapter in aeon.anomaly_detection.series allows using PyOD algorithms within the aeon framework.
    • Base Classes:
      • BaseSeriesAnomalyDetector in aeon.anomaly_detection.series for series-level logic.
      • BaseAnomalyDetector in aeon.anomaly_detection.base for the fundamental anomaly detection interface.