Aeon时序分析工具包Skill aeon

Aeon 是一个全面的 Python 时间序列机器学习工具包,专为分类、回归、聚类、预测、异常检测、分割和相似性搜索设计。适用于股票价格预测、ECG 分类、传感器数据分析和量化交易等任务。关键词:时间序列、机器学习、Python、预测、分类、异常检测、量化金融。

机器学习 0 次安装 0 次浏览 更新于 3/16/2026

名称: aeon 描述: 用于分类、回归、聚类、预测、异常检测、分割和相似性搜索的时间序列机器学习工具包。在以下情况下使用此技能:处理时间数据、执行时间序列分析、在序列数据上构建预测模型,或实现涉及距离度量(DTW)、变换(ROCKET、Catch22)或深度学习用于时间序列的工作流程。适用于任务如ECG分类、股票价格预测、传感器异常检测或可穿戴设备活动识别。

Aeon

概述

Aeon 是一个全面的 Python 时间序列机器学习工具包,提供最先进的算法和经典技术用于分析时间数据。在涉及七种主要学习任务的序列/时间数据工作时使用此技能:分类、回归、聚类、预测、异常检测、分割和相似性搜索。

何时使用此技能

在以下情况下应用此技能:

  • 分类或预测时间序列数据(例如,ECG 分类、活动识别)
  • 预测时间序列中的未来值(例如,股票价格、能源需求)
  • 在传感器流或操作数据中检测异常
  • 聚类时间模式或发现 motif
  • 将时间序列分割为有意义区域(变更点检测)
  • 使用专门度量(DTW、MSM、ERP)计算时间序列之间的距离
  • 使用 ROCKET、Catch22、TSFresh 或 shapelet 从时间数据中提取特征
  • 使用专门架构为时间序列构建深度学习模型

核心能力

1. 时间序列分类

使用多种算法族分类带标签的时间序列:

  • 基于卷积的: ROCKET、MiniRocket、MultiRocket、Arsenal、Hydra
  • 深度学习: InceptionTime、ResNet、FCN、TimeCNN、LITE
  • 基于字典的: BOSS、TDE、WEASEL、MrSEQL(符号表示)
  • 基于距离的: 使用弹性距离的 KNN、Elastic Ensemble、Proximity Forest
  • 基于特征的: Catch22、FreshPRINCE、Signature 分类器
  • 基于区间的: CIF、DrCIF、RISE、Random Interval 变体
  • 基于 shapelet 的: Learning Shapelet、SAST
  • 混合集成: HIVE-COTE V1/V2

示例:

from aeon.classification.convolution_based import RocketClassifier
from aeon.datasets import load_arrow_head

X_train, y_train = load_arrow_head(split="train")
X_test, y_test = load_arrow_head(split="test")

clf = RocketClassifier()
clf.fit(X_train, y_train)
accuracy = clf.score(X_test, y_test)

2. 时间序列回归

使用适应分类算法从时间序列预测连续值:

from aeon.regression.convolution_based import RocketRegressor

reg = RocketRegressor()
reg.fit(X_train, y_train_continuous)
predictions = reg.predict(X_test)

3. 预测

使用统计和深度学习模型预测未来值:

  • 统计:ARIMA、ETS、Theta、TAR、AutoTAR、TVP
  • 朴素基准:带有季节策略的 NaiveForecaster
  • 深度学习:TCN(时间卷积网络)
  • 基于回归的:带有滑动窗口的 RegressionForecaster

示例:

from aeon.forecasting.naive import NaiveForecaster

forecaster = NaiveForecaster(strategy="last")
forecaster.fit(y_train)
y_pred = forecaster.predict(fh=[1, 2, 3])  # 预测未来3步

4. 异常检测

识别时间序列数据中的异常值:

  • 基于距离的: KMeansAD、CBLOF、LOF、STOMP、LeftSTAMPi、MERLIN、ROCKAD
  • 基于分布的: COPOD、DWT_MLEAD
  • 异常检测: IsolationForest、OneClassSVM、STRAY
  • 集合适配器: ClassificationAdapter、OutlierDetectionAdapter

示例:

from aeon.anomaly_detection import STOMP

detector = STOMP(window_size=50)
anomaly_scores = detector.fit_predict(X_series)

5. 聚类

无标签地分组相似时间序列:

from aeon.clustering import TimeSeriesKMeans

clusterer = TimeSeriesKMeans(n_clusters=3, distance="dtw")
clusterer.fit(X_collection)
labels = clusterer.predict(X_new)

6. 分割

将时间序列划分为不同区域或识别变更点:

from aeon.segmentation import ClaSPSegmenter

segmenter = ClaSPSegmenter()
change_points = segmenter.fit_predict(X_series)

7. 相似性搜索

使用专门距离度量和矩阵剖面技术,在时间序列集合中查找 motif 和最近邻。

8. 变换

预处理和从时间序列提取特征:

  • 集合变换器: ROCKET、Catch22、TSFresh、Shapelet、SAX、PAA、SFA
  • 序列变换器: 移动平均、Box-Cox、PCA、傅里叶、Savitzky-Golay
  • 通道操作: 选择、评分、平衡
  • 数据平衡: SMOTE、ADASYN

示例:

from aeon.transformations.collection.convolution_based import Rocket

rocket = Rocket(num_kernels=10000)
X_transformed = rocket.fit_transform(X_train)

9. 距离度量

计算专门的时间序列距离:

  • 扭曲的: DTW、WDTW、DDTW、WDDTW、Shape DTW、ADTW
  • 编辑距离: ERP、EDR、LCSS、TWE
  • 标准的: 欧几里得、曼哈顿、闵可夫斯基、平方
  • 专门的: MSM、SBD

示例:

from aeon.distances import dtw_distance, pairwise_distance

dist = dtw_distance(series1, series2)
dist_matrix = pairwise_distance(X_collection, metric="dtw")

安装

使用 pip 安装 aeon:

# 仅核心依赖
pip install -U aeon

# 所有可选依赖
pip install -U "aeon[all_extras]"

或使用 conda:

conda create -n aeon-env -c conda-forge aeon
conda activate aeon-env

要求: Python 3.9、3.10、3.11 或 3.12

数据格式

Aeon 使用标准化数据形状:

  • 集合: (n_cases, n_channels, n_timepoints) 作为 NumPy 数组或 pandas DataFrame
  • 单序列: NumPy 数组或 pandas Series
  • 变长: 通过填充或专门处理支持

加载示例数据集:

from aeon.datasets import load_arrow_head, load_airline

# 分类数据集
X_train, y_train = load_arrow_head(split="train")

# 预测数据集
y = load_airline()

工作流程模式

管道构建

使用 scikit-learn 管道组合变换器和估计器:

from sklearn.pipeline import Pipeline
from aeon.transformations.collection import Catch22
from aeon.classification.distance_based import KNeighborsTimeSeriesClassifier

pipeline = Pipeline([
    ('features', Catch22()),
    ('classifier', KNeighborsTimeSeriesClassifier())
])
pipeline.fit(X_train, y_train)

发现和标签

以编程方式查找估计器:

from aeon.utils.discovery import all_estimators

# 查找所有分类器
classifiers = all_estimators(type_filter="classifier")

# 查找所有预测器
forecasters = all_estimators(type_filter="forecaster")

参考资料

此技能包括带全面细节的模块化参考文件:

references/learning_tasks.md

深入覆盖分类、回归、聚类和相似性搜索,包括算法类别、用例和代码模式。

references/temporal_analysis.md

详细预测、异常检测和分割任务信息,包括模型描述和工作流程。

references/core_modules.md

全面文档化变换、距离、网络、数据集和基准测试工具。

references/workflows.md

常见工作流程模式、管道示例、交叉验证策略和与 scikit-learn 的集成。

根据需要加载这些参考文件以获取特定模块或工作流程的详细信息。