You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求Python中用于异常检测的Shapelet发现与转换算法实现

基于Python的Shapelet Discovery与异常检测现有实现

一、成熟Python库

  • pyts:专注时间序列处理的库,内置ShapeletTransform类,能自动完成shapelet发现与特征转换,无缝对接孤立森林、One-Class SVM这类异常检测模型。简单示例:
from pyts.transformation import ShapeletTransform
from sklearn.ensemble import IsolationForest

# X为时间序列数据,格式[n_samples, n_timestamps]
st = ShapeletTransform(n_shapelets=10, random_state=42)
X_transformed = st.fit_transform(X)

# 用转换后的特征执行异常检测
clf = IsolationForest(random_state=42)
anomaly_predictions = clf.fit_predict(X_transformed)
  • tslearn:时间序列机器学习工具库,提供ShapeletTransformer,支持自定义shapelet长度范围、数量等参数,适配不同时间序列的异常检测需求。

二、开源代码实现

GitHub上有不少针对异常检测场景优化的shapelet发现代码,比如基于原始Shapelet算法的Python重实现,可直接处理单变量/多变量时间序列,核心逻辑是从数据中挖掘能区分正常与异常模式的shapelet,适合定制化需求。

三、适配你提供的时间序列数据的建议

从你给出的数据样例(单变量周期时间序列,含异常波动)来看,可先通过shapelet转换提取序列的关键局部特征,再用无监督异常检测模型识别偏离正常特征分布的样本。如果是异常样本占比极低的不平衡场景,还可以在shapelet发现阶段加入加权逻辑,优先挖掘和异常样本关联度高的shapelet。

内容的提问来源于stack exchange,提问作者Aditya Bhandwalkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:24:53