附录 O:求和函数

编辑

当桶中某个字段的总和出现异常时,求和函数会检测到异常。

如果要监控异常高的总数,请使用高侧函数。

如果要查看总数下降的情况,请使用低侧函数。

如果您的数据稀疏,请使用 non_null_sum 函数。不包含值的桶将被忽略;包含零值的桶将被分析。

机器学习功能包含以下求和函数

Sum、high_sum、low_sum

编辑

sum 函数检测桶中某个字段的总和出现异常的情况。

如果要监控异常高的总和值,请使用 high_sum 函数。

如果要监控异常低的总和值,请使用 low_sum 函数。

这些函数支持以下属性

  • field_name(必需)
  • by_field_name(可选)
  • over_field_name(可选)
  • partition_field_name(可选)

有关这些属性的更多信息,请参阅创建异常检测作业 API

示例 1:使用 sum 函数分析总支出。

{
  "function" : "sum",
  "field_name" : "expenses",
  "by_field_name" : "costcenter",
  "over_field_name" : "employee"
}

如果您在异常检测作业的检测器中使用此 sum 函数,它将对每个成本中心的员工总支出进行建模。对于每个时间段,当某个员工的支出与同一成本中心的其它员工相比异常时,它会检测出来。

示例 2:使用 high_sum 函数分析总字节数。

{
  "function" : "high_sum",
  "field_name" : "cs_bytes",
  "over_field_name" : "cs_host"
}

如果您在异常检测作业的检测器中使用此 high_sum 函数,它将对总 cs_bytes 进行建模。它会检测出与其他 cs_hosts 相比传输量异常高的 cs_hosts。此示例查找从客户端传输到互联网服务器的数据量,与其他客户端相比异常的情况。这种情况对于检测数据泄露或查找滥用互联网权限的用户可能很有用。

Non_null_sum、high_non_null_sum、low_non_null_sum

编辑

如果您的数据稀疏,则 non_null_sum 函数非常有用。不包含值的桶将被忽略,而包含零值的桶将被分析。

如果要监控异常高的总数,请使用 high_non_null_sum 函数。

如果要查看总数下降的情况,请使用 low_non_null_sum 函数。

这些函数支持以下属性

  • field_name(必需)
  • by_field_name(可选)
  • partition_field_name(可选)

有关这些属性的更多信息,请参阅创建异常检测作业 API

人口分析(也就是说,使用 over_field_name 属性)不适用于此函数。

示例 3:使用 high_non_null_sum 函数分析员工审批。

{
  "function" : "high_non_null_sum",
  "field_name" : "amount_approved",
  "by_field_name" : "employee"
}

如果您在异常检测作业的检测器中使用此 high_non_null_sum 函数,它将对每位员工的总 amount_approved 进行建模。它会忽略金额为空的任何桶。它会检测出与他们过去的表现相比批准金额异常高的员工。