SuperAPI AI 工具集

aeon

数据与分析

查看项目

更新于 10-21 16:37

技能介绍

用途

Aeon 是一个与 scikit-learn 兼容的 Python 时间序列机器学习工具包(aeon-toolkit.org),提供跨分类、回归、聚类、预测、异常检测、分割、相似性搜索、距离、变换、基准测试与可视化的算法,并保持一致的估计器 API。该技能适用于时间序列机器学习任务,例如:从时间序列数据分类或预测、检测时间序列中的异常或变化点、聚类相似的时间序列模式、预测未来值、查找重复模式(motif)或异常子序列(discord)、使用专门距离度量比较时间序列、从时间数据中提取特征。

版本说明:示例针对 aeon 1.x(稳定文档:v1.4.0,2026 年 3 月)。v1.0 版本重做了预测与变换,导入路径与 aeon 0.x/sktime 时代代码不同。

安装

需要 Python 3.10+(推荐 3.11+)。为可复现性固定 1.x 版本:

uv pip install "aeon>=1.4,<2"

深度学习预测器/分类器及其他可选估计器:

uv pip install "aeon[all_extras]>=1.4,<2"

在 zsh 上需为 extras 加引号:uv pip install "aeon[all_extras]>=1.4,<2"。

实验性模块:上游将 forecasting、anomaly_detection、segmentation、similarity_search、visualisation 视为实验性,接口可能在小版本间变化。除非需要这些任务,生产流程建议优先使用稳定模块(classification、regression、clustering、distances、transformations)。

主要能力

  1. 时间序列分类:将时间序列归入预定义类别。快速开始使用 RocketClassifier 与 load_classification 加载 GunPoint 数据。算法选择:速度+性能可选 MiniRocketClassifier、Arsenal;最高精度可选 HIVECOTEV2、InceptionTimeClassifier;可解释性可选 ShapeletTransformClassifier、Catch22Classifier;小数据集可选带 DTW 距离的 KNeighborsTimeSeriesClassifier。

  2. 时间序列回归:从时间序列预测连续值。快速开始使用 RocketRegressor 与 load_regression 加载 Covid3Month 数据。

  3. 时间序列聚类:无标签地对相似时间序列分组。快速开始使用 TimeSeriesKMeans,可设置 n_clusters、distance="dtw"、averaging_method="ba"。

  4. 预测(aeon 1.x 中为实验性模块):预测未来时间序列值。快速开始使用 NaiveForecaster(在构造函数中设置 horizon,predict 传入要预测的序列)与 ARIMA(使用 p/d/q 而非 order=,多步通过 iterative_forecast)。

  5. 异常检测:识别异常模式或离群点。快速开始使用 STOMP(window_size=50),fit_predict 返回异常分数,分数越高越异常,可用百分位阈值判定。

  6. 分割:将时间序列划分为带变化点的区域。快速开始使用 ClaSPSegmenter,fit_predict 返回变化点。

  7. 相似性搜索:在时间序列内部或跨序列查找相似模式。快速开始使用 StompMotif(window_size=50, k=3)查找重复模式。

特征提取与变换

用于特征工程。ROCKET 特征使用 RocketTransformer,可配合任意 sklearn 分类器(如 RandomForestClassifier)。统计特征使用 Catch22。预处理使用 MinMaxScaler、Normalizer(Z 归一化)。

距离度量

提供专门的时间距离度量。使用 dtw_distance、dtw_pairwise_distance 计算单个或成对距离,也可配合 KNeighborsTimeSeriesClassifier(distance="dtw",distance_params={"window": 0.2})。可用距离包括:弹性距离 DTW、DDTW、WDTW、ERP、EDR、LCSS、TWE、MSM;锁步距离 Euclidean、Manhattan、Minkowski;基于形状的 Shape DTW、SBD。

深度学习网络

提供时间序列神经架构:卷积类 FCNClassifier、ResNetClassifier、InceptionTimeClassifier;循环类 RecurrentNetwork、TCNNetwork;自编码器 AEFCNClusterer、AEResNetClusterer。使用示例为 InceptionTimeClassifier(n_epochs=100, batch_size=32)。

数据集与基准测试

加载标准基准并评估性能。可用 load_classification、load_gunpoint、load_regression 加载数据;使用 aeon.benchmarking 的 get_estimator_results 与已发表结果比较。

常见工作流

分类流水线:用 sklearn.pipeline.Pipeline 组合 Normalizer 与 RocketClassifier。特征提取+传统机器学习:用 RocketTransformer 提取特征后训练 GradientBoostingClassifier。异常检测可视化:用 STOMP 计算分数并用 matplotlib 绘制时间序列与异常分数。

最佳实践

数据准备:多数算法受益于 z 归一化(Normalizer);分析前用 SimpleImputer 处理缺失值;注意数据格式——集合使用 (n_cases, n_channels, n_timepoints),单序列使用 (n_channels, n_timepoints)。

模型选择:从简单方法开始,先试 ROCKET 变体再上深度学习;使用验证集调参;与简单基线(1-NN Euclidean、Naive)比较;考虑资源,ROCKET 速度快,有 GPU 时可用深度学习。

算法选择指南:快速原型——分类 MiniRocketClassifier、回归 MiniRocketRegressor、聚类 TimeSeriesKMeans 配 Euclidean;最高精度——分类 HIVECOTEV2、InceptionTimeClassifier,回归 InceptionTimeRegressor,预测 AutoARIMA、AutoETS、TCNForecaster(深度学习需 [all_extras]);可解释性——分类 ShapeletTransformClassifier、Catch22Classifier,特征 Catch22、TSFresh;小数据集——基于距离的 KNeighborsTimeSeriesClassifier 配 DTW,避免深度学习(需要大量数据)。

参考文档

references/ 目录提供详细资料:classification.md、regression.md、clustering.md、forecasting.md、anomaly_detection.md、segmentation.md、similarity_search.md、transformations.md、distances.md、networks.md、datasets_benchmarking.md。

附加资源

文档:https://www.aeon-toolkit.org/ ;GitHub:https://github.com/aeon-toolkit/aeon ;示例:https://www.aeon-toolkit.org/en/stable/examples.html ;API 参考:https://www.aeon-toolkit.org/en/stable/api_reference.html 。

智能体操作流程

检查环境:确认 Python 环境与库版本(python -c "import pkg; print(pkg.version)"),检查数据形状、类型与缺失值。确定输入:从数据或用户确认格式、标识符与参数,对任何会改变结果的取值应询问而非猜测。先运行小版本:先在样本或单折上运行,检查运行时间与内存。按上述说明与参考执行完整任务。验证结果:使用留出数据、固定随机种子与合适指标,检查泄漏,报告不确定性(置信区间、多种子标准差)。报告:说明运行了什么(版本、命令、参数)、检查了什么、仍不确定什么。

异常处理:内存不足或执行很慢时,进行子采样、使用分块或惰性计算、或减小模型规模,并告知用户改动。若指令中的函数、标志或端点在已安装版本中缺失,查阅已安装版本自身文档(help()、--help、官方文档)并适配,告知用户,绝不臆造 API。若必需输入、标识符或参数不明确,询问用户,或在运行前明确说明假设。

完整性规则

绝不捏造结果、参数、标识符、引用或统计量;若无法运行或验证,应明确说明。绝不报告本次会话未计算的指标;展示产生每个数字的代码路径。将此处版本相关细节视为可能过时,对照已安装版本的官方文档确认。对花钱、消耗共享 GPU 或云配额、涉及个人或患者数据、或不可撤销的操作,先询问。

相关技能

timesfm-forecasting:使用 Google 的 TimesFM 基础模型进行零样本时间序列预测。scikit-learn:涵盖 Python 经典机器学习(sklearn):分类与回归估计器、聚类与降维等。crewai-multi-agent:面向自主 AI 协作的多智能体编排框架。