本文介绍了一种名为 RankShift 的数据库内检测方法,用于识别分类分布中的异常变化。其核心动机在于:某些异常事件(如某来源的失败登录占比从 2% 升至 30%)不会改变事件总量,却会显著改变类别构成,传统基于事件计数的监控对此类变化不敏感。RankShift 直接在分析型数据库内运行,通过比较每个时间窗口的类别份额与良性参考数据,利用皮尔逊分数定位导致变化的具体类别,并同时输出校准后的告警和主要贡献项。在 HDFS、BGL 和 Thunderbird 三个数据集上的评估显示,其性能与复杂的计数向量自编码器相当甚至更优(如 Thunderbird 上 AUROC 达 0.983 对比 0.949),且误报率可控。该方法无需模型训练或独立推理服务,部署体积比自编码器小 137 倍,为日志异常检测提供了更轻量且可解释的替代方案。
| RankShift | 一种在数据库内检测类别分布变化的方法,无需外部模型训练。 |
| Pearson score | 用于衡量类别份额与参考分布差异的统计量,可识别贡献最大的类别。 |
| AUROC | 受试者工作特征曲线下面积,衡量检测性能的指标,值越高越好。 |
| count-vector autoencoder | 一种基于计数向量的自编码器模型,用于异常检测,作为对比基准。 |
| categorical shift | 类别分布的变化,即活跃类别及其比例发生改变,而事件总数不变。 |
📱 每天一份 AI 前沿日报
关注公众号,每天 09:00 推送 · 不错过任何重磅