Install
openclaw skills install @bettermen/anomaly-detectionAI时序异常检测技能。基于Amazon Chronos-2零样本时序大模型,对用户提供的数据(CSV/Excel/JSON/粘贴)或API接口数据,进行多方法融合异常检测(Z-Score/MAD/IQR/移动平均偏离),自动分类异常类型(点异常/上下文异常/集体异常/水平偏移)并评定严重度(P0-P2),生成包含时序标注图、残差分析、异常分布、热力图、详细列表的交互式HTML可视化报告。触发词:异常检测、异常分析、时序异常、数据异常、检测异常、anomaly detection、找异常点、异常报告。
openclaw skills install @bettermen/anomaly-detection基于 Amazon Chronos-2 (120M参数) 零样本时序大模型 + 4种检测方法融合,对时序数据自动发现异常点,生成专业分析报告。
至少包含两列:时间戳 和 数值指标。
timestamp,value
2024-01-01 00:00,120.5
2024-01-01 01:00,118.3
2024-01-01 02:00,135.7
...
支持多列数据,会自动识别时间列和数值列。也支持:
若用户提供文件路径 → 直接使用。若用户粘贴数据 → 保存为临时 CSV。若用户描述数据来源(如 API)→ 帮助实现数据获取。若用户未提供 → 引导用户提供数据。
数据要求:
向用户确认(或使用默认值):
| 参数 | 默认值 | 说明 |
|---|---|---|
zscore_threshold | 2.5 | Z-score 阈值,超过即标记 |
mad_threshold | 3.0 | 改进Z-score(MAD) 阈值 |
iqr_multiplier | 1.5 | IQR 乘数 |
context_length | 2048 | Chronos-2 上下文窗口长度 |
大多数情况下默认值即可满足需求。若用户数据波动较大,可适当提高阈值减少误报。
调用核心脚本 scripts/anomaly_detect.py:
python scripts/anomaly_detect.py --input <data.csv> --output <results_dir>
可选参数:
python scripts/anomaly_detect.py \
--input data.csv \
--output results/ \
--zscore-threshold 2.5 \
--mad-threshold 3.0 \
--iqr-multiplier 1.5 \
--context-length 2048
脚本执行流程:
anomaly_data.json、anomalies.csv、time_series_with_detection.csv调用 scripts/report_gen.py:
python scripts/report_gen.py --data <results_dir>/anomaly_data.json --output <report.html>
报告包含:
用 preview_url 打开 HTML 报告,并梳理关键发现:
计算每个残差的 Z-Score = |残差 - 均值| / 标准差。适用于正态分布数据。
使用中位数和 MAD(中位数绝对偏差)代替均值和标准差,对离群值更鲁棒。
基于 Q1 - 1.5×IQR 到 Q3 + 1.5×IQR 的区间判断。
对比实际值与局部移动平均的偏离程度,检测趋势突变和水平偏移。
需要至少 2 种方法 同时标记才确认为异常点,有效降低误报率。
| 类型 | 说明 | 示例 |
|---|---|---|
point 点异常 | 单个时间点异常 | CPU 瞬时飙升至 100% |
contextual 上下文异常 | 在特定上下文中异常 | 凌晨 3 点的正常流量在工作时间就异常 |
collective 集体异常 | 连续多个点异常 | 连续 1 小时的服务降级 |
level_shift 水平偏移 | 数值整体水平变化 | 系统升级后 QPS 永久下降 30% |
| 等级 | 条件 | 含义 |
|---|---|---|
| P0 严重 | Z-Score > 3.5 或 IQR 比率 > 3.0 | 极端异常,需立即处理 |
| P1 警告 | Z-Score > 2.5 或 IQR 比率 > 1.5 | 明显异常,需关注 |
| P2 轻微 | 其他确认异常 | 轻微异常,可观察 |
首次运行自动安装:
HF_ENDPOINT=https://hf-mirror.com