附录 P:时间函数
编辑附录 P:时间函数
编辑时间函数检测在异常时间(一天中的时间或一周中的时间)发生的事件。这些函数可用于查找异常的行为模式,通常与可疑用户活动相关联。
机器学习功能包括以下时间函数
- 您无法为包含时间函数的异常检测作业创建预测。
time_of_day
函数无法识别不同日期(例如工作日和周末)之间的差异。在对不同日期建模时,请使用time_of_week
函数。通常,time_of_week
函数更适合于对人员行为而不是机器行为进行建模,因为人们的行为会根据一周中的日期而有所不同。- 执行
time_of_day
或time_of_week
分析时,建议使用较短的桶跨度(例如 10 分钟)。正在建模的事件时间不受桶跨度的影响,但较短的桶跨度可以更快地提醒异常事件。 - 异常事件的标记是根据数据的先前模式进行的,而不是根据我们基于人类经验认为的异常情况。因此,如果事件通常在凌晨 3 点到 5 点之间发生,则在下午 3 点发生的事件将被标记为异常。
- 当夏令时开始或结束时,常规事件可能会被标记为异常。这种情况发生是因为事件的实际时间(相对于 UTC 基线测量)发生了变化。这种情况被视为行为的阶跃变化,新时间将很快被学习。
Time_of_day
编辑time_of_day
函数检测何时发生超出正常使用模式的事件。例如,它检测深夜的异常活动。
该函数期望每日行为相似。如果您期望数据的行为在星期六与星期三相比有所不同,则 time_of_week
函数更合适。
此函数支持以下属性
-
by_field_name
(可选) -
over_field_name
(可选) -
partition_field_name
(可选)
有关这些属性的更多信息,请参阅 创建异常检测作业 API。
示例 1:使用 time_of_day 函数分析事件。
{ "function" : "time_of_day", "by_field_name" : "process" }
如果您在异常检测作业的检测器中使用此 time_of_day
函数,它会对每个进程的事件在一天中的发生时间进行建模。它检测何时发生某个进程的事件,该事件与过去的行为相比处于一天中的异常时间。
Time_of_week
编辑time_of_week
函数检测何时发生超出正常使用模式的事件。例如,它检测周末的登录事件。
time_of_week
函数对以纪元秒为单位的时间进行建模,并取模一周的秒数。这意味着 typical
和 actual
值是在 1970 年 1 月 1 日(星期四)UTC 之后整周的秒数。例如,值 475
是 UTC 时间星期四午夜后 475 秒。
此函数支持以下属性
-
by_field_name
(可选) -
over_field_name
(可选) -
partition_field_name
(可选)
有关这些属性的更多信息,请参阅 创建异常检测作业 API。
示例 2:使用 time_of_week 函数分析事件。
{ "function" : "time_of_week", "by_field_name" : "eventcode", "over_field_name" : "workstation" }
如果您在异常检测作业的检测器中使用此 time_of_week
函数,它会对每个 eventcode
的事件在一周中的发生时间进行建模。它检测工作站事件何时在一周中的异常时间段内发生,与其他工作站相比。它检测特定工作站的事件超出正常使用模式。