MinMax Ouliter

支持对数据进行阈值判断,其主要功能包括:

  • 基于用户设置的最大值或最小值的阈值判断,属于异常识别(Outlier Detection)中的基于大小值判断方法的实现。
  • 该算子针对流入数据的record.measurepoint.value字段,会根据用户设置的最大值和最小值阈值范围(从8种开闭区间之一+用户填的min,max值),来对每个数据(StreamSet中的单个Record)进行是否在min,max区间的判断:
    • 如果不在阈值区间内,则判断为异常,,输出字段/attr/ isOutlier的值为true
    • 如果record.value在阈值范围内,则/attr/ isOutlier的值为false
  • 另外,还会将这次判断设计的大小值,开闭区间等参数,封装进/attr/ outlierAttr字段中。

Configuration

该算子的配置包括General,BasicConfig,OutlierConfig的详细信息,各字段的配置如下:

General

名称 是否必须 描述
Name Yes 算子名称
Description No 算子描述
Stage Library Yes 算子所属的库
Required Fields No 数据必须包含的字段,如果未包含指定字段,则record将被过滤掉
Preconditions No 数据必须满足的前提条件,如果不满足指定条件,则record将被过滤掉
On Record Error Yes 对错误数据的处理方式 Discard:直接丢弃;Send to Error:发送至错误中心;Stop Pipeline:停止流任务运行

BasicConfig

名称 是否必须 描述
QualityControl Level No 数据质量位选择,表示该算子可以支持或需要处理哪些类型的数据质量。

OutlierConfig

名称 是否必须 描述
Rules Yes 策略集合,可对策略进行增、删、改等操作
Model Point Yes 数据输入点,格式为:{模型标识}::{测点标识}
OpenClose Yes 输入点阈值区间格式,包括(x,y)、(x,y]、[x,y)、[x,y]、(-∞,x)、(-∞,x]、(x,+∞)、[x,+∞)这8个选项
Min-Max Yes 具体阈值区间参数取值,有2个参数时,需用逗号进行分隔,比如(x,y)选项的取值为”2,10”,则表示为实际阈值区间为(2,10)
Output PointId Yes 数据输出点,格式为:{模型标识}::{测点标识}。当对输入点进行阈值判断后,Streaming会为超出了上下限的record打上越限标签,并输出打标结果,数据输出点是承载输出结果的测点

Output Results

该算子的输出结果包含在Attribute结构体中,各字段的描述如下:

名称 数据类型 描述
isOutlier Boolean
minValue Int/Double/Float 设置的阈值范围最小值
maxValue Int/Double/Float 设置的阈值范围最小值
enableMinJudger Boolean 是否开启最小值判断
enableMaxJudger Boolean 是否开启最大值判断

Output Example

../../../_images/minmax_outlier_result.png