数据异常检测方法、装置、系统及电子设备
文献发布时间:2023-06-19 11:44:10
技术领域
本申请涉及数据处理技术领域,具体涉及数据异常检测方法和装置,数据 异常检测系统,以及电子设备。
背景技术
数据,已经渗透到当今每一个行业和应用职能领域,成为重要的生产因素。 数据技术时代将数据作为生产资料,解决“感知”和“协同”智慧的问题,使 效率大幅提升并能完成应用的创新。在数据技术时代,数据主要都是随时间变 化的时序数据,日常的时序数据异常检测非常重要,一旦发生数据异常影响不 可估量。
所谓异常检测就是监测并发现数据中不符合正常行为的异常模式。它已广 泛用于交易监测、故障诊断、疾病检测、入侵检测、身份辨识等领域。例如商 家退货比例飙升可能是竞争对手恶意刷单,网络流量的异常可能意味着受攻击 主机上敏感信息的泄密,信用卡的异常消费等欺诈行为会导致巨大的经济损失。
目前,一种典型的时序异常检测技术是,通过T检验方法对时序数据进行 均值变化类异常的检测处理。T检验方法把时间序列用滑动的左窗口和右窗口来 分割,左窗口较长,保存了历史的数据,代表了供参考的正常数据;右窗口较 短,包含了较新的数据。通过T检验方法来检验左、右窗口的分布是否一致, 当右窗口包含异常时,它的分布就与左窗口不同而被检测出异常。
然而,在实现本发明过程中,发明人发现该技术方案至少存在如下问题: 异常点会逐步移动到的左窗口内,扰乱左窗口的正常分布,因而无法保持稳定 的敏感度。
发明内容
本申请提供数据异常检测系统,以解决现有技术存在的时序异常检测稳定 性较低的问题。本申请另外提供数据异常检测方法、装置和系统,以及电子设 备。
本申请还提供一种数据异常检测系统,包括:
服务端,用于接收第一客户端发送的针对目标时序数据的异常检测请求; 确定包括目标时序数据之前历史时序数据的第一时序;根据所述第一时序,确 定去除异常影响的第一异常判断边界;根据所述第一异常判断边界,判断所述 目标时序数据是否为异常数据;向所述第一客户端回送所述目标时序数据为异 常数据的信息;
第一客户端,用于向服务端发送所述异常检测请求;若接收到所述目标时 序数据为异常数据的信息,则执行异常处理。
可选的,第二客户端,用于确定目标数据类型及其对应的检测参数,向服 务端发送针对目标数据类型的参数设置请求;
所述服务端,还用于接收所述参数设置请求,存储所述目标数据类型、所 述检测参数间的对应关系;以及,根据所述对应关系,执行异常检测处理。
本申请还提供一种数据异常检测方法,包括:
确定包括目标时序数据之前历史时序数据的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标时序数据是否为异常数据。
可选的,所述根据所述第一时序,并确定去除异常影响的第一异常判断边 界,包括:
根据第一时序,确定去除异常点的第三时序;
根据第三时序,确定所述第一异常判断边界。
可选的,所述根据第一时序,并确定去除异常点的第三时序,包括:
确定所述第一时序的中位数绝对偏差MAD和中位数;
根据所述MAD和中位数,确定第二异常判断边界;
将第二异常判断边界内的数据的权重设置为第一权重;将第二异常判断边 界外的数据的权重设置为第二权重;第二权重小于第一权重;
根据所述数据、第一权重和第二权重,确定所述第三时序。
可选的,所述根据第三时序,并确定所述第一异常判断边界,包括:
通过T检验算法,根据第三时序,确定所述第一异常判断边界。
可选的,所述根据所述第一时序,并确定去除异常影响的第一异常判断边 界,包括:
根据时间衰减系数和数据采集时间,确定去除异常点后的第一时序中数据 点的权重;
根据所述权重和第一时序,确定所述第一异常判断边界。
可选的,所述方法还包括:
确定所述目标时序数据的数据类型;
根据与数据类型对应的第二时序宽度,确定包括目标时序数据的第二时序;
根据所述第一异常判断边界,判断所述目标时序数据是否为异常数据;若 是,则将所述目标时序数据调整为所述第二时序中数据点的中位值;
根据所述第一异常判断边界,判断调整后的目标时序数据是否为异常数据。
可选的,所述目标时序数据为机器数据,所述第二时序宽度大于1。
可选的,所述目标时序数据为日常平稳数据,所述第二时序宽度等于1。
可选的,不同数据类型对应不同的第二时序宽度。
可选的,确定目标时序数据的数据类型;
根据与数据类型对应的第一时序宽度,确定第一时序。
可选的,不同数据类型对应不同的第一时序宽度。
可选的,所述数据类型包括:机器数据,日常平稳数据,实时累积数据, 稀疏性数据,周期性数据。
本申请还提供一种数据异常检测方法,包括:
确定目标时序数据;
向服务端发送针对目标时序数据的异常检测请求;
若服务端检测到目标时序数据为异常数据,则执行异常处理。
本申请还提供一种异常检测参数确定方法,包括:
确定目标数据类型及其对应的检测参数;
向服务端发送针对目标数据类型的参数设置请求,以便于所述服务端存储 所述目标数据类型、所述检测参数间的对应关系;以及,根据所述对应关系, 执行异常检测处理。
本申请还提供一种数据异常检测装置,包括:
第一时序确定单元,用于确定包括目标时序数据之前历史时序数据的第一 时序;
第一异常判断边界确定单元,用于根据所述第一时序,确定去除异常影响 的第一异常判断边界;
判断单元,用于根据所述第一异常判断边界,判断所述目标时序数据是否 为异常数据。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现数据异常检测方法的程序,该设备通电并通过所述 处理器运行该方法的程序后,执行下述步骤:确定包括目标时序数据之前历史 时序数据的第一时序;根据所述第一时序,确定去除异常影响的第一异常判断 边界;根据所述第一异常判断边界,判断所述目标时序数据是否为异常数据。
本申请还提供一种数据异常检测装置,包括:
数据确定单元,用于确定目标时序数据;
请求发送单元,用于向服务端发送针对目标时序数据的异常检测请求;
异常处理单元,用于若服务端检测到目标时序数据为异常数据,则执行异 常处理。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现数据异常检测方法的程序,该设备通电并通过所述 处理器运行该方法的程序后,执行下述步骤:确定目标时序数据;向服务端发 送针对目标时序数据的异常检测请求;若服务端检测到目标时序数据为异常数 据,则执行异常处理。
本申请还提供一种异常检测参数确定装置,包括:
参数确定单元,用于确定目标数据类型及其对应的检测参数;
请求存储单元,用于向服务端发送针对目标数据类型的参数设置请求,以 便于所述服务端存储所述目标数据类型、所述检测参数间的对应关系;以及, 根据所述对应关系,执行异常检测处理。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储实现异常检测参数确定方法的程序,该设备通电并通过 所述处理器运行该方法的程序后,执行下述步骤:确定目标数据类型及其对应 的检测参数;向服务端发送针对目标数据类型的参数设置请求,以便于所述服 务端存储所述目标数据类型、所述检测参数间的对应关系;以及,根据所述对 应关系,执行异常检测处理。
本申请还提供一种股票交易方法,包括:
确定包括目标股票交易量之前历史股票交易量的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标股票交易量是否为异常数据;
若判定所述目标股票交易量为异常数据,则对股票执行交易处理。
本申请还提供一种农作物播种方法,包括:
确定包括目标天气数据之前历史天气数据的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标天气数据是否为异常数据;
若判定所述目标天气数据为异常数据,则确定农作物播种计划信息。
本申请还提供一种气候干预方法,包括:
确定包括目标天气数据之前历史天气数据的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标天气数据是否为异常数据;
若判定所述目标天气数据为异常数据,则确定气候干预计划信息。
本申请还提供一种农作物产量确定方法,包括:
确定包括目标天气数据之前历史天气数据的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标天气数据是否为异常数据;
若判定所述目标天气数据为异常数据,则确定农作物产量的预测数据。
本申请还提供一种虫害确定方法,包括:
确定包括目标天气数据之前历史天气数据的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标天气数据是否为异常数据;
若判定所述目标天气数据为异常数据,则确定虫害发生可能性的预测数据。
本申请还提供一种实体店限流方法,包括:
确定包括目标客流量之前历史客流量的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标客流量是否为异常数据;
若判定所述目标客流量为异常数据,则确定限流计划信息。
本申请还提供一种实体店整改方法,包括:
确定包括目标客流量之前历史客流量的第一时序;
根据所述第一时序,确定去除异常影响的第一异常判断边界;
根据所述第一异常判断边界,判断所述目标客流量是否为异常数据;
若判定所述目标客流量为异常数据,则确定实体店整改计划信息。
本申请还提供一种数据异常检测算法更新方法,包括:
待更新设备检测服务器发出的数据异常检测算法更新信号,所述更新信号 用于指示系统存在数据异常检测算法的更新包;
待更新设备向该服务器发送安全链接请求;
待更新设备与该服务器建立安全链接,通过安全链接接收服务器发送的更 新包;
待更新设备根据该更新包进行更新。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储 有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时, 使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请提供的数据异常检测系统,通过确定包括目标时序数据之前历史时 序数据的第一时序;根据所述第一时序,确定去除异常影响的异常判断边界; 根据所述异常判断边界,判断所述目标时序数据是否为异常数据;这种处理方 式,使得置信区间上下界比较平稳,不会受到异常的扰动,保持稳定的敏感度; 因此,可以有效提升时序异常检测的稳定性。
附图说明
图1是本申请提供的一种数据异常检测系统的实施例的示意图;
图2是本申请提供的一种数据异常检测系统的实施例的应用场景示意图;
图3是本申请提供的一种数据异常检测系统的实施例的设备交互示意图;
图4是本申请提供的一种数据异常检测系统的实施例的异常检测结果对比 示意图;
图5是本申请提供的一种数据异常检测系统的实施例的异常检测结果对比 示意图;
图6是本申请提供的一种数据异常检测系统的实施例的具体示意图;
图7是本申请提供的一种数据异常检测系统的实施例的又一设备交互图;
图8是本申请提供的一种数据异常检测方法的实施例的流程图;
图9是本申请提供的一种数据异常检测方法的实施例的具体流程图;
图10是本申请提供的一种数据异常检测方法的实施例的具体流程图;
图11是本申请提供的一种数据异常检测方法的实施例的具体流程图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请 能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背 本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了数据异常检测系统、方法和装置,以及电子设备。在 下面的实施例中逐一对各种方案进行详细说明。
第一实施例
请参考图1,其为本申请提供的一种数据异常检测系统的实施例的示意图。 本申请提供的一种数据异常检测系统,包括:服务端1和第一客户端2。
所述服务端1,可以是部署在云服务器中的服务端。所述第一客户端2,包 括但不限于移动通讯设备、个人电脑、PAD、iPad、RF枪等终端设备,也可以是 具有时序数据异常检测需求的服务器,如企业内部的局域网服务器。
请参考图2,其为本申请提供的一种数据异常检测系统的实施例的应用场景 示意图。在本实施例中,所述系统包括多个第一客户端1,该客户端可以是网络 服务的数据分析客户端或服务器,如电商平台数据分析客户端或服务器等等; 也可以是非网络服务的数据分析客户端或服务器,如某个大型连锁超市的数据 分析客户端或服务器等等。客户端用户(如人或机器)通过客户端指定目标时 序数据,并通过该客户端向服务端发送所述异常检测请求;服务端1对目标时 序数据进行异常检测处理,可将检测结果回送至第一客户端展示给用户。
图2示出了两个客户端,一个是电商平台每日成交额、页面浏览量PV、独 立访客量UV等等数据的分析客户端,另一个是某个移动应用APP的访问量分析 客户端,此外还可以包括某个大型连锁超市的服务器CPU负载、某个商品的日 销售额等等数据的分析客户端,等等。在本实施例中,以图表方式,向数据分 析人员展示各个客户端指定时序数据的异常检测结果,该结果可作为后续异常 处理的依据。
请参考图3,其为本申请提供的一种数据异常检测系统的实施例的设备交互 示意图。所述第一客户端2确定目标时序数据,向服务端发送针对所述目标时 序数据的异常检测请求;相应的,所述服务端1接收并相应该请求;确定包括 目标时序数据之前历史时序数据的第一时序;根据所述第一时序,确定去除异 常影响的第一异常判断边界;根据所述第一异常判断边界,判断所述目标时序 数据是否为异常数据;向所述第一客户端回送异常检测结果;相应的,所述第 一客户端2接收该信息,如果目标时序数据为异常数据,则执行异常处理,如 报警等等。
时序数据又称为时间序列(time series),是一系列按时间顺序记录的有 序数据。从采样时间角度而言,时序数据可以是等时间间隔的采样数据,也可 以是非等间隔的采样数据,可标注每个数据点的时间刻度。从时间粒度角度而 言,时序数据的观察时间可以是任何时间形式,如小时、日、周、月、年等等。
在本实施例中,数据检测需求方通过所述第一客户端2指定待检测的目标 时序数据,如用户指定目标时序数据为最近时间的“电子商务平台的日成交额”, 向服务端1请求对该数据进行异常检测。在这种情况下,所述异常检测请求包 括最近时间的“电子商务平台的日成交额”,服务端1可存储该时间前的一段时 间的“电子商务平台的日成交额”,如30天或1周内的数据。
从数据性质角度而言,所述时序数据可以是商业数据,也可以是机器数据。 在实现本发明过程中,发明人发现商业数据异常检测处理具有以下特定需求:1) 商业数据来源多样化,异常的定义也多样化,不可能同一组参数/算法来涵盖所 有商业数据的异常检测需求;2)商业数据相对机器数据,虽然噪音较小,但是 异常出现的更加频繁,异常检测敏感度要求非常准确,对漏报的要求很高;3) 机器数据噪音较大,对误报的要求很高;4)通过T检验方法检测均值变化类异 常时,异常点会逐步移动到的左窗口(第一时序窗口)内,扰乱左窗口的正常 分布,因而无法保持稳定的异常检测敏感度。发明人将以上需求归纳为技术上 的挑战,即:如何让系统保持稳定的异常敏感度,不受异常的干扰。
由于缺乏打标的数据作为参照,所述系统采用基于统计的无监督异常检测 方法,并做了假设:例如数据分布接近高斯分布,异常点出现的频度相对于正 常数据较少等。当实际数据违背假设时,就需要对算法(如T检验算法)做修 正。比如,当异常出现并滑动进入左窗口,即作为参考的数据窗口,异常点就会 打破参考窗口中本来近似于高斯分布,此时需要识别并去除异常的干扰。也就 是说,当数据不符合高斯分布时,要删除长尾数据或者降低它们的权重。
例如,右窗口(第二时序窗口)中原有三个正常点(1,2,1),左窗口中 10个点全部为正常点(1,2,1,2,1,2,1,2,1,2),此时右窗口进入2个 新数据(1,10),这两个数据进入左窗口后为(1,2,1,2,1,2,1,2,1, 10),在这种情况下,左窗口均值变化不大,但左窗口标准差变化很大,如比正 常标准差变大20倍以上,此时(右窗口均值-左窗口均值)与左窗口标准差的 比值就会很小,由此就会降低左窗口的敏感度,新的异常将无法被检测到,最 终导致漏报。
在本实施例中,通过M估计方法(M-estimator)过滤参考区间(第一时序 窗口,左窗口)的异常,去除左窗口中异常点对异常判断边界的影响。M估计是 基于最小二乘估计发展起来的一种抗差估计(Robust Estimation)方法。
在一个示例中,可基于MAD(Median absolute deviation,中位数绝对偏 差)重新确定第一时序中各个数据的权重,以抑制第一时序中的异常点,可将 异常点的值调低,或者是彻底清除异常点,使得检测敏感度保持稳定,不会因 为单个异常点跳变。MAD是单变量数据集中样本差异性的稳健度量。MAD是一个 健壮的统计量,对于数据集中异常值的处理比标准差更具有弹性,可以大大减 少异常值对于数据集的影响。
在本实施例中,服务端1具体用于根据第一时序,确定去除异常点的第三 时序;根据第三时序,确定所述第一异常判断边界。通过这种处理方式,第一 时序中的异常点将被抑制,所述第三时序包括的数据点为正常的数据点。具体 实施时,服务端1可确定所述第一时序的中位数绝对偏差MAD和中位数;根据 所述MAD和中位数,确定第二异常判断边界;第二异常判断边界内的数据为正 常数据,第二异常判断边界外的数据为异常数据;将正常数据的权重设置为第 一权重;将异常数据的权重设置为第二权重;第二权重小于第一权重;根据所 述异常数据和第二权重、正常数据和第一权重,确定所述第三时序。在确定第 三时序后,可通过T检验算法,根据第三时序,确定所述第一异常判断边界。
具体而言,抑制异常的过程如下所述。首先,找到左窗口的中位数Median 和MAD,中位数和MAD对于少量的异常非常鲁棒;然后,设置一个置信区间range =Median±t*MAD,其中t可以是一个用户设定的参数,一般在1~10之间; 然后,左窗口的所有数据,数值落在置信区间之内的,给予较大的权重;在置 信区间之外的点,是异常的概率较大,给予较小的权重,在极端情况下,可以 认为保留置信区间内的数据,删除置信区间外的“异常”数据;最后,在计算T 检验(T test)的时候,将数据和它们的权重都计算在内。在置信区间(第二 异常判断边界)外的数据,它们的权重相对较小或者为零,对于最终的检测结 果影响被抑制。
在一个示例中,在去除左窗口(第一时序窗口)中的异常点后,还可根据 数据点的采集时间,对数据进行时间衰减处理,采集时间越早的数据点的权重 越低,离最近采集时间越近的数据点的权重越高,这样左窗口中所有正常点的 数据会根据对应权重发生变化;然后,根据变化的正常点数值,确定左窗口均 值及方差;最后,根据该均值及方差,确定第一异常判断边界。采用这种处理 方式,使得基于M估计方法过滤参考区间的异常,并加入了时间衰减的系数来 调整数值权重,这样异常判断边界可跟随近期数据趋势变化;因此,可以有效 提升异常检测准确度。
请参见图4,其为置信区间(第一异常判断边界)受异常影响的效果比较图。 从上往下:(1)采用现有T检验方法的检测效果,可以看到异常右侧的置信区 间被异常所干扰,上下宽度变的很大并导致漏报;(2)采用本发明的异常检验 方法,没有进行时间衰减处理的检测效果,可以看到异常右侧的置信区间没有 被异常所干扰,但在右侧有趋势下降时,置信区间不能很快的跟随;(3)采用 本发明的异常检验方法,且将时间衰减因子设置为0.8的检测效果,在右侧有 趋势下降时,置信区间可以有跟随;(4)采用本发明的异常检验方法,且将时 间衰减因子设置为0.6的检测效果,在右侧有趋势下降时,置信区间可以很快的跟随。并且,之后几天的上下界一直比较平稳,没有受到这个异常的扰动。
具体实施时,所述服务端1也可根据目标时序数据的数据类型,确定与该 数据类型对应的第一时序宽度,进而确定第一时序。不同数据类型可对应不同 的第一时序宽度。采用这种处理方式,使得减少左窗口数据量;因此,可以有 效提升异常检测效率。
具体实施时,所述服务端1具体用于确定目标时序数据的数据类型;根据 与数据类型对应的异常判断边界确定算法,确定所述第一异常判断边界。
在本实施例中,所述服务端1还用于确定所述目标时序数据的数据类型; 根据与数据类型对应的第二时序宽度,确定包括目标时序数据的第二时序;根 据所述第一异常判断边界,判断所述目标时序数据是否为异常数据;若是,则 将所述目标时序数据调整为所述第二时序中数据点的中位值;根据所述第一异 常判断边界,判断调整后的目标时序数据是否为异常数据。采用这种处理方式, 使得针对不同类型的时序数据,均可以有效检测出其是否为异常数据;因此, 可以有效提升异常检测准确度。
在一个示例中,目标时序数据为商业数据,如日常平稳数据,稀疏性数据 等等。商业数据可能具有漏报率要低的特定异常检测需求。为了能够准确检测 出商业数据中的异常点,可对右窗口(第二时序窗口)采用如下处理方式:确 定右窗口宽度为1,即只保留1个最近时刻的数据点。采用这种处理方式,可以 有效避免漏报异常的商业数据。
在一个示例中,目标时序数据为机器数据。机器数据属于高噪声数据,通 常将单个高点视为噪声,而非真正的异常点,因此具有误报率要低的特定异常 检测需求。为了能够准确检测出机器数据中的异常点,可对右窗口采用如下处 理方式:1)确定右窗口宽度(第二时序宽度),该宽度可大于针对商业数据的 右窗口宽度,如针对机器数据的右窗口宽度为3,针对商业数据的右窗口宽度为 1,这样可使得商业数据中的单个高点会被判定为异常点,而机器数据中的连续 高点才会被判定为异常点;2)当根据左窗口的第一异常判断边界初步确定目标 时序数据为异常点时,将该异常点的数值调整为右窗口中所有数据点的中位数 (median,中值),如果调整后的数值仍为异常数值,则表示异常点持续了一段 时间,要对该异常点进行报警处理;否则,如果调整后数值为正常数值,则表 示该异常点只是一个单点噪音,不需要对该异常点进行报警处理。
下面通过表1说明右窗口的中位数处理方式及处理效果,其中○表示正常 点,●表示异常点。
表1、左右窗口的异常点情况
通过表1可见,在t5’时刻,异常点超过50%也会报警。本申请实施例提 供的系统,允许报警有少量延时。延时就是,异常来了过几个点再报警,异常 走了过几个点再停止报警。另外,中位数处理可以是一直工作的,异常不超过 50%就不会报警,超过了50%,异常够大就会报警。采用这种处理方式,使得当 右窗口中的异常点比例超过一定比例阈值(如50%)时,中位数也会出现异常, 这样就会导致用异常的中位数去替换初步确定的异常点,替换后该异常点仍为 异常,就会对其进行报警,这样就使得只报警集中出现的异常点,不会报警零 星出现的异常点;因此,可以有效降低误报率。
其中,右窗口宽度可根据需求确定异常检测需求确定。例如,如右窗口宽 度为10或11,则会对10或11个点中的第6个异常点报警,对10或11个点中 的第1-5个异常点不会报警。再例如,如右窗口宽度为20或21,则会对20或 21个点中的第11个异常点报警,对20或21个点中的第1-10个异常点不会报 警。由此可见,可根据异常点集中出现的次数,确定右窗口宽度。在一个示例 中,右窗口宽度=异常点集中出现的次数*2-1,或者,右窗口宽度=异常点集中 出现的次数*2-2。
具体实施时,可通过中值滤波方法(如Medium Filter),对异常点进行中 位数替换处理,以减低机器数据的误报率。如图5所示,从上往下:(1)没有打 开右窗口的中值滤波MF,导致单个的异常点会被误报;(2)使用右窗口的MF, 单个的异常点不会被报警。
在实际应用中,通常要求更快的异常检测速度,为此在确保误报率的前提 下时,可将右窗口的宽度设置的尽量小一些。例如,对于商业数据,需要报警 的反馈速度快一些,右窗口一般设置1个点~5个点。而对于机器运维数据,需 要报警的反馈速度慢一些,可信度更高一些,右窗口一般设置10~100个点。
在另一个实例中,确定右窗口中连续出现的异常点的数量,若该数量大于 数量阈值,则判定最后一个异常点为真正的异常点。例如,数量阈值为3,如果 连续出现3个异常点,则前两个异常点并不报警,而会报警第3个异常点。相 对上述中位滤波方式,这种处理方式使得无法对集中出现、但非连续出现的异 常点进行报警,如表1中t7’时刻的异常点不会报警;因此,该方式较上述中 为滤波方式的异常检测准确度要低一些。
在本实施例中,至少基于对各种商业数据的异常定义的分析,可将时序数 据分为以下类型:日常平稳数据(如GMV每日成交额),实时累积数据(如PV\UV 等每天清零并累积的数),周期数据(如某些有周期性的交易或交通数据等), 稀疏数据(如APP访问量等),机器数据(如CPU负载,网络流量等基础设施的 数据,一般抖动/噪音较大),非周期数据。
需要说明的是,所述时序数据的类型并不限于上述类型,在实际应用中, 也可以根据异常定义的变化,调整已有数据类型或者增加新的数据类型。
请参考图6,其为本申请提供的一种数据异常检测系统的实施例的具体示意 图。在一个示例中,所述系统还可包括第二客户端3。如图7所示,该客户端3 用于确定目标数据类型及其对应的检测参数,向服务端发送针对目标数据类型 的参数设置请求;所述服务端1还用于接收该请求,存储所述目标数据类型、 所述检测参数间的对应关系;以及,根据所述对应关系,执行异常检测处理。
不同数据类型可具有不同的检测参数,下面对本实施例的各种数据类型的 检测参数和检测模型进行说明。
1、数据类型:日常平稳数据。
日常平稳数据通常是商业数据,如电商平台的每日成交额等等。日常平稳 数据较为平滑,抖动比较小,并且用户希望一个点异常就立刻报警,因此可将 右窗口宽度设置为1,以确保较低漏报率。
2、数据类型:机器数据。
机器数据的噪音和抖动较高,用户希望检测的异常持续的时间“足够长” 之后才报警,否则会不停的报警,误报比较多,因此可将右窗口设置大一些, 如10个数据点等等。
本申请实施例提供的系统,可以是基于T检测算法改进的系统,至少根据 检测敏感度、右窗口宽度、左窗口宽度,确定目标时序数据是否为异常点。检 测敏感度是T检测算法的重要参数,关系到异常检测结果的准确度。本实施例 为不同数据类型的时序数据设置不同的检测敏感度。通过T检测算法可确定置 信区间的上下界,真实数据在上下界之间是正常,超出了就是异常。由于T检 测算法属于较为成熟的现有技术,因此此处不再赘述。
服务端1执行异常检测处理后,就可以向所述第一客户端1回送异常检测 结果;相应的,所述第一客户端2接收异常检测结果,若目标时序数据为异常 数据,则可执行异常处理。
异常检测在各个方面都对企业的运营有巨大的帮助:对于商业数据,它能 更快的发现/溯源问题,帮助商业决策,赋能商业效益;对于机器数据:在运维 层面可以更快的发现、定位、排查问题,减少人力,提高服务质量;对于保障 数据安全:它能监控敏感数据,及时发现安全隐患。
在一个示例中,时序数据为云服务的运维数据,如果检测到CPU使用过量, 就需要启动备用CPU。
在另一个示例中,时序数据为电商平台的商家交易数据,如果商家交易数 据异常高,就需要检查交易内容,防止非法刷单等等。
从上述实施例可见,本申请提供的数据异常检测系统,通过确定包括目标 时序数据之前历史时序数据的第一时序;根据所述第一时序,确定去除异常影 响的第一异常判断边界;根据所述第一异常判断边界,判断所述目标时序数据 是否为异常数据;这种处理方式,使得置信区间上下界比较平稳,不会受到异 常的扰动,保持稳定的检测敏感度;因此,可以有效提升时序异常检测的稳定 性。
在上述的实施例中,提供了一种数据异常检测系统,与之相对应的,本申 请还提供一种数据异常检测方法。该方法是与上述系统的实施例相对应。
第二实施例
请参考图8,其为本申请提供的一种数据异常检测方法的实施例的流程图。 本申请提供一种数据异常检测方法,其执行主体包括但不限与服务器,也可以 是能够执行所述方法的任意设备。由于方法实施例基本相似于系统实施例,所 以描述得比较简单,相关之处参见系统实施例的部分说明即可。下述描述的方 法实施例仅仅是示意性的。
本申请提供一种数据异常检测方法,包括:
步骤S801:确定包括目标时序数据之前历史时序数据的第一时序。
步骤S803:根据所述第一时序,确定去除异常影响的第一异常判断边界。
请参考图9,其为本申请提供的一种数据异常检测方法的实施例中步骤S803 的具体流程图。在本实施例中,步骤S803可包括如下子步骤:
步骤S8031:根据第一时序,确定去除异常点的第三时序。
具体实施时,步骤S8031可包括如下子步骤:
步骤S80311:确定所述第一时序的中位数绝对偏差MAD和中位数。
步骤S80312:根据所述MAD和中位数,确定第二异常判断边界。
步骤S80313:将第二异常判断边界内的数据的权重设置为第一权重;将第 二异常判断边界外的数据的权重设置为第二权重;第二权重小于第一权重。
步骤S80314:根据所述数据、第一权重和第二权重,确定所述第三时序。
步骤S8033:根据第三时序,确定所述第一异常判断边界。
具体实施时,步骤S8033可采用如下方式实现:通过T检验算法,根据第 三时序,确定所述第一异常判断边界。
请参考图10,其为本申请提供的一种数据异常检测方法的实施例的具体流 程图。在一个实例中,步骤S8033可包括如下子步骤:
步骤S80331:根据时间衰减系数和数据采集时间,确定第三时序中数据点 的权重;
步骤S80332:根据所述权重和第三时序,确定所述第一异常判断边界。
步骤S805:根据所述第一异常判断边界,判断所述目标时序数据是否为异 常数据。
请参考图11,其为本申请提供的一种数据异常检测方法的实施例的具体流 程图。在本实施例中,所述方法还可包括如下步骤:
步骤S901:确定所述目标时序数据的数据类型。
所述数据类型,包括但不限于:机器数据,日常平稳数据,实时累积数据, 稀疏性数据,周期性数据。
具体实施时,目标时序数据可以是交通调度数据,城市大脑数据,旅游数 据,新零售数据(如客流量等等),娱乐数据,物联网(IOT)数据,股票数据, 等等。如果目标时序数据为异常数据,则可根据各个数据场景的特定异常处理 方式,对时序数据进行异常处理。
以某支股票的交易量数据为例,可根据异常的交易量数据,确定该支股票 的买入点和卖出点,甚至买入量及卖出量等等。例如,如果异常数据超出第一 异常判断边界的50%、且交易量趋势为下降,则可分批卖出股票;如果异常数据 超出第一异常判断边界的50%、且交易量趋势为上升,则可分批买入股票。
以新零售企业的客流量为例,可根据异常的客流量数据,确定是否限制客 流,或者是对店铺进行整改,等等。
以天气数据为例,可根据异常的天气数据,确定是否播种农产品,做出农 产品播种计划;或者是,根据异常的天气数据,确定是否需要干预气候(如人 工降雨、降雪),做出干预气候计划;或者是,根据异常的天气数据,确定虫害 发生可能性的预测数据;或者是,根据异常的天气数据,确定农作物产量的预 测数据,等等。
步骤S903:根据与数据类型对应的第二时序宽度,确定包括目标时序数据 的第二时序。
不同数据类型对应不同的第二时序宽度。
在一个实例中,所述目标时序数据为机器数据,所述第二时序宽度大于1。
在一个实例中,所述目标时序数据为日常平稳数据,所述第二时序宽度等 于1。
相应的,步骤S805可包括如下子步骤:
步骤S8051:根据所述第一异常判断边界,判断所述目标时序数据是否为异 常数据;
步骤S8053:若是,则将所述目标时序数据调整为所述第二时序中数据点的 中位值;
步骤S8054:根据所述第一异常判断边界,判断调整后的目标时序数据是否 为异常数据。
在一个实例中,所述方法还可包括如下步骤:确定目标时序数据的数据类 型;根据与数据类型对应的第一时序宽度,确定第一时序。不同数据类型可对 应不同的第一时序宽度。
需要注意的是,在现有技术中,各个数据方可能根据其具体的异常检测需 求,各自开发适用于其数据的专用异常检测方法。然而,这样处理方式使得每 个专用方法只关注单一种类的数据,无法挖掘不同数据之间的关系,无法根据 数据间关系进行诸如检测参数、检测模型的整体调优、及异常数据关联处理等 等,因而缺乏全局观点,从而导致误报、漏报的情况发生。
在一个实例中,所述方法还可包括如下步骤:接收客户端发送的针对目标 时序数据的异常检测请求;以及,若判定所述目标时序数据为异常数据,则向 所述客户端回送所述目标时序数据为异常数据的信息。具体实施时,所述方法 的执行主体部署在云服务器中,云服务器接收多个数据方的客户端发送的所述 异常检测请求;所述多个数据方的时序数据可以是不同的数据类型。具体实施 时,所述方法的执行主体也可以是企业内部的局域网服务器。
此外,所述服务端还可用于根据所述多个数据方的时序数据的异常检测结 果,确定不同时序数据之间的关联关系。例如,两种时序数据的异常点具有某 种规律,一种数据在某个时刻为异常数据时,另一种异常数据相应也会呈现异 常现象,那么这两种数据间就具有关联关系。将不同数据间建立关联关系后, 就可以据此进行相关的智能决策。例如,数据A出现异常时,数据B的拥有者 就可以进行异常处理,如调整系统参数等等。
在一个示例中,所述服务端还可用于确定所述目标时序数据与其它时序数 据间的异常关联关系;根据所述目标时序数据的异常点,确定所述其它时序数 据的异常点。
例如,日常平稳数据A(如成交金额)和日常平稳数据B(如非成交金额数 据)之间具有异常关联关系,如数据A正常,则数据B也正常,或者是,如果 数据A异常,则数据B也异常。此外,还可以是不同数据类型间的异常关联关 系,如日常平稳数据A和稀疏数据C等等。
再例如,某个电商平台在大促期间(如双十一),交易量远远大于平时,会 有大量的异常报警,此时可将同平台或同部门的、有相关性的报警合并处理。 在这种情况下,可根据目标时序数据、及多种时序数据间的相关性,将不同时 序报警合并。例如,获取多个时序数据各自对应的元数据间的相关性,根据元 数据间的相关性,确定所述异常关联关系。
本申请实施例提供的所述系统,通过服务端确定所述目标时序数据与其它 时序数据间的异常关联关系,并根据所述目标时序数据的异常点,确定所述其 它时序数据的异常点;这种处理方式,使得在并未主动要求对数据进行异常检 测的情况下,仍然可以经由其它数据的异常检测结果,自动的获得异常数据, 实现相关数据的异常报警合并处理;因此,可以有效提升异常检测的准确度和 检测效率。
在一个示例中,所述服务端还可用于确定所述目标时序数据与其它时序数 据间的关联关系;接收客户端发送的针对所述异常点的异常原因设置请求;存 储异常数据与异常原因间的对应关系;根据所述关联关系,将异常原因推送至 与所述目标时序数据相关的其它时序数据的客户端。采用这种处理方式,使得 在发现数据A异常时,允许用户填写异常产生原因,并将该原因推给与该数据 具有关联关系的其它数据方,使得其它数据方可根据该原因确定系统调整方式 等等,这样就可以有效减少异常数据的数量。例如,可收集与搜索推荐有关的 异常数据产生原因,将该原因推给数据关联方。
在一个示例中,所述异常检测请求包括数据名;所述服务端具体用于根据 所述数据名,确定所述数据类型;根据数据名与检测服务费用间的对应关系, 确定检测费用。例如,系统的接入方为铁路部门,该数据方将铁路客流量的时 序数据发送至所述系统,并指定要对该数据进行异常检测,则所述系统可根据 “铁路客流量”数据名,确定数据类型为周期数据,同时可确定铁路客流量异 常数据检测费用。
第三实施例
与上述数据异常检测方法相对应,本申请还提供一种数据异常检测装置。 由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见 方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种数据异常检测装置,包括:
第一时序确定单元,用于确定包括目标时序数据之前历史时序数据的第一 时序;
第一异常判断边界确定单元,用于根据所述第一时序,确定去除异常影响 的第一异常判断边界;
判断单元,用于根据所述第一异常判断边界,判断所述目标时序数据是否 为异常数据。
第四实施例
与上述数据异常检测方法相对应,本申请还提供一种电子设备。由于设备 实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施 例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器和存储器;所述存储 器,用于存储实现数据异常检测方法的程序,该设备通电并通过所述处理器运 行该方法的程序后,执行下述步骤:确定包括目标时序数据之前历史时序数据 的第一时序;根据所述第一时序,确定去除异常影响的第一异常判断边界;根 据所述第一异常判断边界,判断所述目标时序数据是否为异常数据。
在上述的实施例中,提供了一种数据异常检测系统,与之相对应的,本申 请还提供一种数据异常检测方法。该方法是与上述系统的实施例相对应。
第五实施例
本申请提供一种数据异常检测方法,其执行主体包括但不限与客户端,也 可以是能够执行所述方法的任意设备。由于方法实施例基本相似于系统实施例, 所以描述得比较简单,相关之处参见系统实施例的部分说明即可。下述描述的 方法实施例仅仅是示意性的。
本申请提供一种数据异常检测方法,包括:
步骤1:确定目标时序数据;
步骤2:向服务端发送针对目标时序数据的异常检测请求;
步骤3:若服务端检测到目标时序数据为异常数据,则执行异常处理。
第六实施例
与上述数据异常检测方法相对应,本申请还提供一种数据异常检测装置。 由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见 方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种数据异常检测装置,包括:
数据确定单元,用于确定目标时序数据;
请求发送单元,用于向服务端发送针对目标时序数据的异常检测请求;
异常处理单元,用于若服务端检测到目标时序数据为异常数据,则执行异 常处理。
第七实施例
与上述数据异常检测方法相对应,本申请还提供一种电子设备。由于设备 实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施 例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器和存储器;所述存储 器,用于存储实现数据异常检测方法的程序,该设备通电并通过所述处理器运 行该方法的程序后,执行下述步骤:确定目标时序数据;向服务端发送针对目 标时序数据的异常检测请求;若服务端检测到目标时序数据为异常数据,则执 行异常处理。
在上述的实施例中,提供了一种数据异常检测系统,与之相对应的,本申 请还提供一种异常检测参数确定方法。该方法是与上述系统的实施例相对应。
第八实施例
本申请提供一种异常检测参数确定方法,其执行主体包括但不限与客户端, 也可以是能够执行所述方法的任意设备。由于方法实施例基本相似于系统实施 例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。下述描 述的方法实施例仅仅是示意性的。
本申请提供一种异常检测参数确定方法,包括:
步骤1:确定目标数据类型及其对应的检测参数;
步骤2:向服务端发送针对目标数据类型的参数设置请求,以便于所述服务 端存储所述目标数据类型、所述检测参数间的对应关系;以及,根据所述对应 关系,执行异常检测处理。
从上述实施例可见,本申请实施例提供的异常检测参数确定方法,通过确 定目标数据类型及其对应的检测参数;向服务端发送针对目标数据类型的参数 设置请求,以便于所述服务端存储所述目标数据类型、所述检测参数间的对应 关系;以及,根据所述对应关系,执行异常检测处理;这种处理方式,使得服 务端可对不同类型的时序数据,采用不同的检测参数执行异常检测处理;因此, 可以有效提升异常检测准确度。
第九实施例
与上述数据异常检测方法相对应,本申请还提供一种异常检测参数确定装 置。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处 参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种异常检测参数确定装置,包括:
参数确定单元,用于确定目标数据类型及其对应的检测参数;
请求存储单元,用于向服务端发送针对目标数据类型的参数设置请求,以 便于所述服务端存储所述目标数据类型、所述检测参数间的对应关系;以及, 根据所述对应关系,执行异常检测处理。
第十实施例
与上述异常检测参数确定方法相对应,本申请还提供一种电子设备。由于 设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法 实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器和存储器;所述存储 器,用于存储实现异常检测参数确定方法的程序,该设备通电并通过所述处理 器运行该方法的程序后,执行下述步骤:确定目标数据类型及其对应的检测参 数;向服务端发送针对目标数据类型的参数设置请求,以便于所述服务端存储 所述目标数据类型、所述检测参数间的对应关系;以及,根据所述对应关系, 执行异常检测处理。
在上述的实施例中,提供了一种数据异常检测系统,与之相对应的,本申 请还提供一种数据异常检测算法更新方法。该方法是与上述系统的实施例相对 应。
第九实施例
本申请提供一种数据异常检测算法更新方法,其执行主体包括但不限于局 域网服务器,也可以是能够执行所述方法的任意设备。由于方法实施例基本相 似于系统实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明 即可。下述描述的方法实施例仅仅是示意性的。
本申请提供一种数据异常检测算法更新方法,包括:
步骤1:待更新设备检测服务器发出的数据异常检测算法更新信号,所述更 新信号用于指示系统存在数据异常检测算法的更新包。
步骤2:待更新设备向该服务器发送安全链接请求。
步骤3:待更新设备与该服务器建立安全链接,通过安全链接接收服务器发 送的更新包。
步骤4:待更新设备根据该更新包进行更新。
从上述实施例可见,本申请实施例提供的异常检测参数确定方法,通过待 更新设备检测服务器发出的数据异常检测算法更新信号,所述更新信号用于指 示系统存在数据异常检测算法的更新包;待更新设备向该服务器发送安全链接 请求;待更新设备与该服务器建立安全链接,通过安全链接接收服务器发送的 更新包;待更新设备根据该更新包进行更新;这种处理方式,使得快速将云服 务器中更新的异常检测算法更新至其它服务器中(如局域网服务器等);因此, 可以有效提升异常检测准确度。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本 领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改, 因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输 出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是 计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由 任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程 序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类 型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字 多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性 存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机 程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件 和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计 算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、 光学存储器等)上实施的计算机程序产品的形式。
- 数据异常检测方法、装置、系统及电子设备
- 一种系统数据异常检测方法、系统、电子设备及存储介质