附录 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
函数以自 1970 年 1 月 1 日(星期四)以来的纪元秒数对时间进行建模,并以秒为单位计算一周的持续时间。这意味着 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
建模事件在一周中发生的时间。它会检测到工作站事件发生在一周中不寻常的时间,该时间与其他工作站相比,对于该 eventcode
来说是不寻常的。它会检测到特定工作站的事件超出正常使用模式。