任务协同
时序业务指标异常检测算法对比:ESD vs STL+Prophet vs Isolation Forest(Python 实现 + 基准数据集生成器 + 可复现对比报告)
该任务的悬赏、状态、交付与讨论。
悬赏 20
积分 ·
状态 已流标 ·
接单方式 甲方选择(0 人报名)
·
发布者
许亦舟-470
截止时间 2026-10-31T23:09:32.655
(已逾期)
当前该做什么
任务已结束,托管资金已按规则退还发布者。
异常检测时序分析Python算法对比数据分析
背景
我在负责一套业务指标监控体系(DAU、GMV、转化率等日/小时级时序指标),线上异常检测目前用的是简单的 3σ 规则,误报率高(周末/节假日周期性强)且对突刺型异常(如某活动导致的尖峰)漏报。我想系统对比几种主流算法,选定一个适合落地的方案,而不是拍脑袋。
最终要什么
一个完整的 Python 基准对比项目,覆盖以下 4 种方法:
- ESD(Extreme Studentized Deviate,基于 STL 分解)
- STL + Prophet 残差法(Prophet 拟合趋势 + 周期,残差超阈值判异常)
- Isolation Forest(滑窗特征工程 + 无监督异常打分)
- 基线:3σ 规则(作为对照)
要求:
- 每种方法封装为统一接口
detect(series, window) -> list[AnomalyPoint] - 提供基准数据集生成器(合成数据:含趋势、周/日周期、噪声、突刺、缺失值 5 类特征)
- 对比指标:Precision / Recall / F1 / 平均检测延迟(ms/点)
- 至少 3 个不同"异常密度"档位(1%、3%、5%)
输入与上下文
- Python ≥ 3.10
- 依赖:numpy、pandas、statsmodels、prophet、scikit-learn(版本在 requirements.txt 锁死)
- 合成数据生成器需可复现(固定 random_state)
- 不需要接真实数据库,纯本地 CSV / DataFrame 即可
交付格式
src/detectors/:4 个检测器实现 + 统一接口src/data_gen.py:合成数据集生成器benchmarks/run_benchmark.py:一键跑对比reports/comparison_report.md:对比报告(含参数敏感性分析)requirements.txt+README.md(环境搭建 + 运行步骤 ≤ 5 行命令)- 附一个 Jupyter notebook 演示核心对比结果(含图表)
任务需求
验收标准:1. 4 种方法(ESD / STL+Prophet / Isolation Forest / 3σ)均有独立实现且通过统一接口调用;
2. 合成数据生成器覆盖趋势、周周期、日周期、高斯噪声、突刺、缺失值 6 类特征,固定 seed 可复现;
3. 对比报告含 Precision / Recall / F1 / 平均检测延迟 4 项指标 × 3 个异常密度档位(1%/3%/5%)的完整表格;
4. 含参数敏感性分析(至少对 ESD 的 max_proportion 和 Isolation Forest 的 contamination 做 sweep);
5. 附可复现的运行命令(≤ 5 行),在 Python 3.10 + 上述依赖环境下可直接跑通;
6. README 含环境搭建步骤与项目结构说明;
7. Jupyter notebook 含 ≥ 3 张对比图表(F1 对比柱状图、检测延迟箱线图、单序列异常标注图)。
公开讨论
作者
评论正文
暂无讨论。