CN111901171B - 异常检测和归因方法、装置、设备及计算机可读存储介质 - Google Patents

异常检测和归因方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111901171B
CN111901171B CN202010744692.6A CN202010744692A CN111901171B CN 111901171 B CN111901171 B CN 111901171B CN 202010744692 A CN202010744692 A CN 202010744692A CN 111901171 B CN111901171 B CN 111901171B
Authority
CN
China
Prior art keywords
detection
index
data stream
service data
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010744692.6A
Other languages
English (en)
Other versions
CN111901171A (zh
Inventor
钱橙
李维
贺凡
邵弘毅
张启鹏
郭棋林
熊海亚
谢梁
王汪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010744692.6A priority Critical patent/CN111901171B/zh
Publication of CN111901171A publication Critical patent/CN111901171A/zh
Application granted granted Critical
Publication of CN111901171B publication Critical patent/CN111901171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种异常检测和归因方法、装置、设备及计算机可读存储介质,其中,该方法包括:获取待检测的业务数据流和预设的检测指标;基于该检测指标对该业务数据流进行异常检测,得到检测结果;当该检测结果表征该检测指标存在异常时,获取该检测指标对应的归因模型;利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息;输出该检测结果和该异常原因信息。通过本申请,能够快速准确地识别出业务数据流中检测指标存在的异常以及异常原因。

Description

异常检测和归因方法、装置、设备及计算机可读存储介质
技术领域
本申请实施例涉及数据处理技术领域,涉及但不限于一种异常检测和归因方法、装置、设备及计算机可读存储介质。
背景技术
在日常生活和工作中,往往都会使用统计学的知识来帮助用户去做一个客观的判断,对于企业或者业务应用来说,数据分析显得尤为重要。通过对业务数据流进行数据分析才能了解产品现状、知悉业务发展趋势等,更重要的是,通过数据分析还能够确定业务数据流中是否存在异常的异常数据,以便针对异常数据确定异常原因。相关技术中,进行异常检测的数据分析方法需要依赖大量的数据,应用场景比较单一,一般都是应用在系统运维上,不能满足业务数据分析需求。
发明内容
本申请实施例提供一种方法、装置、设备及计算机可读存储介质,能够快速准确地识别出业务数据流中检测指标存在的异常以及异常原因。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种异常检测和归因方法,包括:
获取待检测的业务数据流和预设的检测指标;
基于该检测指标对该业务数据流进行异常检测,得到检测结果;
当该检测结果表征该检测指标存在异常时,获取该检测指标对应的归因模型;
利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息;
输出该检测结果和该异常原因信息。
本申请实施例提供一种异常检测和归因装置,包括:
第一获取模块,用于获取待检测的业务数据流和预设的检测指标;
异常检测模块,用于基于该检测指标对该业务数据流进行异常检测,得到检测结果;
第二获取模块,用于当该检测结果表征该检测指标存在异常时,获取该检测指标对应的归因模型;
第一确定模块,用于利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息;
第一输出模块,用于输出该检测结果和该异常原因信息。
在一些实施例中,该异常检测模块还用于:
获取针对该检测指标预先设置的异常规则;
当该业务数据流满足该异常规则时,确定检测结果为该检测指标存在异常。
在一些实施例中,该异常检测模块还用于:
当该业务数据流不满足该异常规则时,利用第一异常检测模型对该业务数据流进行短期异常检测,得到短期异常检测结果;
利用第二异常检测模型对该业务数据流进行长期趋势异常检测,得到长期异常检测结果;
基于该短期异常检测结果和该长期异常检测结果确定该检测结果,
其中,当该短期异常检测结果和/或该长期异常检测结果表征该检测指标存在异常时,将该短期异常检测结果和/或该长期异常检测结果确定为该检测结果。
在一些实施例中,该第一异常检测模型包括第一子模型和第二子模型,对应地,该异常检测模块还用于:
获取该业务数据流对应的历史数据流;
利用该第一子模型、该业务数据流和该历史数据流对该检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第一子检测结果;
利用该第二子模型、该业务数据流和该历史数据流对该检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第二子检测结果;其中,该第二子模型在训练时的训练数据中包括节假日属性信息;
基于该第一子检测结果和该第二子检测结果确定该短期检测结果。
在一些实施例中,该第二异常检测模型包括第三子模型和第四子模型,对应地,该异常检测模块还用于:
获取该业务数据流对应的历史数据流;
利用该第三子模型、该业务数据流和该历史数据流对该检测指标的长期趋势信息进行异常检测,得到第三检测子结果;
利用该第四子模型、该业务数据流和该历史数据流对该检测指标的长期趋势信息进行异常检测,得到第四检测子结果,该第四子模型在训练时的训练数据中包括节假日属性信息;
基于该第三检测子结果和该第四检测子结果,确定该长期异常检测结果。
在一些实施例中,该第二获取模块还用于:
当该检测结果为该检测指标存在异常时,确定该检测指标的指标类型;
基于该指标类型,获取该检测指标对应的归因模型。
在一些实施例中,当该指标类型为比值型指标或链路型指标时,该归因模型包括第一归因子模型和第二归因子模型,
对应地,该第一确定模块还用于:
获取该检测指标预设的至少两个检测维度和用于确定该检测指标的至少两个参数指标;
利用该第一归因子模型和该业务数据流,从该至少两个检测维度中确定目标检测维度和该目标检测维度的维度值对该检测指标的第一影响程度值;
利用该第二归因子模型和该业务数据流,从该至少两个参数指标中确定目标参数指标和该目标参数指标对该检测指标的第二影响程度值;
将该目标检测维度的维度值、第一影响程度值、目标参数指标和第二影响程度值确定为该检测指标对应的异常原因信息。
在一些实施例中,该第一确定模块还用于:
获取该业务数据流对应的历史数据流;
依次从该至少两个参数指标中确定一个参数指标作为变化指标,并将除该变化指标之外的参数指标确定为固定指标;
基于该历史数据流确定各个固定指标对应的固定值,基于该业务数据流确定各个变化指标对应的变化值;
基于各个固定值和对应的各个变化值确定该检测指标的各个观测值,并基于该业务数据流获取该检测指标的实际值;
基于该各个观测值和该实际值确定目标参数指标和该目标参数指标对该检测指标的第二影响程度值。
在一些实施例中,该装置还包括:
第三获取模块,用于获取该业务数据流对应的历史数据流信息;
第二确定模块,用于基于该业务数据流信息和历史数据流信息,确定该检测指标的预测信息;
第二输出模块,用于输出该预测信息。
在一些实施例中,该第一输出模块还用于:
获取结果输出模板和原因输出模板;
按照该结果输出模板呈现该检测结果,并按照该原因输出模板呈现该异常原因信息。
在一些实施例中,该第一输出模块还用于:
在第一页面按照该结果输出模板呈现该检测结果;
在第二页面按照该原因输出模板呈现该异常原因信息。
本申请实施例提供一种异常检测和归因设备,包括:
存储器,用于存储可执行指令;处理器,用于执行该存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:
在获取到待检测的业务数据流和预设的检测指标之后,基于该检测指标对该业务数据流进行异常检测,得到检测结果;当该检测结果表征该检测指标存在异常时,再进一步获取该检测指标对应的归因模型;利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息,并输出该检测结果和该异常原因信息,这样将异常检测和归因分析结合在一起,能够快速准确地识别出业务数据流中检测指标存在的异常以及异常原因。
附图说明
图1A为相关技术中在实际数据集上进行异常检测的算法比较示意图;
图1B为相关技术中利用孤立森林确定离群点的示意图;
图1C为相关技术中利用LOF确定离群点的示意图;
图1D为相关技术中利用ARIMAX模型输出的实际数据走势和预测数据走势示意图;
图2为本申请实施例提供的异常检测和归因系统20的一个网络架构示意图;
图3是本申请实施例提供的数据分析平台300的结构示意图;
图4为本申请实施例提供的异常检测和归因方法的一种实现流程示意图;
图5为本申请实施例提供的异常检测的实现流程示意图;
图6为本申请实施例提供的利用控制变量法确定异常原因信息的实现流程示意图;
图7为本申请实施例提供的异常检测和归因的实现过程及架构示意图;
图8为本申请实施例提供的告警算法的实现流程示意图;
图9为本申请实施例提供的高时长用户时长占比趋势图;
图10为本申请实施例提供的归因算法的实现流程示意图;
图11为本申请实施例提供的数据展示界面示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
以下对本申请实施例涉及到的科学术语进行说明。
1)独立访客(UV,Unique Visitors),指不同的用户,通过互联网访问同一个网页或产品的独立触发用户数。独立UV是按浏览器cookie为依据。只要cookie不清楚,两个人在0:00—24:00内用同一个浏览器不同的账号登陆,只会算作一个UV。UV可以作为大多数产品衡量流量的关键指标,通过监测其UV的变化推断出其推广、转化等多个渠道所遇到的问题。
2)页面访问量(PV,Page Views),不同的用户,通过互联网访问同一个网页或产品的总触发用户数。PV与UV成正比,可以通过PV推断某活动是否受用户欢迎或者关注。同时间段,PV一定是大于UV的。
3)重复访客(RV,Repeat Visitors),指不同用户,通过互联网访问同一个网页或产品的重复触发用户数。重复访客越多可以体现出用户粘度越高。
4)日活跃用户(DAU,Daily Active User),指单日某产品或者网页的活跃用户数,日活跃用户可以简称日活,反应产品短时间内用户活跃度。
5)月活跃用户(MAU,Monthly Active Users),单月某产品或者网页的活跃用户数,月活跃用户可以简称日活,反应产品长时间内用户活跃度。
6)用户留存率,指在某一统计时段内的新增用户数中再经过一段时间后仍启动该应用的用户比例。
为了更好地理解本申请实施例中提供的异常检测和归因方法,首先对相关技术中的异常检测和归因方法进行说明。
相关技术中,异常检测过程和归因过程是两个独立的过程,其中,异常检测过程的实现方式包括基于变量分布的异常检测方案和基于时间序列的异常检测方案。
基于变量分布的异常检测方案可以有以下几种:
第一、支持向量机(SVM,Support Vector Machine):在实现时将点投影到高维空间,计算高维空间下点之间的距离,最终输出离群点。
图1A为相关技术中在实际数据集上进行异常检测的算法比较示意图,在图1A中分别示出了利用经验协方差、稳健协方差以及一类SVM进行异常检测时的检测结果,通过图1A可以看出,利用一类SVM进行异常检测相对于经验协方差、稳健协方差进行异常检测,能更准确的确定出离群点。
第二、孤立森林:在实现时,用决策树的思路分割所有的数据点,最先被分割出来的少数簇,作为离群点输出。图1B为相关技术中利用孤立森林确定离群点的示意图,如图1B所示,黑色实心圆点为确定出的离群点。
第三、局部异常因子(LOF,Local Outlier Factor):在实现时根据每个点到其他点的最短距离,计算每个点的密度,最终把密度小的离群点输出。图1C为相关技术中利用LOF确定离群点的示意图,如图1C所示,与其他点之间距离越大的点,异常值得分越高,并被确定为离群点。
基于时间序列的异常检测方案可以包括以下几种:
第一、传递函数(ARIMAX)模型,基于输入的历史数据样本以及对应的变量,预测数据走势,对于实际与预测相差太大的点,输出为离群点。图1D为相关技术中利用ARIMAX模型输出的实际数据走势和预测数据走势示意图。
第二、时间序列分解(Seasonal_decompose),将历史数据分解为:周期项+趋势+残差。如果残差太大,则认为是与历史趋势不符,输出为异常点。
归因过程的实现方式主要是利用Adtributor算法,在实现时先根据JS散度,找到差别最大的维度。再根据该维度下具体取值的变化,找到引起数据变动的根因。
现有的异常检测和归因方案存在的问题包括以下几点:
第一、异常检测算法依赖大量的数据,应用场景比较单一,一般都是应用在系统运维上。而实际的业务数据也是需要异常告警的场景,业务人员经常会提出相关的告警需求。
第二、各个方案都有特长,实际业务数据会有不同的分布特征,需要将不同的算法取长补短,特性化改造来匹配复杂的线上业务数据。
第三、对业务的归因,不能仅仅依靠数据,还需要对业务链路的拆解,所以要对归因算法进一步做细化。
第四、异常检测算法和归因算法没有打通。数据异常仅仅给出报警,信息比较单一,需要再花人力去排查导致数据异常的原因,从而影响归因效率。
基于此,本申请实施例提供一种异常检测和归因方法,基于业务数据、数据分析师的分析思路确定异常检测规则及算法,与业务贴合紧密,适用性强;同时异常检测与归因结合在一起,可以快速的帮助业务进行数据问题定位分析。
下面说明本申请实施例提供的异常检测和归因设备的示例性应用,本申请实施例提供的异常检测和归因设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等任意具有屏幕显示功能的终端,也可以实施为服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
参见图2,图2是本申请实施例提供的异常检测和归因系统20的一个网络架构示意图。如图2所示,该异常检测和归因系统20中包括终端100(例如可以是智能手机、平板电脑、台式计算机、笔记本电脑等)、网络200、数据分析平台300(例如电脑等用户终端、服务器)和应用服务器400。其中,终端100上运行有应用程序,该应用程序可以是即时通讯应用程序、视频观看应用程序、电子书阅读应用程序等等,用户在使用应用程序时产生的数据可以存储在应用服务器400,在实现本申请实施例的异常检测和归因方法时,数据分析人员可以在数据分析平台300设置检测指标以及检测指标需要归因的维度项,数据分析平台300从应用服务器400获取业务数据流,进而对业务信息流进行异常检测和归因分析,得到异常检测结果和归因分析结果,并将异常检测结果和归因分析结果通过数据分析平台300的前端呈现给数据分析人员,以使得数据分析人员能够快速准备的掌握业务数据中的异常及原因,从而提高业务分析效率。
参见图3,图3是本申请实施例提供的数据分析平台300的结构示意图,图3所示的数据分析平台300包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。数据分析平台300中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器350中的一种异常检测和归因装置354,该异常检测和归因装置354可以是数据分析平台300中的异常检测和归因装置,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块3541、异常检测模块3542、第二获取模块3543、第一确定模块3544和第一输出模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的异常检测和归因方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Log ic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Dev ice)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面将结合本申请实施例提供的数据分析平台300的示例性应用和实施,说明本申请实施例提供的异常检测和归因方法。参见图4,图4为本申请实施例提供的异常检测和归因方法的一种实现流程示意图,将结合图4示出的步骤进行说明。
步骤S101,获取待检测的业务数据流和预设的检测指标。
这里,该业务数据流可以是某业务应用对应的数据流,并且可以是以预设的时间粒度为统计时长的业务数据流,例如时间粒度可以为1天,此时该业务数据流可以是一天之内该业务应用对应的数据流,步骤S101在实现时,也可以是按照该预设的时间粒度来获取待检测的业务数据流和预设的检测指标。例如可以是每间隔24小时获取一次待检测的业务数据流和检测指标。在实现时,可以是每天上午8点获取前一天的业务数据流以及预设的检测指标。
该检测指标可以是数据分析人员根据自身的检测需求,或者业务需求预先设置好的,该检测指标可以是大盘的核心指标,例如可以是DAU、PV等,还可以是一些重点的子业务场景或者人群指标,例如可以是年龄为20至30这一人群对应的DAU等。由于检测指标是基于业务数据以及数据分析师的分析思路预先设置好的,因此能够与业务贴合紧密。
步骤S102,基于该检测指标对该业务数据流进行异常检测,得到检测结果。
这里,步骤S102在实现时,可以首先确定业务数据流是否命中预设的业务强规则,如果命中,说明业务数据流存在异常,如果没有命中,再根据预设的异常检测算法,确定业务数据流是否存在异常,进一步地,可以对业务数据流进行长期异常检测和短期异常检测,当两种异常检测中的至少一个确定业务数据流存在异常时,则认为该业务数据流存在异常。其中,长期异常检测用于确定业务数据流中检测指标的长期趋势是否存在异常,短期异常检测主要用于确定业务数据流中检测指标的周同比和/或日环比是否存在异常。
检测结果可以包括检测指标所存在的异常是正向还是负向波动,还可以包括能够表征异常程度的具体数值,在一些实施例中,检测结果还可以包括业务数据流的真实走势,以及通过算法预测的未来趋势。
在本申请实施例中,利用长期异常检测和短期异常检测相结合的方式,能够更加全面的对业务数据流进行异常检测,从而保证检测结果的准确性。
步骤S103,当该检测结果表征该检测指标存在异常时,获取该检测指标对应的归因模型。
这里,步骤S103在实现时,首先确定该检测指标的指标类型;然后再基于该指标类型,获取该检测指标对应的归因模型。
在本申请实施例中,检测指标的指标类型可以包括计数型指标、比值型指标和链路型指标,例如页面访问量、日活跃用户等为计数型指标,人均访问时长、用户留存率等位比值型指标,转化量、成交金额等为链路型指标。
不同的指标类型预设有不同的归因模型,其中,对于比值型指标或链路型指标,指标值的确定需要至少两个参数指标。以人均访问时长为例,该人均访问时长是将总访问时长除以访问总人数确定的,此时单纯从维度去拆解,是不够的,因此在本申请实施例中,针对比值型指标和链路型指标,进行归因定位所采用的模型,不仅要对维度进行拆解来进行归因定位,还采用基于控制变量法的模型进行归因定位。
步骤S104,利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息。
在本申请实施例中,在设置好检测指标后,还可以设置各个检测指标需要归因的维度项,如用户的基础信息、历史活跃度、首次打开APP方式、转化链路等,步骤S104在实现时,可以利用该归因模型和检测指标需要归因的维度项,对业务数据流进行归因分析,从而确定检测指标对应的异常原因信息。
这里,异常原因信息可以包括造成异常波动的目标维度,以及目标维度的维度值,该维度值对检测指标的影响程度等。例如异常原因信息可以为“访问量波动主要归因于年龄维度的变化,其中,年龄为20到25岁用户的访问量减少了205万次,贡献了下跌的80%”,也就是说在该异常原因信息中,检测指标为访问量,目标维度为年龄,目标维度的维度值为20到25岁,对检测指标的影响程度为,减少了205万次,贡献了下跌的89%。
步骤S105,输出该检测结果和该异常原因信息。
这里,步骤S105在实现时,可以首先获取结果输出模板和原因输出模板,然后再按照该结果输出模板呈现该检测结果,并按照该原因输出模板呈现该异常原因信息。在实现时,可以对检测结果进行编辑和梳理,并利用结果输出模板对编辑和梳理后的检测结果进行展示;同样地,可以对异常结果信息进行编辑和梳理,并利用原因输出模板对编辑和梳理后的异常结果信息进行展示。
进一步地,可以是在第一页面按照该结果输出模板呈现该检测结果,并在第二页面按照该原因输出模板呈现该异常原因信息。在一些实施例中,还可以将检测结果和异常原因信息呈现在同一页面。
在本申请实施例提供的异常检测和归因方法中,在获取到待检测的业务数据流和预设的检测指标之后,基于该检测指标对该业务数据流进行异常检测,得到检测结果;当该检测结果表征该检测指标存在异常时,再进一步获取该检测指标对应的归因模型;利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息,并输出该检测结果和该异常原因信息,这样将异常检测和归因分析结合在一起,能够快速准确地识别出业务数据流中检测指标存在的异常以及异常原因。
在一些实施例中,上述步骤S102可以通过如图5中的步骤S1021至步骤S1026实现,以下结合图5对各步骤进行说明。
步骤S1021,获取针对该检测指标预先设置的异常规则。
这里,该异常规则可以是业务数据分析人员根据业务需求和自身的分析经验预先设置的,例如可以是当DAU的周同比下跌超过5%就判断存在异常,需要进行异常告警。
步骤S1022,判断业务数据流是否满足异常规则。
这里,当业务数据流满足异常规则时,进入步骤S1023;当业务数据流不满足异常规则时,进入步骤S1024。
步骤S1023,确定检测结果为该检测指标存在异常。
步骤S1024,利用第一异常检测模型对该业务数据流进行短期异常检测,得到短期异常检测结果。
这里,对业务数据流进行短期异常检测可以是确定检测指标的周同比或者日环比是否存在异常,在实现时可以是计算待检测的业务数据流和历史N天每天的业务数据流的周同比,如果待检测的业务数据流的周同比落在历史周同比数据的5%分位点以下或者95%分位点以上,则认为待检测的业务数据流和以往趋势不太一致,会得出业务数据存在数据异常波动的短期异常检测结果。
步骤S1025,利用第二异常检测模型对该业务数据流进行长期趋势异常检测,得到长期异常检测结果。
这里,步骤S1025在实现时,可以是利用第二异常检测模型生成能够反映业务数据流长期走势的长期趋势线,进而计算长期趋势线每天的斜率取值,斜率的正负代表着数据的长期趋势的涨跌。如果连续下跌超过设定的阈值,就得到业务数据流存在异常的长期检测结果。
步骤S1026,基于该短期异常检测结果和该长期异常检测结果确定该检测结果。
在本申请实施例中,当该短期异常检测结果和/或该长期异常检测结果表征该检测指标存在异常时,将该短期异常检测结果和/或该长期异常检测结果确定为该检测结果,也就是说,检测结果中可以只包括短期异常检测结果,也可以只包括长期异常检测结果,还可以同时包括短期异常检测结果和长期异常检测结果。
在步骤S1021至步骤S1026所在的实施例中,在对业务数据流进行异常检测时,首先判断业务数据流是否命中预设的异常规则,该异常规则可以认为是业务强规则,当命中时,直接可以确定业务数据流存在异常;当未命中时,进一步进行异常检测,并且在本申请实施例中同时进行了短期异常检测和长期异常检测,并由短期异常检测结果和长期异常检测结果共同确定最终的检测结果,这样能够保证检测结果的全面性和准确性。
在一些实施例中,该第一异常检测模型包括第一子模型和第二子模型,对应地,上述步骤S1024“利用第一异常检测模型对该业务数据流进行短期异常检测,得到短期检测结果”可以通过以下步骤实现:
步骤S241,获取该业务数据流对应的历史数据流。
步骤S242,利用该第一子模型、该业务数据流和该历史数据流对该检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第一子检测结果。
这里,第一子模型可以是训练好的异常检测模型,例如可以是训练好的经验模型,在实现时,第一子模型可以基于当前的业务数据流和历史数据流确定检测指标对应的第一周期环比值和/或第二周期同比值,确定第一周期环比值和/或第二周期同比值是否满足预设的异常条件,得到第一子检测结果。
其中,第一周期和第二周期可以是不同的,例如第一周期可以是一天,第二周期可以是七天。
在本申请实施例中,异常条件可以是第一周期同比值在历史第一周期同比数据的5%分位点以下或者95%分位点以上,还可以是第二周期环比值在历史第二周期环比值数据的10%分为点以下或者90%分为点以上。
步骤S243,利用该第二子模型、该业务数据流和该历史数据流对该检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第二子检测结果。
这里,第二子模型可以是孤立森林模型,该该第二子模型在训练时的训练数据中包括节假日属性信息。
由于在遇到节假日的时候,第一周期同比值和第二周期环比值往往会有比较大的波动,这时候对第一周期同比值和第二周期环比值的判别就会收到节假日带来的偏差。因此在第一子模型的基础上嵌套进了第二子模型,来消除节假日的影响。所以在第二字模型的训练数据中,加入了是否为节假日这样的信息,节假日的第一周期同比数据会被分类到同样的簇中。这样继续在同样为节假日的周同比数据中,进行异常值判断,可以极大的消除节假日带来的偏差。
步骤S244,基于该第一子检测结果和该第二子检测结果确定该短期检测结果。
这里,步骤S244在实现时,可以是当第一子检测结果和/或第二子检测结果表征该检测指标存在异常时,将第一子检测结果和/或第二子检测结果确定为短期检测结果。
在步骤S241至步骤S244所在的实施例中,在进行短期异常检测时,分别利用第一子模型和能够消除节假日偏差的第二子模型进行异常检测,从而得到短期检测结果,进而保证短期检测结果的准确性。
在一些实施例中,该第二异常检测模型包括第三子模型和第四子模型,对应地,上述步骤S1025“利用第二异常检测模型对该业务数据流进行长期趋势异常检测,得到长期异常检测结果”可以利用以下步骤实现:
步骤S251,获取该业务数据流对应的历史数据流。
步骤S252,利用该第三子模型、该业务数据流和该历史数据流对该检测指标的长期趋势信息进行异常检测,得到第三检测子结果。
这里,步骤S252在实现时,可以针对业务数据的周期特性,利用第三子模型进行第三周期的数据平滑处理,在本申请实施例中,可以采用移动平均(mo ving average)策略,进行数据平滑处理,步长为第三周期,例如可以是14天。在进行过数据平滑处理后,可以生成经过移动平均平滑后的趋势线。进一步地,利用第三子模型,统计趋势线每天的斜率取值,斜率的正负代表着业务数据流的长期趋势的涨跌,基于该斜率确定第三检测子结果,其中,如果连续下跌超过设定的第一阈值,或者连续上涨超过设定的第二阈值,得到业务数据流存在异常的第三检测子结果。
步骤S253,利用该第四子模型、该业务数据流和该历史数据流对该检测指标的长期趋势信息进行异常检测,得到第四检测子结果。
这里,第四子模型可以是基于prophet算法的异常检测模型,该第四子模型在训练时的训练数据中包括节假日属性信息。步骤S253在实现时,利用第四子模型生成检测指标的长期趋势线,并统计长期趋势线的斜率取值,进而基于斜率确定第四检测子结果。
步骤S254,基于该第三检测子结果和该第四检测子结果,确定该长期异常检测结果。
这里,步骤S254在实现时,可以是当第三子检测结果和/或第四子检测结果表征该检测指标存在异常时,将第三子检测结果和/或第四子检测结果确定为长期检测结果。
在上述实施例中,在进行长期异常检测时,将经验模型和于prophet算法模型进行融合,能够实现在考虑了节假日信息的前提下,得到准确的长期异常检测结果。
在一些实施例中,当指标类型为比值型指标或链路型指标时,归因模型包括第一归因子模型和第二归因子模型,此时步骤S104“利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息”可以通过下述的步骤S1041至步骤S1044实现,以下结合各步骤进行说明。
步骤S1041,获取该检测指标预设的至少两个检测维度和用于确定该检测指标的至少两个参数指标。
在本申请实施例中,会为每个检测指标预设至少两个检测维度,该至少两个检测维度为需要归因的维度项,该至少两个检测维度可以是数据分析人员预先根据业务需求设置的。
当指标类型为比值型指标或链路型指标时,检测指标至少包括两个参数指标。例如,对于一个最简单的比值型指标A来说,其计算公式为A=B/C,那么检测指标A的参数指标为B和C,对于链路型指标D来说,其计算公式为D=E*F,那么检测指标D的参数指标为E和F。
步骤S1042,利用该第一归因子模型和该业务数据流,从该至少两个检测维度中确定目标检测维度和该目标检测维度的维度值对该检测指标的第一影响程度值。
这里,第一归因子模型可以是根据业务模式确定的,例如可以是Adtributo r模型、马尔科夫模型、逻辑回归模型等等。
该目标检测维度是对检测指标影响最大的检测维度,步骤S1042在实现时,可以在确定好至少两个检测维度后,将业务数据流和历史数据流输入第一归因子模型,由第一归因子模型对检测指标进行归因分析处理,从而得到目标检测维度和该目标检测维度的维度值对该检测指标的第一影响程度值。
步骤S1043,利用该第二归因子模型和该业务数据流,从该至少两个参数指标中确定目标参数指标和该目标参数指标对该检测指标的第二影响程度值。
这里,第二归因子模型是基于控制变量算法的归因模型,在实现时,可以是设置其中一个参数指标变化,保持其他参数指标不变,确定出该参数指标变化时,检测指标对应的指标值,确定该指标值与检测指标的实际指标值的差值,再确定出每个参数指标对应的差值后,基于差值的大小确定出目标参数指标以及该目标参数指标对检测指标的第二影响程度值。
步骤S1044,将该目标检测维度的维度值、第一影响程度值、目标参数指标和第二影响程度值确定为该检测指标对应的异常原因信息。
由于对于比值型指标或者链路型指标来说,仅仅从检测维度上确定异常原因信息,还不能够得到更加具体、准确的归因结果,因此,在上述实施例中,对于比值型指标或者链路型指标不仅要利用常规的第一归因子模型来进行归因分析处理,还需要利用基于控制变量法的第二归因子模型进行归因分析处理,从而能够保证得到的异常原因信息更加准备、更加科学。
在一些实施例中,步骤S1043可以通过如图6所示的步骤S431至步骤S435实现,以下结合图6对各步骤进行说明。
步骤S431,获取该业务数据流对应的历史数据流。
步骤S432,依次从该至少两个参数指标中确定一个参数指标作为变化指标,并将除该变化指标之外的参数指标确定为固定指标。
这里,以比值型指标A为例进行说明,其中检测指标A的计算公式为A=B/C,步骤S432在实现时,可以是将参数指标B作为变化指标,参数指标C作为固定指标;将参数指标C作为变化指标,参数指标B作为固定指标。
步骤S433,基于该历史数据流确定各个固定指标对应的固定值,基于该业务数据流确定各个变化指标对应的变化值。
这里,假设参数指标B作为固定指标时,从历史数据流中获取的固定值为Bh,参数指标B作为变化指标时,从业务数据流中获取的变化值为Bc;假设参数指标C作为固定指标时,从历史数据流中获取的固定值为Ch,参数指标B作为变化指标时,从业务数据流中获取的变化值为Cc
步骤S434,基于各个固定值和对应的各个变化值确定该检测指标的各个观测值,并基于该业务数据流获取该检测指标的实际值。
这里,当参数指标B为固定指标时,得到检测指标的观测值A1,并且A1=Bh/Cc;当参数指标C为固定指标时,得到检测指标的观测值A2,并且A2=Bc/Ch。假设从业务数据流获取该检测指标A的实际值为At
步骤S435,基于该各个观测值和该实际值确定目标参数指标和该目标参数指标对该检测指标的第二影响程度值。
这里,步骤S435在实现时,可以确定各个观测值和实际值之间的差值,对应得到各个差值,将最大差值对应的变化指标确定为目标参数指标,并基于该最大差值和实际值确定该目标参数指标对检测指标的第二影响程度值,其中该第二影响程度值可以用百分比来表示,且第二影响程度值P=amax/At,其中,ama x为最大差值。
在步骤S431至步骤S435中,利用控制变量法的思想,将比值型指标或链路乘法型指标进行归因分析,能够得到更加准确的异常原因信息。
在一些实施例中,对于计数型指标,步骤S104在实现时,可以是获取该检测指标预设的至少两个检测维度;然后再利用该第一归因子模型和该业务数据流,从该至少两个检测维度中确定目标检测维度和该目标检测维度的维度值对该检测指标的第一影响程度值,并将目标检测维度的维度值和第一影响程度值确定为该检测指标对应的异常原因信息。
在一些实施例中,还可以通过以下步骤对检测指标进行预测:
步骤S106,获取该业务数据流对应的历史数据流信息。
步骤S107,基于该业务数据流信息和历史数据流信息,确定该检测指标的预测信息。
这里,预测信息可以包括检测指标的预测值,还可以包括检测指标的预测趋势。在实际实现时,可以利用prophet算法确定检测指标的预测信息。
步骤S108,输出该预测信息。
这里,输出预测信息时,按照预设的预测输出模板输出预测信息,并且预测信息可以是与异常检测结果在同一页面输出,或者可以是与异常原因结果在同一页面输出,还可以是在一个单独的页面输出。
通上述的步骤S106至步骤S108,对检测指标进行预测处理,并且将预测信息进行呈现、展示,从而能够使得业务分析人员能够及时了解检测指标的未来走势,该预测信息还可以为后续的运营策略调整提供数据支持和调整依据。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
图7为本申请实施例提供的异常检测和归因的实现过程及架构示意图,如图7所示,该实现架构图包括五层,其中:
在最底层701,数据分析平台从不同的平台的源数据以及配置信息,其中,如图7所示,每日的告警指标数据,可以从数据仓库TDW 7011、Venus 7012和其他数据源7013获取,并且出库到数据分析平台702的mysql结构化数据库,供下游算法调用。另外还可以将业务事件录入平台7014对应的事件数据、权限管理平台7015的管理数据以及元数据对接与录入平台7016的元数据同步到不同的平台获取源数据以及配置信息数据库。
监察指标的选择需要分析师和产品对自己的业务有一个明确的规划。比如对于告警指标,除了大盘的核心指标外,一些重点的子业务场景或者人群数据,也都可以添加到检测的范围里面来;对于归因数据,需要设计好指标需要拆解的详细维度,有产品链路上的影响因素也可以加到原始数据准备中。
在本申请实施例中,元数据可以包括指标的中英文对照、算法参数、事件归因展板需要的事件信息等。
在选择好检测指标和维度之后,即可确定出元数据命名规范以及数据产出规范。元数据的命名规范主要用来实现前后端数据映射关系的唯一性以及命名空间的高效管理。
如图7所示,不同平台的数据进入到数据分析平台702中的数据库中之后,可以首先进行数据校验,当数据库中的数据通过数据校验之后,进行异常检测、归因分析以及数据预测,在得到异常检测结果、归因分析结果以及数据分析结果之后进行数据展示,可以是展示至正式环境中的终端设备,也可以是展示至测试环境中的终端设备,数据展示的实现形式可以包括但不限于数据产出告警机器人、Push推送以及告警交互数据产出。
图8为本申请实施例提供的告警算法的实现流程示意图,如图8所示,该流程包括:
步骤S801,确定输入的数据流是否命中业务强规则。
这里,输入的数据流在进到告警算法计算模块后,首先会进行业务强规则的筛选判断。这里的业务强规则,可以由负责数据分析的工作人员定制的,例如可以是“xx产品的xx指标只要周同比下跌超过3%一定要告警”。如果输入的数据流命中了业务强规则,那么就会进入步骤S803,输出最终的告警详情;如果没有命中业务强规则,进入步骤S802。
步骤S802,对业务数据流进行异常检测。
在本申请实施例中,在步骤S802中会分别利用短期告警算法8021和长期告警算法8022进行异常检测。
其中,短期告警算法,可以利用经验模型和孤立森林算法融合的策略。
数据分析师日常对业务数据进行异常识别的时候,大多都是依赖于周同比和日环比。如果当前数据的周同比和日环比和以往有非常大的不同,就会进行更进一步的分析。针对这个信息,在本申请实施例中的经验模型采用了如下策略:计算当天和历史N天每天数据的周同比,如果当天数据的周同比落在历史周同比数据的5%分位点以下或者95%分位点以上,则认为当天的数据波动和以往趋势不太一致,会给到经验模型判别为数据异常波动的结论。
通常在遇到节假日的时候,周同比和日环比会有比较大的波动,这时候对周同比和日环比的判别就会收到节假日带来的偏差。所以在经验模型的基础上嵌套进了孤立森林,来消除节假日的影响。
孤立森林模型是一个开源的异常识别的算法,在实际线上应用中,主要是用来排除节假日对周同比造成的影响。所以在孤立森林模型的训练数据中,加入了是否为节假日这样的信息,节假日的周同比数据会被分类到同样的簇中。这样继续在同样为节假日的周同比数据中,进行异常值判断,可以极大的消除节假日带来的偏差。
除了短期的告警,业务数据也会可能存在着长期缓慢下跌的情况,这种也是业务数据异常告警的一部分。在本申请实施例中,长期告警算法利用的是将经验模型和fbprophet算法融合的策略。
这里会针对业务数据的周期特性,做一个双周数据的平滑,该经验模型采用的是传统的moving average策略,步长为14。如图9所示,线条901为高时长用户时长占比经过14日移动平均平滑后的趋势线,线条902为高时长用户时长占比的趋势线。
趋势线即为当前指标的长期趋势,在本申请实施例中,可以计算长期趋势线每天的斜率取值,斜率的正负代表着数据的长期趋势的涨跌。如果连续下跌超过设定的阈值,就会触发告警趋势。
在实际应用中,还引入了facebook的开源算法prophet,这个算法通用性较强,可以自定义添加节假日信息,同时引入了“变点”的概念,可以将时间序列较好的分成趋势项、周期项、节假日项。我们利用趋势项的曲线,来对数据的长期趋势做一个分析告警。另一方面,fbprophet自身带有数据预测功能,在结论展示的时候,可以将算法预测的走势也展示在前端。
步骤S803,输出告警详情。
在通过步骤S801和步骤S802之后,会得出当前指标是否异常的告警结论,输出到前端展示,并且还会展示数据的异常波动方向,周同比、长期趋势等详细信息。
在检测出当前指标存在异常后,归因算法也会被自动吊起。图10为本申请实施例提供的归因算法的实现流程示意图,如图10所示,该流程包括:
步骤S1001,获取被检测指标的指标类型。
这里,计算完数据存在异动之后,数据流会被后台执行异动归因算法。线上每天会有不用类型的指标数据,比如像DAU这类的计数型指标、像人均时长这类的比率型指标,也有一些存在链路的像转化率这类的指标。针对不同的指标,有不同的归因分析思路。
步骤S1002,当指标类型为计数型指标时,利用Adtributor算法进行归因分析。
Adtributor算法能够快速挖掘影响因子。对于常用的指标如总时长、DAU、PV等计数型指标,采用该算法能够很快的找到引起数据波动的维度,同时在该维度下,计算每个具体维度取值变化对大盘造成的影响。
步骤S1003,当指标类型为链路乘法型指标时,利用Adtributor算法和控制变量法进行归因分析。
步骤S1004,当指标类型为比率型指标时,利用Adtributor算法和控制变量法进行归因分析。
对于比值型的指标或者存在转化链路的指标,单纯的从维度去拆解,是不够的。比如像人均时长这样的指标,需要知道到底是总时长导致人均时长的异动还是用户数导致的人均时长的波动。在本申请实施例中,针对链路乘法型指标和比率型指标采用Adtributor算法和控制变量法进行归因分析。
其中,在控制变量法中,假设某个链路或者计算单元的取值不变,只有其中一个变量发生变化,观察计算出的结果和实际线上结果的差距。最后根据各个差距的大小,来得出主要的影响因素。
在运行完上述的异常检测和归因算法之后,最终的算法结果会被进行编辑和梳理,最终按照模板样式展示到前端。在预定时间(例如每天早上10点)会对前一天的异常数据进行推送。业务分析师能够根据给到的归因算法,即使排查事件上的根因,了解业务的异常问题。
图11为本申请实施例提供的数据展示界面示意图,其中,在告警指标展示页面1101中,会展示当天有异常的业务指标,并且通过箭头标识出指标是正向还是负向波动。同时在该页面的正下方会展示出数据的真实走势,以及通过算法预测的未来数据趋势。
在归因分析界面1102中,会展示出数据归因的主要结论。在每个指标上线前,业务人员都会根据指标特性梳理出需要归因的维度项,如用户的基础信息、历史活跃度、首次打开APP方式、转化链路等。基于这些需要检测的维度,通过调用不同的归因算法,给出来从数据上看,导致指标异常等原因。
举一个具体的案例,比如在2020年6月5日,某产品的DAU为1200万,被异常检测算法判别出来存在着数据异动,前端便会展示出当前数据的取值、周同比、日环比等信息,同时将数据的历史趋势折线图展示在前端。在归因分析界面1102中,归因算法会给出类似于如下的明确结论:“数据波动主要归因于首启方式维度的变化。首启方式为外部拉活的用户,减少了200万,贡献了下跌的70%”。同时,各个其他维度的数据波动也会展示给用户,作为一个补充信息。
在事件归因展示界面1103中,会展示一些业务上的事件归因,主要依赖于事件展板和人为登记,不依赖于算法。
在本申请实施例提供的异常检测算法和归因算法是基于业务数据、数据分析师的分析思路确定的,与业务贴合紧密,适用性强;并且异动与归因结合在一起,能够快速的帮助业务进行数据问题定位分析,从而数据分析人员可以不用每天花费大量的时间去各个报表平台收集数据,发现问题,寻找原因,能够极大的提升了业务分析效率;同时,所有的数据采用统一的算法,能够保证告警的准确性以及标准化,异常的判断不再依赖于业务分析师的判断,在数据结论上更专业、更科学。
下面继续说明本申请实施例提供的异常检测和归因装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器350的异常检测和归因装置354中的软件模块可以是数据分析平台300中的异常检测和归因装置354,包括:
第一获取模块3541,用于获取待检测的业务数据流和预设的检测指标;
异常检测模块3542,用于基于该检测指标对该业务数据流进行异常检测,得到检测结果;
第二获取模块3543,用于当该检测结果表征该检测指标存在异常时,获取该检测指标对应的归因模型;
第一确定模块3544,用于利用该归因模型和该业务数据流,确定该检测指标对应的异常原因信息;
第一输出模块3545,用于输出该检测结果和该异常原因信息。
在一些实施例中,该异常检测模块还用于:
获取针对该检测指标预先设置的异常规则;
当该业务数据流满足该异常规则时,确定检测结果为该检测指标存在异常。
在一些实施例中,该异常检测模块还用于:
当该业务数据流不满足该异常规则时,利用第一异常检测模型对该业务数据流进行短期异常检测,得到短期异常检测结果;
利用第二异常检测模型对该业务数据流进行长期趋势异常检测,得到长期异常检测结果;
基于该短期异常检测结果和该长期异常检测结果确定该检测结果,
其中,当该短期异常检测结果和/或该长期异常检测结果表征该检测指标存在异常时,将该短期异常检测结果和/或该长期异常检测结果确定为该检测结果。
在一些实施例中,该第一异常检测模型包括第一子模型和第二子模型,对应地,该异常检测模块还用于:
获取该业务数据流对应的历史数据流;
利用该第一子模型、该业务数据流和该历史数据流对该检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第一子检测结果;
利用该第二子模型、该业务数据流和该历史数据流对该检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第二子检测结果;其中,该第二子模型在训练时的训练数据中包括节假日属性信息;
基于该第一子检测结果和该第二子检测结果确定该短期检测结果。
在一些实施例中,该第二异常检测模型包括第三子模型和第四子模型,对应地,该异常检测模块还用于:
获取该业务数据流对应的历史数据流;
利用该第三子模型、该业务数据流和该历史数据流对该检测指标的长期趋势信息进行异常检测,得到第三检测子结果;
利用该第四子模型、该业务数据流和该历史数据流对该检测指标的长期趋势信息进行异常检测,得到第四检测子结果,该第四子模型在训练时的训练数据中包括节假日属性信息;
基于该第三检测子结果和该第四检测子结果,确定该长期异常检测结果。
在一些实施例中,该第二获取模块还用于:
当该检测结果为该检测指标存在异常时,确定该检测指标的指标类型;
基于该指标类型,获取该检测指标对应的归因模型。
在一些实施例中,当该指标类型为比值型指标或链路型指标时,该归因模型包括第一归因子模型和第二归因子模型,
对应地,该第一确定模块还用于:
获取该检测指标预设的至少两个检测维度和用于确定该检测指标的至少两个参数指标;
利用该第一归因子模型和该业务数据流,从该至少两个检测维度中确定目标检测维度和该目标检测维度的维度值对该检测指标的第一影响程度值;
利用该第二归因子模型和该业务数据流,从该至少两个参数指标中确定目标参数指标和该目标参数指标对该检测指标的第二影响程度值;
将该目标检测维度的维度值、第一影响程度值、目标参数指标和第二影响程度值确定为该检测指标对应的异常原因信息。
在一些实施例中,该第一确定模块还用于:
获取该业务数据流对应的历史数据流;
依次从该至少两个参数指标中确定一个参数指标作为变化指标,并将除该变化指标之外的参数指标确定为固定指标;
基于该历史数据流确定各个固定指标对应的固定值,基于该业务数据流确定各个变化指标对应的变化值;
基于各个固定值和对应的各个变化值确定该检测指标的各个观测值,并基于该业务数据流获取该检测指标的实际值;
基于该各个观测值和该实际值确定目标参数指标和该目标参数指标对该检测指标的第二影响程度值。
在一些实施例中,该装置还包括:
第三获取模块,用于获取该业务数据流对应的历史数据流信息;
第二确定模块,用于基于该业务数据流信息和历史数据流信息,确定该检测指标的预测信息;
第二输出模块,用于输出该预测信息。
在一些实施例中,该第一输出模块还用于:
获取结果输出模板和原因输出模板;
按照该结果输出模板呈现该检测结果,并按照该原因输出模板呈现该异常原因信息。
在一些实施例中,该第一输出模块还用于:
在第一页面按照该结果输出模板呈现该检测结果;
在第二页面按照该原因输出模板呈现该异常原因信息。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (14)

1.一种异常检测和归因方法,其特征在于,包括:
获取待检测的业务数据流和预设的检测指标;
基于所述检测指标对所述业务数据流进行异常检测,得到检测结果,其中,所述基于所述检测指标对所述业务数据流进行异常检测包括:基于异常规则对所述业务数据流进行异常检测,并基于预设的异常检测算法对不满足所述异常规则的所述业务数据流进行异常检测,得到所述检测结果;
当所述检测结果表征所述检测指标存在异常时,获取所述检测指标对应的归因模型,其中,不同指标类型的检测指标对应不同的归因模型;
获取所述检测指标预设的至少两个检测维度和用于确定所述检测指标的至少两个参数指标;
利用所述归因模型和所述业务数据流,从所述至少两个检测维度中确定目标检测维度和所述目标检测维度的维度值对所述检测指标的第一影响程度值,并从所述至少两个参数指标中确定目标参数指标和所述目标参数指标对所述检测指标的第二影响程度值,将所述目标检测维度的维度值、第一影响程度值、目标参数指标和第二影响程度值确定为所述检测指标对应的异常原因信息;
输出所述检测结果和所述异常原因信息。
2.根据权利要求1中所述的方法,其特征在于,所述基于所述检测指标对所述业务数据流进行异常检测,得到检测结果,包括:
获取针对所述检测指标预先设置的异常规则;
当所述业务数据流满足所述异常规则时,确定检测结果为所述检测指标存在异常。
3.根据权利要求2中所述的方法,其特征在于,所述基于所述检测指标对所述业务数据流进行异常检测,得到检测结果,包括:
当所述业务数据流不满足所述异常规则时,利用第一异常检测模型对所述业务数据流进行短期异常检测,得到短期异常检测结果;
利用第二异常检测模型对所述业务数据流进行长期趋势异常检测,得到长期异常检测结果;
基于所述短期异常检测结果和所述长期异常检测结果确定所述检测结果,
其中,当所述短期异常检测结果和/或所述长期异常检测结果表征所述检测指标存在异常时,将所述短期异常检测结果和/或所述长期异常检测结果确定为所述检测结果。
4.根据权利要求3中所述的方法,其特征在于,所述第一异常检测模型包括第一子模型和第二子模型,对应地,所述利用第一异常检测模型对所述业务数据流进行短期异常检测,得到短期检测结果,包括:
获取所述业务数据流对应的历史数据流;
利用所述第一子模型、所述业务数据流和所述历史数据流对所述检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第一子检测结果;
利用所述第二子模型、所述业务数据流和所述历史数据流对所述检测指标对应的第一周期环比值和/或第二周期同比值进行异常检测,得到第二子检测结果;其中,所述第二子模型在训练时的训练数据中包括节假日属性信息;
基于所述第一子检测结果和所述第二子检测结果确定所述短期检测结果。
5.根据权利要求3中所述的方法,其特征在于,所述第二异常检测模型包括第三子模型和第四子模型,对应地,所述利用第二异常检测模型对所述业务数据流进行长期趋势异常检测,得到长期异常检测结果,包括:
获取所述业务数据流对应的历史数据流;
利用所述第三子模型、所述业务数据流和所述历史数据流对所述检测指标的长期趋势信息进行异常检测,得到第三检测子结果;
利用所述第四子模型、所述业务数据流和所述历史数据流对所述检测指标的长期趋势信息进行异常检测,得到第四检测子结果,所述第四子模型在训练时的训练数据中包括节假日属性信息;
基于所述第三检测子结果和所述第四检测子结果,确定所述长期异常检测结果。
6.根据权利要求1中所述的方法,其特征在于,所述当所述检测结果为所述检测指标存在异常时,获取所述检测指标对应的归因模型,包括:
当所述检测结果为所述检测指标存在异常时,确定所述检测指标的指标类型;
基于所述指标类型,获取所述检测指标对应的归因模型。
7.根据权利要求1所述的方法,其特征在于,当所述指标类型为比值型指标或链路型指标时,所述归因模型包括第一归因子模型和第二归因子模型,
对应地,所述利用所述归因模型和所述业务数据流,确定所述检测指标对应的异常原因信息,包括:
所述从所述至少两个检测维度中确定目标检测维度和所述目标检测维度的维度值对所述检测指标的第一影响程度值,包括:
利用所述第一归因子模型和所述业务数据流,从所述至少两个检测维度中确定目标检测维度和所述目标检测维度的维度值对所述检测指标的第一影响程度值;
所述从所述至少两个参数指标中确定目标参数指标和所述目标参数指标对所述检测指标的第二影响程度值,包括:
利用所述第二归因子模型和所述业务数据流,从所述至少两个参数指标中确定目标参数指标和所述目标参数指标对所述检测指标的第二影响程度值;
将所述目标检测维度的维度值、第一影响程度值、目标参数指标和第二影响程度值确定为所述检测指标对应的异常原因信息。
8.根据权利要求7中所述的方法,其特征在于,所述利用所述第二归因子模型和所述业务数据流,从所述至少两个参数指标中确定目标参数指标和所述目标参数指标对所述检测指标的第二影响程度值,包括:
获取所述业务数据流对应的历史数据流;
依次从所述至少两个参数指标中确定一个参数指标作为变化指标,并将除所述变化指标之外的参数指标确定为固定指标;
基于所述历史数据流确定各个固定指标对应的固定值,基于所述业务数据流确定各个变化指标对应的变化值;
基于各个固定值和对应的各个变化值确定所述检测指标的各个观测值,并基于所述业务数据流获取所述检测指标的实际值;
基于所述各个观测值和所述实际值确定目标参数指标和所述目标参数指标对所述检测指标的第二影响程度值。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
获取所述业务数据流对应的历史数据流信息;
基于所述业务数据流信息和历史数据流信息,确定所述检测指标的预测信息;
输出所述预测信息。
10.根据权利要求1至6任一项所述的方法,其特征在于,所述输出所述检测结果和所述异常原因信息,包括:
获取结果输出模板和原因输出模板;
按照所述结果输出模板呈现所述检测结果,并按照所述原因输出模板呈现所述异常原因信息。
11.根据权利要求10中所述的方法,其特征在于,所述按照所述结果输出模板呈现所述检测结果,并按照所述原因输出模板呈现所述异常原因信息,包括:
在第一页面按照所述结果输出模板呈现所述检测结果;
在第二页面按照所述原因输出模板呈现所述异常原因信息。
12.一种异常检测和归因装置,其特征在于,包括:
第一获取模块,用于获取待检测的业务数据流和预设的检测指标;
异常检测模块,用于基于所述检测指标对所述业务数据流进行异常检测,得到检测结果,其中,所述基于所述检测指标对所述业务数据流进行异常检测包括:基于异常规则对所述业务数据流进行异常检测,并基于预设的异常检测算法对不满足所述异常规则的所述业务数据流进行异常检测,得到所述检测结果;
第二获取模块,用于当所述检测结果表征所述检测指标存在异常时,获取所述检测指标对应的归因模型,其中,不同指标类型的检测指标对应不同的归因模型;
获取所述检测指标预设的至少两个检测维度和用于确定所述检测指标的至少两个参数指标;
第一确定模块,用于利用所述归因模型和所述业务数据流,从所述至少两个检测维度中确定目标检测维度和所述目标检测维度的维度值对所述检测指标的第一影响程度值,并从所述至少两个参数指标中确定目标参数指标和所述目标参数指标对所述检测指标的第二影响程度值,将所述目标检测维度的维度值、第一影响程度值、目标参数指标和第二影响程度值确定为所述检测指标对应的异常原因信息;
第一输出模块,用于输出所述检测结果和所述异常原因信息。
13.一种异常检测和归因设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至11任一项所述的方法。
CN202010744692.6A 2020-07-29 2020-07-29 异常检测和归因方法、装置、设备及计算机可读存储介质 Active CN111901171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010744692.6A CN111901171B (zh) 2020-07-29 2020-07-29 异常检测和归因方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010744692.6A CN111901171B (zh) 2020-07-29 2020-07-29 异常检测和归因方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111901171A CN111901171A (zh) 2020-11-06
CN111901171B true CN111901171B (zh) 2023-10-20

Family

ID=73182526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010744692.6A Active CN111901171B (zh) 2020-07-29 2020-07-29 异常检测和归因方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111901171B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445679B (zh) * 2020-11-13 2023-01-06 度小满科技(北京)有限公司 一种信息检测方法、装置、服务器及存储介质
CN112786124B (zh) * 2020-12-30 2022-09-02 医渡云(北京)技术有限公司 一种问题排查方法、装置、存储介质及设备
CN112905662A (zh) * 2021-02-08 2021-06-04 上海宏原信息科技有限公司 一种互联网真伪消费者判别方法、系统和装置
CN113055442B (zh) * 2021-02-20 2022-07-15 深圳中正信息科技有限公司 基于动态因子的事件生成方法、电子设备及存储介质
CN112965876A (zh) * 2021-03-10 2021-06-15 中国民航信息网络股份有限公司 一种监控报警方法及装置
CN113283675B (zh) * 2021-06-29 2023-02-03 中国平安人寿保险股份有限公司 指标数据分析方法、装置、设备及存储介质
CN113433128A (zh) * 2021-07-02 2021-09-24 南通海舟电子科技有限公司 一种基于电路板自动化生产的智能显示屏系统
CN113672643B (zh) * 2021-07-14 2022-08-16 北京千方科技股份有限公司 一种业务数字化的分析方法、装置、存储介质及终端
CN114356617B (zh) * 2021-11-29 2024-03-08 苏州浪潮智能科技有限公司 注错测试方法、装置、系统及计算设备
CN114547133B (zh) * 2022-01-17 2023-03-28 北京元年科技股份有限公司 基于多维数据集的对话式归因分析方法、装置及设备
CN117806978B (zh) * 2024-03-01 2024-05-14 腾讯科技(深圳)有限公司 集群异常测试方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447323A (zh) * 2015-12-11 2016-03-30 百度在线网络技术(北京)有限公司 一种数据异常波动检测方法和装置
WO2018028573A1 (zh) * 2016-08-12 2018-02-15 中兴通讯股份有限公司 故障处理方法、装置及控制器
CN107741955A (zh) * 2017-09-15 2018-02-27 平安科技(深圳)有限公司 业务数据监控方法、装置、终端设备及存储介质
CN110147945A (zh) * 2019-04-30 2019-08-20 阿里巴巴集团控股有限公司 一种数据波动的处理方法、装置及设备
CN111143102A (zh) * 2019-12-13 2020-05-12 东软集团股份有限公司 异常数据检测方法、装置、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447323A (zh) * 2015-12-11 2016-03-30 百度在线网络技术(北京)有限公司 一种数据异常波动检测方法和装置
WO2018028573A1 (zh) * 2016-08-12 2018-02-15 中兴通讯股份有限公司 故障处理方法、装置及控制器
CN107741955A (zh) * 2017-09-15 2018-02-27 平安科技(深圳)有限公司 业务数据监控方法、装置、终端设备及存储介质
CN110147945A (zh) * 2019-04-30 2019-08-20 阿里巴巴集团控股有限公司 一种数据波动的处理方法、装置及设备
CN111143102A (zh) * 2019-12-13 2020-05-12 东软集团股份有限公司 异常数据检测方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN111901171A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111901171B (zh) 异常检测和归因方法、装置、设备及计算机可读存储介质
US11586972B2 (en) Tool-specific alerting rules based on abnormal and normal patterns obtained from history logs
CN110619423B (zh) 多任务预测方法、装置、电子设备及存储介质
US11487941B2 (en) Techniques for determining categorized text
Verenich et al. Survey and cross-benchmark comparison of remaining time prediction methods in business process monitoring
CN113377850B (zh) 认知物联网大数据技术平台
CA2940752C (en) Intelligent visualization munging
CN110268409B (zh) 用于电力欺诈检测的新型非参数统计行为识别生态系统
CN109313600A (zh) 存储器使用量确定技术
US20180181641A1 (en) Recommending analytic tasks based on similarity of datasets
CN107566163A (zh) 一种用户行为分析关联的告警方法及装置
US11502930B2 (en) Method and system for generating alerts using parameter based network monitoring for alert conditions
US20210158221A1 (en) Methods and systems for facilitating analysis of a model
CN108139918A (zh) 以每用户为基础定制程序特征
CN110880128A (zh) 异常信息挖掘方法、装置、系统及终端设备
US11553005B1 (en) Provenance based identification of policy deviations in cloud computing environments
Silva et al. A mathematical programming approach for sequential clustering of dynamic networks
CN113704637A (zh) 基于人工智能的对象推荐方法、装置、存储介质
CN112712369A (zh) 一种反洗钱可疑交易监测方法和装置
US20210103808A1 (en) Automatic triaging of network events
Ng et al. Forecasting topic activity with exogenous and endogenous information signals in Twitter
CN114385121B (zh) 一种基于业务分层的软件设计建模方法及系统
WO2022022059A1 (en) Context aware anomaly detection
Wang Decision making and modelling uncertainty for the multi-criteria analysis of complex energy systems
US20230274160A1 (en) Automatically training and implementing artificial intelligence-based anomaly detection models

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant