数据仓库异常数据的检测方法及装置转让专利

申请号 : CN201010235550.3

文献号 : CN102339288B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 范哲

申请人 : 中国移动通信集团辽宁有限公司

摘要 :

本发明提供了一种数据仓库异常数据的检测方法及装置,其中,该检测方法包括:根据指标参数的历史时序数据确定检测阈值,并根据检测阈值确定指标参数的当前时序数据中的初始异常时序数据;根据指标参数的历史时序数据中的异常时序数据,确定异常时序数据的周期;根据周期对初始异常时序数据进行剔重处理,得到当前异常时序数据。本发明克服了凭经验设定阈值不能准确发现数据波动异常的缺点,同时实现得到真正异常的当前异常时序数据,提高检测的准确率。

权利要求 :

1.一种数据仓库异常数据的检测方法,其特征在于,包括:

根据指标参数的历史时序数据确定检测阈值,并根据所述检测阈值确定所述指标参数的当前时序数据中的初始异常时序数据;

根据所述指标参数的历史时序数据的标准差确定异常历史时序数据,根据异常历史时序数据的时序信息确定备选周期,并统计异常历史时序数据基于每一备选周期的发生概率,并将最大的备选周期作为异常时序数据的周期;

分析初始异常时序数据产生的周期是否在异常时序数据的周期上,若不是,则判定数据异常,得到当前异常时序数据。

2.根据权利要求1所述的数据仓库异常数据的检测方法,其特征在于,还包括:选择与预设百分位对应的所述指标参数的历史时序数据;

根据所述预设百分位对应的历史时序数据及所述异常时序数据的周期判断所述指标参数的当前时序数据是否存在渐近性异常。

3.根据权利要求1所述的数据仓库异常数据的检测方法,其特征在于,还包括:根据所述指标参数的历史时序数据中的正常历史时序数据以及另一指标参数的历史时序数据中的正常历史时序数据,确定所述指标参数与另一指标参数的联动系数;

在所述指标参数的当前时序数据与所述另一指标参数的当前时序数据不满足所述联动系数时,判定所述指标参数的当前时序数据与所述另一指标参数的当前时序数据异常。

4.根据上述权利要求1-3中任一项所述的数据仓库异常数据的检测方法,其特征在于,在所述根据指标参数的历史时序数据确定检测阈值的步骤之前包括:将所述指标参数的历史时序数据及当前时序数据进行符合正态分布的预处理。

5.根据权利要求4所述的数据仓库异常数据的检测方法,其特征在于,所述根据指标参数的历史时序数据确定检测阈值,并根据所述检测阈值确定所述指标参数的当前时序数据中的初始异常时序数据的步骤包括:将所述指标参数的历史时序数据的平均值确定为所述检测阈值;

分别计算所述指标参数的当前时序数据与所述检测阈值间差值,将差值的绝对值大于预设值的当前时序数据确定为所述初始异常时序数据。

6.根据权利要求5所述的数据仓库异常数据的检测方法,其特征在于,所述根据所述指标参数的历史时序数据中的异常时序数据,确定所述异常时序数据的周期的步骤包括:根据所述指标参数的历史时序数据的标准差,确定所述异常历史时序数据;

根据所述异常历史时序数据的时序信息确定备选周期,并统计所述异常历史时序数据基于每一备选周期的发生概率,并将概率最大的备选周期作为所述异常时序数据的周期。

7.一种数据仓库异常数据的检测装置,其特征在于,包括:

阈值确定模块,用于根据指标参数的历史时序数据确定检测阈值,以及根据所述指标参数的历史时序数据的标准差确定异常历史时序数据,根据异常历史时序数据的时序信息确定备选周期,并统计异常历史时序数据基于每一备选周期的发生概率,并将最大的备选周期作为异常时序数据的周期;

检测模块,用于根据所述检测阈值,确定所述指标参数的当前时序数据中的初始异常时序数据;

剔重模块,用于分析初始异常时序数据产生的周期是否在异常时序数据的周期上,若不是,则判定数据异常,得到当前异常时序数据。

8.根据权利要求7所述的数据仓库异常数据的检测装置,其特征在于,还包括:分布异常检测模块,用于选择与预设百分位对应的所述指标参数的历史时序数据;根据所述预设百分位对应的历史时序数据及所述异常时序数据的周期判断所述指标参数的当前时序数据是否存在渐近性异常。

9.根据权利要求7所述的数据仓库异常数据的检测装置,其特征在于,还包括:联动异常检测模块,用于根据所述指标参数的历史时序数据中的正常历史时序数据以及另一指标参数的历史时序数据中的正常历史时序数据,确定所述指标参数与另一指标参数的联动系数;在所述指标参数的当前时序数据与所述另一指标参数的当前时序数据不满足所述联动系数时,判定所述指标参数的当前时序数据与所述另一指标参数的当前时序数据异常。

10.根据上述权利要求7-9中任一项所述的数据仓库异常数据的检测装置,其特征在于,还包括:预处理模块,用于将所述指标参数的历史时序数据及当前时序数据进行符合正态分布的预处理。

说明书 :

数据仓库异常数据的检测方法及装置

技术领域

[0001] 本发明涉及管理信息系统及业务支撑领域,具体涉及一种数据仓库异常数据的检测方法及装置。

背景技术

[0002] 数据仓库对海量数据进行抽取、转换、清洗和加载,从中挖据有分析价值的数据,并通过不断聚集展示分析结果,为市场精准化营销水平和深度运营能力提供了有力支撑。由此,数据质量监控或检测成为数据仓库建设的重中之重,现有检测方法一般包括如下步骤:维护人员通过终端登陆前台系统,并访问经分后台数据库;维护人员通过前台系统的分析结果,如趋势分析图及双条对比分析线等,对系统生成的指标进行检查;分析当日数据与前日数据波动范围比例(或者计算年同期比,月同期环比),分析历史数据并设定波动阀值,在数据波动范围超过阀值时进行数据异常告警;以及,根据检查结果初步分析波动原因,并通过后台数据库表,检查明细,如果指标不正常,则处理故障。
[0003] 现有数据仓库异常数据的检测技术有如下不足:
[0004] (1)凭对历史数据的经验观察设定用于检测异常数据的波动阈值,不能及时、准确地发现系统生成指标的变化异常,同时现有人工监控不能及时在众多的系统生成指标中发现异常数据,数据监控效率低;
[0005] (2)数据仓库中大部分数据都具有时序特征,而现有检测方法没有针对数据的时序性进行监控,对具有周期性的数据监控易出现错误告警;
[0006] (3)无法监控渐进性异常数据;
[0007] (4)不能及时发现系统生成多指标的数据联动异常波动。

发明内容

[0008] 本发明的第一目的是提出一种准确高的数据仓库异常数据的检测方法。
[0009] 本发明的第二目的是提出一种准确高的数据仓库异常数据的检测装置。
[0010] 为实现上述第一目的,本发明提供了一种数据仓库异常数据的检测方法包括:根据指标参数的历史时序数据确定检测阈值,并根据检测阈值确定指标参数的当前时序数据中的初始异常时序数据;根据指标参数的历史时序数据中的异常时序数据,确定异常时序数据的周期;根据周期对初始异常时序数据进行剔重处理,得到当前异常时序数据。
[0011] 为实现上述第二目的,本发明提供了一种数据仓库异常数据的检测装置,包括:阈值确定模块,用于根据指标参数的历史时序数据确定检测阈值,以及根据指标参数的历史时序数据中的异常时序数据,确定异常时序数据的周期;检测模块,用于根据检测阈值,确定指标参数的当前时序数据中的初始异常时序数据;剔重模块,用于根据周期对初始异常时序数据进行剔重处理,得到当前异常时序数据。
[0012] 本发明各个实施例通过根据历史时序数据信息确定检测阈值,进而根据该检测阈值确定异常时序数据,克服了凭经验设定阈值不能准确发现数据波动异常的缺点,同时根据历史时序数据的时序信息对根据检测阈值确定的初始异常数据进行周期性异常数据的剔重处理,得到真正异常的当前异常时序数据,提高检测的准确率。

附图说明

[0013] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一并用于解释本发明,并不构成对本发明的限制。在附图中:
[0014] 图1为本发明的数据仓库异常数据的检测方法的实施例一流程图;
[0015] 图2为本发明的数据仓库异常数据的检测方法的实施例二流程图;
[0016] 图3为本发明的数据仓库异常数据的检测装置的实施例结构图。

具体实施方式

[0017] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0018] 方法实施例
[0019] 图1为本发明的数据仓库异常数据的检测方法的实施例一流程图。如图1所示,本实施例包括:
[0020] 步骤102:根据指标参数的历史时序数据确定检测阈值,并根据检测阈值确定指标参数的当前时序数据中的初始异常时序数据;详见图2的解释说明;
[0021] 步骤104:根据指标参数的历史时序数据中的异常时序数据,确定异常时序数据的周期;详见图2的解释说明;
[0022] 步骤106:根据周期对初始异常时序数据进行剔重处理,得到当前异常时序数据;详见图2的解释说明。
[0023] 本实施例通过根据历史时序数据信息确定检测阈值,进而根据该检测阈值确定异常时序数据,克服了凭经验设定阈值不能准确发现数据波动异常的缺点,同时根据历史时序数据的时序信息对根据检测阈值确定的初始异常数据进行周期性异常数据的剔重处理,得到真正异常的当前异常时序数据,提高检测的准确率。
[0024] 图2为本发明的数据仓库异常数据的检测方法的实施例二流程图。如图2所示,本实施例包括:
[0025] 步骤201:将指标参数的历史时序数据及当前时序数据进行预处理以符合正态分布;具体操作时,可以包括:
[0026] 首先,提取每个指标(即指标参数)的历史数据(如最近200天的历史数据),分别计算每个指标是否属于正态分布;如,具体操作时,可以计算四分位Qs和标准差s,进而计算比值Qs/S,若指标的比值Qs/S在[1.28,1.32]之间则符合正态分布,否则不符合正态分布;
[0027] 其次,在指标不符合正态分布时进行数据转换,如进行指数变换以保证满足正态分布;
[0028] 最后,将时间特征与历史数据一一对应,得到历史时序数据,如,具体操作时可以将历史数据与其产生的月,日,星期等信息关联;
[0029] 步骤202:根据指标参数的历史时序数据确定检测阈值,并根据检测阈值确定指标参数的当前时序数据中的初始异常时序数据;
[0030] 具体操作时,可以将指标参数的历史时序数据的平均值确定为检测阈值,分别计算指标参数的当前时序数据与该平均值间的差值,将差值的绝对值大于预设值的当前时序数据确定为初始异常时序数据;还可以判断指标参数的标准差与历史时序数据平均值的差异,如果差异大于预设值,如±2.5,说明数据异常的概率已经达到90%以上;另外也可以利用聚类计算方法,如将数据分为15个组,每个类里面有K个元素,取为异常指标组中的元素;
[0031] 步骤203,根据指标参数的历史时序数据中的异常时序数据,确定异常时序数据的周期;具体操作时,可以包括:
[0032] 首先,根据指标参数的历史时序数据的标准差,确定异常历史时序数据;如,利用每个指标参数的历史数据计算出对应的标准差,并计算每个指标参数的历史数据与标准差之间的值θ,筛选值θ超过±2的Xi计为异常历史时序数据X′i(如产生了N个X′i);
[0033] 其次,根据异常历史时序数据的时序信息确定备选周期,并统计异常历史时序数据基于每一备选周期的发生概率,并将概率最大的备选周期作为周期;如,具体操作时,可以以X′i产生的月Ai,日Bi,星期Ci作为备选周期,还可以按照X′i产生的时间排序计算每相邻的两个Xi产生时间天数Di,计算平均天数为 计算X′i与其产生的月Ai,日Bi,星期Ci,周期D四个信息产生的概率,将概率P最大所对应的备选周期作为异常时序数据产生的周期,其中,各备选周期对应的概率计算方法如下,P(异常数据产生|产生的月Ai),P(异常数据产生|产生的日Bi),P(异常数据产生|产生的星期Ci),P(异常数据产生|产生的周期D);如:当一个指标只有在每个月的1号异常,出现6次,并且1号的数据总共出现6次那么P(异常数据产生|产生的月Ai)解释为当1号的数据产生时异常数据产生的概率为100%;
[0034] 步骤204:根据周期对初始异常时序数据进行剔重处理,得到当前异常时序数据;也就是说经过步骤202确定的初始异常时序数据不直接作为最后确定的异常时序数据,还要考虑步骤203所确定的异常时序数据的周期信息,看其是否属于重复异常信息,即分析初始异常时序数据产生的月,日,星期,周期A0,B0,C0,D是否产生在步骤203所确定的异常时序数据的周期上,若不是,则判定数据异常;若是,则判定数据不异常;
[0035] 步骤205:选择与预设百分位对应的指标参数的历史时序数据,并根据该预设百分位对应的历史时序数据及异常时序数据的周期确定当前时序数据是否存在渐近性异常(包括逐渐增高及逐渐降低),即判断是否在数据轴上下分布异常;具体操作时,可以包括:
[0036] 首先,在时间变量与数据变量之间有明确的关系时,则可以以时间轴为1至180(对应于200天的历史数据,该时间轴长度的选择可以根据实际需要而自由设定)、数据轴为X1........................X180计算出信息量解释最大的直线L(如方差线),计算X1.....................X180与L之间的差值Y1.........................Y180,对Y1.....................Y180分布进行巡检分析,具体计算步骤可以如下:
[0037] aaa.计算Yi连续大于等于0的天数y′i及Yi连续小于0的天数yi,同时计算max(y′i),max(yi),留取max(max(y′i),max(yi),20)个历史时序数据;
[0038] bbb.联合留取的历史数据与当前时序数据以分析分布是否异常,判断最近历史时序数据 和当前时序数据X0连续大于0或者小于0的天数Y0,结合周期A0,B0,C0,D(剔重处理),计算出y′i,yi的分位数以y′i,yi,根据95%分位数Y为判断依据如果Y0大于Y说明数据出现异常的概率超过90%;
[0039] 其次,在时间变量与数据变量之间没有明确的关系,也可以按照上述步骤进行计算,如可以计算直线L为前180天的平均值,计算X1.......................X180与L之间的差值Y1........................Y180,对Y1.......................Y180分布进行巡检分析,计算步骤如下:y′i为Yi连续大于等于0的天数,yi为Yi连续小于0的天数,同时计算max(y′i),max(yi),留取max(max(y′i),max(yi),20)个数据加上当期数据分析分布是否异常,判断最近 和X0连续大于0或者小于0的天数Y0,结合周期A0,B0,C0,D,计算出y′i,yi的分位数以y′i,yi,根据95%分位数Y为判断依据如果Y0大于Y说明数据出现异常的概率超过90%;
[0040] 步骤206:根据指标参数的历史时序数据中的正常历史时序数据以及另一指标参数的历史时序数据中的正常历史时序数据,确定指标参数与另一指标参数的联动关系;以及在指标参数的当前时序数据与另一指标参数的当前时序数据不满足联动关系时,判定指标参数的当前时序数据与另一指标参数的当前时序数据异常;
[0041] 可以利用每个指标的最近200天历史数据计算每两个指标的联动系数;联动系数用于描述两个具有内在联系之间的变量之间的关系,比如人的身高和体重两个指标存在内在联系,如果这种联系存在异常就需要通过联动系数及联动计算方法来判断是否异常,将计算的联动系数指标镞作为判断当前指标是否异常的依据;将指标参数1,指标参数2在步骤204中确定的当前异常数据剔除,计算经过当前异常数据剔除处理后的指标参数1与指标参数2是否存在同时增减的关系,具体操作时,可以应用以下方法:
[0042] 11)计算指标参数1与指标参数2同时增长或同时降低的概率,则1=P1(指标1,指标2同时增减)+P2(指标2不增,指标1增加)+P3(指标1不增,指标2增加),该指标参数1与指标参数2的一组联动概率P1、P2、P3取min(P1,P2,P3)<=0.1计为一个异常的联动系数,判断异常的联动系数是否存在,如:指标参数1与指标参数2的当前异常数据满足异常的联动系数小于min(P1,P2,P3)条件则判断为联动异常;
[0043] 22)可以利用数据的相关系数进行计算,如指标参数1与指标参数2相关系数为ρ,检验值计为T,如果根据前200天的数据计算出的T<0.1,说明指标参数1和指标参数2存在稳定的联动系数,将这个系数计为ρ(指标1,指标2),将指标参数的相关系数计为ρ(1,2),因为由于ρ对异常数据较为敏感,如果指标参数1,指标参数2的当前时序数据异常,则先计算T值,如T值变化大于等于0.1说明当期指异常,如果ρ(1,2)/ρ(指标1,指标2)波动超出10%可以判断数据异常;
[0044] 33)可以利用指标参数1为数据值,f(指标2,指标3,指标4...指标n)进行拟和训练模拟,这种方式也可以进行计算。
[0045] 本实施例通过根据历史时序数据信息确定检测阈值,进而根据该检测阈值确定异常时序数据,克服了凭经验设定阈值不能准确发现数据波动异常的缺点,同时根据历史时序数据的时序信息对根据检测阈值确定的初始异常数据进行周期性异常数据的剔重处理,得到真正异常的当前异常时序数据,提高检测的准确率,实现时序数据的波动异常的自动化监控,并可以自动判断数据是否属于周期性波动异常;通过提取数据在时间轴分布的关系,根据提取的特征系数判断数据连续低于或者高于历史平均值的天数是否异常,进而判断在时间轴的分布是否异常,即数据是否存在渐进型降低或者渐进型增长异常;自动进行多维数据检查,利用指标之间的关联关系监控计算一定时期内的数据是否属于正常数据,发现潜在的业务异常数据与质量异常数据,提升了异常数据监控能力。
[0046] 装置实施例
[0047] 图3为本发明的数据仓库异常数据的检测装置的实施例结构图。图1及2所示的各方法实施例均可适用于本实施例。本实施例包括:阈值确定模块31,用于根据指标参数的历史时序数据确定检测阈值,以及根据指标参数的历史时序数据中的异常时序数据,确定异常时序数据的周期;检测模块32,用于根据检测阈值,确定指标参数的当前时序数据中的初始异常时序数据;剔重模块33,用于根据周期对初始异常时序数据进行剔重处理,得到当前异常时序数据。
[0048] 具体操作时,该装置还可以包括:
[0049] 预处理模块30,用于将指标参数的历史时序数据及当前时序数据进行符合正态分布的预处理;
[0050] 分布异常检测模块34,用于选择与预设百分位对应的指标参数的历史时序数据;根据预设百分位对应的历史时序数据及异常时序数据的周期判断指标参数的当前时序数据是否存在渐近性异常;
[0051] 联动异常检测模块35,用于根据指标参数的历史时序数据中的正常历史时序数据以及另一指标参数的历史时序数据中的正常历史时序数据,确定指标参数与另一指标参数的联动系数;在指标参数的当前时序数据与另一指标参数的当前时序数据不满足联动系数时,判定指标参数的当前时序数据与另一指标参数的当前时序数据异常。
[0052] 本领域技术人员应当可以理解:阈值确定模块31、检测模块32及剔重模块33即可实现本发明的发明目的,其他模块为优选模块。
[0053] 本实施例通过阈值确定模块31根据历史时序数据信息确定检测阈值,进而检测模块32根据该检测阈值确定异常时序数据,克服了凭经验设定阈值不能准确发现数据波动异常的缺点,同时剔重模块33根据历史时序数据的时序信息对根据检测阈值确定的初始异常数据进行周期性异常数据的剔重处理,得到真正异常的当前异常时序数据,提高检测的准确率,实现时序数据的波动异常的自动化监控,并可以自动判断数据是否属于周期性波动异常;分布异常检测模块34通过提取数据在时间轴分布的关系,根据提取的特征系数判断数据连续低于或者高于历史平均值的天数是否异常,进而判断在时间轴的分布是否异常,即数据是否存在渐进型降低或者渐进型增长异常;联动异常检测模块35自动进行多维数据检查,利用指标之间的关联关系监控计算一定时期内的数据是否属于正常数据,发现潜在的业务异常数据与质量异常数据,提升了异常数据监控能力。
[0054] 最后应说明的是:以上仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。