今天我们见证了数据的爆炸式增长:社交媒体数据、系统数据、CRM数据以及大量网络数据。
可下载资源
然而, 在大多数情况下,这些数据告诉了我们用户行为的常见模式。 数据的异常变化可能是我们系统中的故障或用户流失的“症结”所在。
如何识别数据海洋中的“暗礁”是用户行为异常行为分析所要探讨的问题。
▼
▍什么是异常检测?
异常检测是在数据中找到不符合“正常”的行为模式的过程。在时间序列数据中检测到与预期行为有偏差的数据对于确保系统的正常运行非常重要。
一般来说,异常可以分成两种:
▍全局异常/局部异常
局部异常
很多时候我们可以看到数据的潜在趋势,看起来像一个“波浪”:早上的活动不足,白天很高,晚上很低。 局部异常发生在这种情况下。 例如:晚上的高活动意味着异常。
detectanoma <- function(usual = createDays(10, 0.05), strange = NULL){
all <- c(usual, strange)
plot(as.ts(all))
res = anomaDete(all, max_anoms=0.015, period=pointPerDay, direction='both', only_last=TRUE, plot=TRUE)
res$plot
}
全局异常
这是我们最熟悉的那种异常现象。 这是一个随机出现在平常时间的异常现象。 一般使用95%分位数就可以检测到。
▍异常检测方法
我们使用历史数据来构建由每个被监测的数据的估计值。将实时数据与这些值进行比较,并分配一个分数。
基于从最近的数据观察得到的阈值,决定实时数据是否为异常。这种方法的优点是阈值不是静态的,而是实时的。
检测场景:
tecdat的解决方案从收集网站的行为数据开始。衡量趋势的三个主要组成部分,即固定趋势、周期趋势和季节性数据,分别进行了总结,该算法查找到数据中的异常,向用户发送自动实时警报。
通过实时的异常数据监测,我们可以清楚地看到网站流量的差异,在发生异常状况时迅速进行故障排除和修复,减少网站停机,减少潜在客户的流失。