[论文解读] aeon: a Python toolkit for learning from time series
aeon 是一个统一的 Python 3 库,用于时间序列机器学习,提供预测、分类、extrinsic 回归、聚类,以及带有 scikit-learn 风格 API 的实验模块,核心依赖最小。
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. This version was submitted to the JMLR journal on 02 Nov 2023 for v0.5.0 of aeon. At the time of this preprint aeon has released v0.9.0, and has had substantial changes.
研究动机与目标
- 旨在为时间序列机器学习任务(包括预测、分类、extrinsic 回归和聚类)提供一个统一、易于使用的 Python 工具包。
- 将包设计为模块化并与 scikit-learn API 兼容,以促进集成、模型选择和管道化。
- 在尽量减少核心依赖的同时,实现与其他流行的 Python 库(用于 TSML)的可选集成。
- 支持广泛的时间序列算法和工具,并在一个框架内实现可重复的基准测试与实验。
提出的方法
- 具有以学习任务为中心的模块的模块化包设计(预测、分类、聚类、extrinsic 回归),在很大程度上避免跨模块导入。
- 面向对象的估计器,符合 scikit-learn 接口,包括 BaseCollectionEstimator 和用于描述能力的数据类型标签(例如 multivariate、unequal_length)。
- 广泛使用 numpy、scipy,以及一个核心的 scikit-learn 风格的估计器接口;可选依赖(statsmodels、TensorFlow、tsfresh)用于封装或提供额外算法。
- 变换器(series-to-series 和 series-to-features)可集成到管道中,支持通用处理和集合特定处理。
- 以实验为导向的模块(分割、异常检测、相似性搜索、基准测试)旨在迅速发展。
- 预测接口支持模型选择、评估、集成、概率区间、分层/全局预测,以及面板预测,输入主要为 pandas DataFrame/Series,并提供转换工具。
实验结果
研究问题
- RQ1在不影响任务特定需求的前提下,如何在一个单一、scikit-learn 风格的接口下统一时间序列机器学习任务?
- RQ2哪些设计选择能够在预测、分类、聚类和 extrinsic 回归中实现易于集成、可基准测试和可重复性?
- RQ3在通过可选集成获得广泛的 TSML 算法访问的同时,单一 Python 工具包在核心依赖方面能尽量减少到多少?
- RQ4模块化、面向任务的架构是否能加速时间序列 ML 社区的试验和采用?
- RQ5实验模块(分割、异常检测、相似性搜索、基准测试)在快速开发和测试方面的范围和潜力?
主要发现
- aeon 提供了一个全面、模块化的时间序列 ML 工具包,涵盖预测、分类、聚类、extrinsic 回归和实验任务。
- 该包遵循类似 scikit-learn 的 API,以便于使用并与管道和模型选择工具集成。
- aeon 强调核心依赖最小化,并可选地与流行的 TSML 包集成,提供广泛但简洁的接口。
- 核心模块围绕一个共同基础结构设计,带有描述数据能力的标签(例如 multivariate、unequal_length),以促进灵活的数据处理。
- 预测模块与现有工具(如 Prophet、pmdarima、statsforecast、tbats)对接,并支持如概率区间和分层/全局预测等高级特性。
- 实现了多种分类、聚类和回归方法,包括卷积、字典基、距离基、特征基、混合、基于区间和基于形状子的方法。
- 变换器使时间序列能够在管道中进行转换,既可作为 series-to-series,也可作为 series-to-features,支持如傅里叶变换和 TSFresh 特征等表示。
- 实验模块涵盖分割、异常检测、相似性搜索和基准测试,表示正在积极开发并将来扩展。
- aeon 将自己定位为一个统一、可扩展的框架,旨在推动可重复的 TSML 研究和在 Python 生态系统中的整合。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。