数据传输中的异常检测
Anomaly detection in data transfer
我正在研究异常检测模型,需要帮助来识别数据传输中的异常。示例:如果员工使用 VPN 连接并且我们有以下数据使用情况:
EMPID date Bytes_sent Bytes recieved
A123 Timestamp 222222 3333333
A123 Timestamp 444444 6666666
A123 Timestamp 99999999 88888888888
我想将第 3 行标记为异常,因为员工一直在一定范围内发送或接收,然后突然跳转。我想跟踪最近几天发送和接收的字节数 - 这意味着他的行为在最近几天发生了怎样的变化。
一种方法是为每个观察保留额外的指标:
对于 Bytes_recieved:
- 观察值是否异常值的指标。这将成为;这将是
由观察到的 Bytes_recieved 是否在
上次观察到的平均值加上,减去上次观察到的 SD,如所述
下面。
- 最近 N 个非异常事件的 运行 平均值。
- 最近 N 个非异常事件的标准偏差。
N 将基于您要考虑的观察量。你提到最近几天,所以你可以设置 N = "recent" * average events per day
例如:
EMPID date Bytes_sent Bytes_recieved br-avg-last-N br-sd-last-N br-Outlier
A123 Timestamp 222222 3333333 3333333 2357022.368 FALSE
A123 Timestamp 444444 6666666 4999999.5 2356922.368 FALSE
A123 Timestamp 99999999 88888888888 N/A N/A TRUE
Bytes_recieved 第三行的离群值计算为观察到的 Bytes_recieved 是否超出以下定义的范围:
(last Bytes_recieved Average-Last-10) - 2*(last Bytes_recieved SD-Last-N) And (last Bytes_recieved Average-Last-10) + 2*(last Bytes_recieved SD-Last-N)
4999999.5 + 2 * 2356922.368 = 9713844.236; 9,713,844.236 < 88,888,888,888 -> TRUE
2 标准偏差会给你 96% 的离群值,即你只会看到大约 4% 的时间的极端观察。您可以根据需要修改它。
您可以对 Bytes_sent 执行相同的操作并为离群值决策设置 'Or' 条件,或者计算与多维 运行 平均值的距离(此处 X 是 Bytes_sent 和 Y 是 Bytes_recieved) 并根据极端距离标记异常值。 (您需要跟踪 运行 SD 或每次观察的另一个传播指标)
通过这种方式,您还可以轻松添加维度:一天中的时间异常、Bytes_sent 和 Bytes_recieved 之间的极端差异等
我正在研究异常检测模型,需要帮助来识别数据传输中的异常。示例:如果员工使用 VPN 连接并且我们有以下数据使用情况:
EMPID date Bytes_sent Bytes recieved
A123 Timestamp 222222 3333333
A123 Timestamp 444444 6666666
A123 Timestamp 99999999 88888888888
我想将第 3 行标记为异常,因为员工一直在一定范围内发送或接收,然后突然跳转。我想跟踪最近几天发送和接收的字节数 - 这意味着他的行为在最近几天发生了怎样的变化。
一种方法是为每个观察保留额外的指标:
对于 Bytes_recieved:
- 观察值是否异常值的指标。这将成为;这将是 由观察到的 Bytes_recieved 是否在 上次观察到的平均值加上,减去上次观察到的 SD,如所述 下面。
- 最近 N 个非异常事件的 运行 平均值。
- 最近 N 个非异常事件的标准偏差。
N 将基于您要考虑的观察量。你提到最近几天,所以你可以设置 N = "recent" * average events per day
例如:
EMPID date Bytes_sent Bytes_recieved br-avg-last-N br-sd-last-N br-Outlier
A123 Timestamp 222222 3333333 3333333 2357022.368 FALSE
A123 Timestamp 444444 6666666 4999999.5 2356922.368 FALSE
A123 Timestamp 99999999 88888888888 N/A N/A TRUE
Bytes_recieved 第三行的离群值计算为观察到的 Bytes_recieved 是否超出以下定义的范围:
(last Bytes_recieved Average-Last-10) - 2*(last Bytes_recieved SD-Last-N) And (last Bytes_recieved Average-Last-10) + 2*(last Bytes_recieved SD-Last-N)
4999999.5 + 2 * 2356922.368 = 9713844.236; 9,713,844.236 < 88,888,888,888 -> TRUE
2 标准偏差会给你 96% 的离群值,即你只会看到大约 4% 的时间的极端观察。您可以根据需要修改它。
您可以对 Bytes_sent 执行相同的操作并为离群值决策设置 'Or' 条件,或者计算与多维 运行 平均值的距离(此处 X 是 Bytes_sent 和 Y 是 Bytes_recieved) 并根据极端距离标记异常值。 (您需要跟踪 运行 SD 或每次观察的另一个传播指标)
通过这种方式,您还可以轻松添加维度:一天中的时间异常、Bytes_sent 和 Bytes_recieved 之间的极端差异等