SuperAPI AI 工具集

aeon

数据与分析

查看项目

更新于 10-15 10:54

技能介绍

用途

Aeon 是一个与 scikit-learn 兼容的 Python 时间序列机器学习工具包,为时间序列数据提供分类、回归、聚类、预测、异常检测、分割和相似性搜索等任务的算法。当需要对时间序列数据进行分类或预测、检测异常或变化点、聚类相似模式、预测未来值、查找重复模式(motif)或异常子序列(discord)、使用专门距离度量比较时间序列、从时序数据中提取特征时,可以使用该技能。

主要能力

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

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

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

  4. 预测:预测未来时间序列值。快速开始示例使用 ARIMA(order=(1, 1, 1))。

  5. 异常检测:识别异常模式或离群点。快速开始示例使用 STOMP(window_size=50),分数越高表示越异常,可用 np.percentile 设定阈值。

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

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

  8. 特征提取与变换:用于特征工程。ROCKET 特征使用 RocketTransformer,可与任意 sklearn 分类器(如 RandomForestClassifier)配合;统计特征使用 Catch22;预处理使用 MinMaxScaler、Normalizer(Z 标准化)。

  9. 距离度量:提供专门的时间距离度量。使用 dtw_distance、dtw_pairwise_distance 计算单个或成对距离,可与 KNeighborsTimeSeriesClassifier 配合。可用距离包括:弹性距离(DTW、DDTW、WDTW、ERP、EDR、LCSS、TWE、MSM)、锁步距离(Euclidean、Manhattan、Minkowski)、基于形状的距离(Shape DTW、SBD)。

  10. 深度学习网络:提供时间序列神经架构。卷积类包括 FCNClassifier、ResNetClassifier、InceptionTimeClassifier;循环类包括 RecurrentNetwork、TCNNetwork;自编码器包括 AEFCNClusterer、AEResNetClusterer。示例使用 InceptionTimeClassifier(n_epochs=100, batch_size=32)。

  11. 数据集与基准测试:加载标准基准并评估性能。使用 load_classification、load_regression 加载数据,使用 get_estimator_results 与已发表结果比较。

使用方式

安装:uv pip install aeon

常见工作流包括:分类流水线(Normalizer + RocketClassifier 组成 sklearn Pipeline)、特征提取加传统机器学习(RocketTransformer 提取特征后训练 GradientBoostingClassifier)、带可视化的异常检测(STOMP 计算分数后用 matplotlib 绘图)。

最佳实践:数据准备方面,多数算法受益于 Z 标准化(Normalizer),缺失值需先填充(SimpleImputer),数据格式应为 (n_samples, n_channels, n_timepoints)。模型选择方面,建议从 ROCKET 变体开始再考虑深度学习,使用验证集调参,与简单基线(1-NN Euclidean、Naive)比较,并考虑资源(ROCKET 速度快,深度学习需 GPU)。

算法选择指南:快速原型可用 MiniRocketClassifier、MiniRocketRegressor、带 Euclidean 的 TimeSeriesKMeans;追求最高精度可用 HIVECOTEV2、InceptionTimeClassifier、InceptionTimeRegressor、ARIMA、TCNForecaster;可解释性可用 ShapeletTransformClassifier、Catch22Classifier、Catch22、TSFresh;小数据集可用带 DTW 的 KNeighborsTimeSeriesClassifier,避免深度学习。

适用场景

适用于时间序列分类、回归、聚类、预测、异常检测、分割、相似性搜索、特征提取、距离度量计算以及深度学习建模等任务。

限制

资料未提供关于收费、价格、平台限制或效果保证的具体信息。深度学习算法需要大量数据,小数据集应避免使用。

参考文档

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 。