一种时间序列自动预处理方法
【技术领域】
[0001] 本发明属于大数据技术领域,更具体地,涉及一种时间序列自动预处理方法。
【背景技术】
[0002] 信息技术和互联网的发展产生了海量数据,为各行各业的智能决策提供了依据。 由于时序序列反映了数据随时间变化的模式、异常和趋势,用户能从中发现系统异常、挖掘 行为模式、预测未来状态。单时间序列本身具有时效性、数据格式和取值标准具有较大变 化、此外还存在缺失、异常和不一致等情况。因此,对时间序列数据的预处理异常重要。现有 的时间序列预处理基本是人工完成,在大数据分析处理中工作量达到甚至超过百分之八 十。事实上,随着互联网的发展,时序数据和流式数据动态性较大,靠人工分析通常滞后较 多,无法满足数据模型构建及数据挖掘的需求。
[0003] 鉴于此,业内开始研究自适应和自动数据预处理模型和挖掘算法,其重心主要集 中在预处理自动参数调整和自动化预处理算法组合。包括采用领域知识、信息熵和粒子群 进行参数调整,或采用遗传算法和工作流进行自动预处理算法组合。
[0004] 然而,目前的自动预处理算法存在以下问题:
[0005] 1、自动化预处理流程复杂:为实现时间序列的自动预处理,需遵循一套可扩展、灵 活和全面的预处理流程,涵盖格式处理、数据集成、数据采样、模式提取和数据变换等各方 面,但具体的组合方式与时间序列本身的模式及数据挖掘的目标密切相关;
[0006] 2、预处理参数调整会影响后期数据挖掘:预处理过程中不仅涉及到流程,还涉及 到每个预处理单元门限参数的设置,门限设置不仅影响到样本的归属,还将对后期的数据 挖掘处理产生影响;
[0007] 时空颗粒度选择会产生不可预测的结果:时间序列预处理与其他数据最大的区别 在于,不同时间粒度的聚合将会产生不同的结果。如,对收入序列来说,每天的收入几乎无 规律可循,但周收入则呈现明显的周期性,叠加收入将呈现明显的线性特征。
【发明内容】
[0008] 针对现有技术的以上缺陷或改进需求,本发明提供了一种时间序列自动预处理方 法,其目的在于,解决现有方法中存在的自动化预处理流程复杂、预处理参数调整会影响后 期数据挖掘、时空颗粒度选择产生不可预测结果的技术问题。
[0009] 为实现上述目的,按照本发明的一个方面,提供了一种时间序列自动预处理方法, 包括以下步骤:
[0010] (1)对待处理的时间序列进行行列扫描;
[0011] (2)提取步骤(1)处理后时间序列的数据模式特征;
[0012] (3)根据步骤(2)处理得到的不同模式特征和状态进行预处理元组合;
[0013] (4)根据预处理元组合的结果对数据清洗的数据质量进行评估。
[0014] 优选地,步骤(1)包括以下子步骤:
[0015] (1.1)对时间序列的行进行扫描,其中若第i行中的元素个数nu与时间序列的属性 个数Μ不一致时,则将该行直接剔除,其中i为自然数;
[0016](1.2)对时间序列的列进行扫描,该列空值数为η,相邻的三个有值、空值和有值次 数分别为m+1,m,n1+1,当满足下式时保留该列,否则将该列剔除;
[0017]
[0018]其中,N为列总数,e为自然常数;
[0019] (1.3)对行列剔除后的时间序列进行数据格式规范的一致性检查。
[0020] 优选地,步骤(1.3)包括以下子步骤:
[0021 ] (1.3.1)对于时间序列中的二值型数据属性,对该时间序列进行频度统计,按频度 由高到低进行排名,排名第3位及以后的数据即可标示数据格式不一致;
[0022] (1.3.2)对于标签型数据,检查频度由低到高前3位,并检查其字符长度,若长度与 其他标签型数据的字符长度相差超过2个字节,直接剔除,若长度与其他标签型数据的字符 长度相似,则利用概念树进行剔除.
[0023]优选地,步骤(2)包括如下步骤:
[0024] (2-1)从时间序列中抽取某一属性列^,其中0<i<n,判断该列是否为数值型,若 是,则以小时、天、周和月为单位对样本数据进行归集合并,并对其进行基础的统计方法,以 获得平均值V、方差〇、极大值max(Xl)以及极小值min(Xl),然后进入步骤(2-2),若不是数值 型,则进入步骤(2-6);
[0025] (2-2)判断方差〇 = 0和下式是否同时成立,若成立则将该属性列的状态记为Ai,然 后进入步骤(3),否则进入步骤(2-3);
[0026]
[0027] (2-3)判断方差〇矣0和下式是否同时成立,若成立则将该属性列的状态记为m,然 后进入步骤(3),否则进入步骤(2-4);
[0028]
[0029]其中a为常数,其用于表示yi按照比例递增或者递减。
[0030] (2-4)分别以小时、天、周和月为单位对样本数据进行归集合并,并重复步骤(2-1) 至步骤(2-3),以形成不同时间颗粒度的模式特征,若无法获取模式特征,则将该属性列的 状态记为Ci;
[0031] (2-5)判断步骤(2-2)或(2-3)的模式特征与步骤(2-4)中的模式特征是否一致,若 不一致,则进入步骤(3),若一致则进入步骤(2-6);
[0032] (2-6)统计非数值型属性列中不同的值出现的频次?1,并构建该属性的概率直方 图特征;
[0033] (2-7)以小时、天、周和月为单位对样本数据进行归集合并,重复步骤2-6来构建新 的概率直方图特征,判断新构建的概率直方图特征是否与步骤2-6构建出来的不一致,若不 一致则将该属性列的状态记SDi,然后进入步骤(3),否则进入步骤(2-8);
[0034] (2-8)以标识属性为关联,统计非数值属性两个不同值同时出现的次数P1;J,
[0035] (2-9)以小时、天、周和月为单位对样本数据进行归集合并,重复步骤(2-8)来统计 新出现次数,判断新统计出来的次数是否与步骤(2-8)统计出来的不一致,若不一致则将该 属性列的状态记为Ei,并进入步骤(3),否则直接进入步骤(3)。
[0036] 优选地,步骤(3)包括如下步骤:
[0037] 具体包括如下步骤,如图5所示:
[0038] (3-1)构建包括抽样Sa、差分Di、积分In、概率密度Ps、相似度Si、数据变换Tr、数据 规范Un、回归Re、频繁项集Pi、分类Ca和聚类Cu在内的预处理元,其中第i个处理元记做Pro⑴;
[0039] (3-2)分别设置每个预处理元的前置条件Pr(i)和后置条件Su(i);
[0040] (3-3)对于步骤(2)中的四种不同状态,分别建立可用预处理元集合;
[0041] (3-4)根据步骤(2)中确定的状态构建预处理元组合;
[0042] (3-5)若为状态41,引入序列11,依次遍历3&、0;[、111、?8、3;[、1'1'、1]11、1^,每遍历一个 预处理元,计算是否满足公¥
,若连续不满足的次数超过10次,则将 该预处理元剔除,最终形成预处理元组合Com{Pro(i)};
[0043] (3-6)完成预处理元组合后,对不满足式2条件的样本Xl,需对其进行清洗,清洗后 的样本修正为Vi,该Vi满足下式确定的平方和最小条件;
[0044]
[0045] (3-7)若为状态〇4阳1,计算是否满足相似度条件或保证概率分布保持一致,若连 续10次不满足,则将该预处理元剔除,最终形成预处理元组合C〇m{Pr〇(i),0 <i<η};
[0046] (3-8)完成预处理元组合后,不满足相似度条件的样本Xl,需对其进行清洗,清洗 后的样本修正为V:,该V:应是的概率相似度最大。
[0047]优选地,步骤(4)包括如下步骤:
[0048] (4-1)对于清洗后的数据评估其平稳性,具体方法为将时间序列进行等时间间隔, 并判断平均值和方差是否为常数,若为常数则结束清洗,否则进入步骤(4-2);
[0049] (4-2)若上述均值发生变换,可进行η阶差分变换,若方差变化,可对其使用均方根 变换或对数变换,判断是否获得稳定的时间序列,若满足则结束清洗,否则进入步骤(4-3);
[0050] (4-3)将清洗后的时间序列按皮尔逊X2检验判断其正态性,如式4所示,判断是否 满足X2正态性条件,若满足则结束清洗,否则进入步骤(4-4);
[0051]
[0052] (4-4)按下式检验清洗后时间序列的样本熵,判断其样本熵是否不再发生变化,若 不再发生变化则可结束清洗,否则返回步骤(2)重新清洗;
[0053]
[0054]
[0055]
[0056] 其中,sample表示时间序列的样本熵,N表示时间长度,r为相似容限,m为维数,一 般情况下,m取1或者2,r在0.1到0.25之间任意取值;d[xm+i(i),xm+i(j)]表示两个元素xm+i (i),Xm+l(j)的距离;对每一个i值,统计d[Xm+l(i),Xm+