指标检测(四):业务阈值检测-基于规则引擎的业务异常检测

为什么我的眼里常含泪水?因为我对这土地爱得深沉……

本文基于Github :ad4j:Anomaly Detection For Java
项目中有完整代码示例,欢迎Star、Issue、提交PR,获得Contributor勋章,共同成长。

系列文章导航:

一、概述

概述请参考系列文章(一)的概述
本文将重点介绍 ad4j:Anomaly Detection For Java 项目中的基于规则引擎的检测算法。

本文主要介绍基于业务阈值设定的异常检测,作为自动化异常检测的业务补充监控方案。是的整套检测框架全面覆盖各种应用场景。

二、基于业务阈值的异常检测

1.原理

类似规则引擎的方案

  • (1)设定规则和规则集:

    • 规则集:支持规则以任意逻辑形式(OR(||)、AND(&&))的组合成规则集,例如 R u l e 3 Rule3 Rule3 o r or or ( R u l e 1 Rule1 Rule1 a n d and and R u l e 2 Rule2 Rule2)
    • 规则 R u l e Rule Rule x i > F a c t o r ∗ S x_i >Factor * S xi>FactorS

    其中,比较符号支持(>,>=,=,<,<=) , F a c t o r Factor Factor是因子系数, S S S是指标数值统计量,支持:

S S S统计量类型 说明
constant 常量(即数值当前值)
min 最小值
max 最大值
mean 均值
var 方差
std 标准差
quantile 分位值
  • (2)循环递归检测
    规则引擎内部解析规则后,会按照规则进行判定是否符合规则异常。

2.计算过程

  • (1)解析规则:将规则配置解析为规则树
  • (2)规则引擎判断:递归规则树,依次从叶子节点判定规则,将当前节点结果 与 同级节点结果进行逻辑(and,or)判断,逐步递归只根节点,获取到最终规则判定结果。

3.数据计算示例

数据准备:时间序列数据: X = 1.0 , 2.0 , 3.0 , 4.0 X={1.0,2.0,3.0,4.0} X=1.0,2.0,3.0,4.0

  • (1)设置规则:>= 5 * constant || <= 1 * constant || (> 1 * min && < 1 * max)
  • (2)解析规则:规则树如下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值