一种基于时间序列的数据挖掘方法及系统与流程

文档序号:11950793阅读:244来源:国知局
一种基于时间序列的数据挖掘方法及系统与流程

本发明涉及数据挖掘领域,尤其涉及一种基于时间序列的数据挖掘方法及系统。



背景技术:

目前,随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,针对海量的事件记录数据(例如金融领域中某类信用卡的交易记录数据)生成时间序列,然后进行数据挖掘以预测该事件在未来的变化趋势变得越来越重要。其中,时间序列预测在目标跟踪、天气预报、市场分析和故障诊断领域中有广泛的应用,传统的预测方法大都采用线性模型来近似地表达预测对象的发展规律。

现有技术通过结合使用小波分析理论,对时间序列进行预处理,基于预处理之后的数据建模进行预测,但是现有的基于小波分析的时间序列预测模型存在以下缺点:因为现有的做法仅利用了特定事件本身的历史时间序列进行预测,忽略了影响特定事件的各种影响因素,比如零售行业与不同行业之间存在着一定的关联关系,制造业的景气程度会影响零售行业的供给能力,而房地产的快速发展将拉动零售行业的消费需求。因而现有的基于时间序列的数据预测方法得到的预测结果不够精确。



技术实现要素:

本发明实施例提供一种基于时间序列的数据挖掘方法及系统,用以解决现有技术中存在预测结果不够准确的问题。

本发明方法包括一种基于时间序列的数据挖掘方法,该方法包括:获取设定时间段内的原始事件记录,并根据所述原始事件记录确定一个基础事件类型和M个关联事件类型;

根据所述原始事件记录生成与所述基础事件类型对应的的第一历史时间序列,并根据所述原始事件记录生成与M个关联事件类型对应的M个第二历史时间序列;

对所述第一历史时间序列和所述M个第二历史时间序列进行小波分解,得到所述第一历史时间序列的低频时间序列,以及所述M个第二历史时间序列的低频时间序列;

针对每个第二历史时间序列的低频时间序列,计算所述第一历史时间序列的低频时间序列与每个第二历史时间序列的低频时间序列的关联系数;

确定所述关联系数大于第一阈值的K个第二历史时间序列的低频时间序列,并根据所述K个第二历史时间序列的低频时间序列和所述第一历史时间序列的低频时间序列建立预测模型,并根据所述预测模型得到所述基础事件类型的预测值,其中M为正整数,K为不大于M的整数。

基于同样的发明构思,本发明实施例进一步地提供一种基于时间序列的数据挖掘系统,该系统包括:获取单元,用于获取设定时间段内的原始事件记录,

生成单元,用于,根据所述原始事件记录确定一个基础事件类型和M个关联事件类型;根据所述原始事件记录生成与所述基础事件类型对应的的第一历史时间序列,并根据所述原始事件记录生成与M个关联事件类型对应的M个第二历史时间序列;

预处理单元,用于对所述第一历史时间序列和所述M个第二历史时间序列进行小波分解,得到所述第一历史时间序列的低频时间序列,以及所述M个第二历史时间序列的低频时间序列;

计算单元,用于针对每个第二历史时间序列的低频时间序列,计算所述第一历史时间序列的低频时间序列与每个第二历史时间序列的低频时间序列的关联系数;

建模单元,用于确定所述关联系数大于第一阈值的K个第二历史时间序列的低频时间序列,并根据所述K个第二历史时间序列的低频时间序列和所述第一历史时间序列的低频时间序列建立预测模型;

预测单元,用于根据所述预测模型得到所述基础事件类型的预测值,其中M为正整数,K为不大于M的整数。

本发明实施例为了避免现有技术仅利用特定事件的历史时间序列进行预测结果不准确的问题,本发明实施例不仅考虑基础事件类型的历史时间序列,还将与基础事件类型相关的其它关联事件类型的历史时间序列,具体地,将基础数据类型的历史时间序列和与基础事件类型相关的参考指标的历史时间序列结合起来建立预测模型,进而利用这一模型得到更加准确的预测结果。与现有技术相比,本发明实施例在建立预测模型时考虑的因素更加全面,从而利用预测模型生成的预测值更加准确。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供一种基于时间序列的数据挖掘方法流程示意图;

图2为本发明实施例提供一种基于时间序列的数据挖掘系统架构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

参见图1所示,本发明实施例提供一种基于时间序列的数据挖掘方法流程示意图,具体地实现方法包括:

步骤S101,获取设定时间段内的原始事件记录,并根据所述原始事件记录确定一个基础事件类型和M个关联事件类型。

步骤S102,根据所述原始事件记录生成与所述基础事件类型对应的的第一历史时间序列,并根据所述原始事件记录生成与M个关联事件类型对应的M个第二历史时间序列。

步骤S103,对所述第一历史时间序列和所述M个第二历史时间序列进行小波分解,得到所述第一历史时间序列的低频时间序列,以及所述M个第二历史时间序列的低频时间序列。

步骤S104,针对每个第二历史时间序列的低频时间序列,计算所述第一历史时间序列的低频时间序列与每个第二历史时间序列的低频时间序列的关联系数。

步骤S105,确定所述关联系数大于第一阈值的K个第二历史时间序列的低频时间序列,并根据所述K个第二历史时间序列的低频时间序列和所述第一历史时间序列的低频时间序列建立预测模型,并根据所述预测模型得到所述基础事件类型的预测值,其中M为正整数,K为不大于M的整数。

若上述方法用于市场分析,则原始事件记录可以指的商户的刷银联卡的交易记录,因为在银联的后台系统可以获取商户的商户代码,进而可以根据商户代码判别商户属于何种行业,具体地,每张POS单上都有一个编号,这个编号共有15位。例如:102100058120569,这个编号可以划分为四个部分,即102-1000-5812-0569,其中四个部分分别为:3位银行、4位行政区划、4位消费类型、4位商户代码。上述四个部分的含义分别为,102工商银行收单,1000代表了北京,5812公共饮食行业、餐馆,0569商户代码全聚德。因此,银联后台系统获取一段时间内的各个商户关于银联卡的交易信息,就可以通过POS单的编号将交易信息进行划分,若按照行业划分,就可以划分为零售行业、公共饮食、文化体育等不同的行业的数据集合。

进一步地,将不同行业的数据集合按照时间点的顺序排列,所述时间点的单位可以为日、月或年,然后利用每个数据集合中的数据就可以建立历史时间序列,假设基础事件类型是零售行业,零售行业的第一历史时间序列可以表示为采用小波分析方法对零售行业的历史时间序列中的数据进行预处理,比如,上述公式一可以生成为Matlab算法,利用Matlab算法对中的数据进行N层小波分解,得到小波分解序列,通过小波分解重构后可以表示为:其中n=1,2,…,T是零售行业的低频时间序列,而是零售行业的N个高频时间序列。

同理,假设与基础事件类型相关的关联事件类型有建筑行业、房地产行业等等,假设其它行业共有M个,那么对应每个行业也会生成与之对应的第二历史时间序列,再对每个行业的第二历史时间序列进行小波分解,比如,第i个其它行业的历史时间序列通过小波分解重构后可以表示为:其中是N个高频时间序列,而为第i个其它行业的低频时间序列。

为了避免现有技术仅利用特定事件本身的历史时间序列进行预测,导致预测结果不准确的问题,本发明实施例结合考虑关联事件类型的历史时间序列,在利用特定事件本身的历史时间序列进行预测同时,还考虑关联事件类型的历史时间序列,从而使得预测结果更加准确,当然,在进行预测之前,就需要确定与基础事件类型相关的关联事件类型有哪些,因为只有低频时间序列才能真实反映该原始时间序列内在的发展规律,其它高频时间序列都是一些非决定性的干扰因素,所以就需要利用基础事件类型的低频时间序列和关联事件类型的低频时间序列计算关联系数,通过关联系数确定最相关的关联事件类型。具体地,采用灰色关联分析算法求解出零售行业的低频时间序列与其它行业的低频时间序列(其中,i=1,2,…,M)之间的关联度,同时将这些时间序列之间的关联度视为行业之间的关联系数。我们用gR,1,gR,2,…,gR,M来分别代表零售行业与这M个其它行业之间的关联系数,因为灰色关联分析算法是已经存在的技术,在《灰色系统理论及其应用(第5版)》(科学出版社,刘思峰等著)中有相关介绍,因此这里不再说明具体求解过程。对关联系数的绝对值进行从大到小进行排序,保留关联系数绝对值大于等于阈值ε0的行业,这里不妨假设保留下来的行业为(也就是|gR,i|≥ε0的行业),将这KA个行业对应的低频时间序列表示为其中

当确定了KA个行业的低频时间序列之后,就可以利用零售行业和KA个相关行业的低频时间序列建立预测模型,具体地,将KA个低频时间序列(其中以及A0个影响因素(其中)作为自变量,把零售行业的低频时间序列作为因变量,建立多元线性回归模型。再根据这个多元回归模型就可以预测零售行业低频时间序列的未来取值。

进一步地,除了相关行业会对零售行业造成影响,其它一些经济宏观因素同样也会对零售行业造成影响,比如影响零售行业的银行卡刷卡金额的因素还有宏观经济因素、政策因素、消费者收入和支出因素等等。因此,本发明实施例进一步地分析这些宏观经济因素、政策因素等参考指标,在建立预测模型前对这些参考指标进行分析,计算这些参考指标和基础事件类型之间的相关系数,具体地,在建立预测模型之前,获取与所述基础事件类型相关的L个参考指标的L个第三历史时间序列;针对每个参考指标的第三历史时间序列,计算所述第一历史时间序列的低频时间序列与所述每个参考指标的第三历史时间序列的第一相关系数,以及,计算所述第一历史时间序列的N个高频时间序列和所述每个参考指标的第三历史时间序列的第二相关系数;

确定第一相关系数大于第二阈值的Q个参考指标的第三历史时间序列,和确定第二相关系数大于第三阈值的T个参考指标的第三历史时间序列,其中,Q和T为不大于K的正整数。

在建立预测模型时,利用所述K个第二历史时间序列的低频时间序列、Q个参考指标的第三历史时间序列和所述第一历史时间序列的低频时间序列建立第一模型;

针对所述第一历史时间序列的每个高频时间序列,利用所述T个参考指标的第三历史时间序列和所述第一历史时间序列的每个高频时间序列建立第二模型。然后根据所述第一模型和所述第二模型预测得到所述基础事件类型的预测值。

具体地,所述第一模型为多元回归线性模型,所述第二模型为BP神经网络模型。

根据所述第一模型和所述第二模型预测得到所述基础事件类型的预测值,包括:利用所述多元回归线性模型预测得到所述基础事件类型的的低频预测值;利用N个BP神经网络模型预测得到所述基础事件类型的N个高频预测值;将所述低频预测值和所述N个高频预测值求和,得到所述基础事件类型的预测值。

例如,收集影响零售行业发展的各种影响因素对应的时间序列。比如GDP增长率、人均可支配收入、人均消费支出、消费者信心指数、CPI指数、PPI指数、PMI指数等参考指标的时间序列。假设总共有K2个参考指标,其中第k个参考指标为Yk,对应的时间序列为(k=1,2,…,K2)。然后计算K2个参考指标与零售行业的第一历史时间序列的相关系数。具体地,一方面采用皮尔逊相关系数计算公式求出零售行业的低频时间序列与K2个参考指标中每个参考指标对应的时间序列之间的相关系数,假设相关系数分别为:保留相关系数绝对值大于等于εA的影响因素,不妨假设保留下来的影响因素有A0个,也就是对应的A0个参考指标的历史时间序列表示为另一方面,采用皮尔逊相关系数计算公式求出零售行业的高频时间序列与各种参考指标对应的时间序列之间的相关系数,我们假设相关系数绝对值大于等于的参考指标的历史时间序列表示为其中,所述皮尔逊相关系数的计算公式为:

其中,Xn和Zn是时间序列,X和Z分别是时间序列Xn和Zn的平均值,rX,Z为Xn和Zn的皮尔逊相关系数。

当确定好相关的参考指标的历史时间序列之后,本发明实施例进一步地在建立预测模型时考虑参考指标和关联事件类型这两个因素的历史时间序列进行建模,具体地,对应低频时间序列,我们将KA个低频时间序列(其中以及A0个影响因素(其中)作为自变量,把零售行业的低频时间序列作为因变量,建立多元线性回归模型。对应第历史时间序列的每个高频时间序列分别按照如下方式建模,建模方法为:对于零售行业的任意一个高频时间序列我们将Di个影响因素(其中)作为输入变量,而把作为输出变量,建立一个BP神经网络模型,根据这个神经网络模型就可以预测零售行业高频时间序列的未来取值,可见通过上述建模方法,总共可以得到N个BP神经网络模型。最后,将以上n+1个模型的预测值相加,就得到了零售行业真实的未来预测值。

综上,对零售行业及其它行业的历史时间序列进行小波分解和重构,从而得到零售行业及其它行业的低频时间序列和高频时间序列。由于行业之间的关联关系反映的是两个行业之间发展趋势的内在一致程度,因此我们将各个行业的历史时间序列进行小波分解和重构,目的是为了得到能够反映该行业自身发展趋势的低频时间序列,进一步在建立预测模型时考虑其它参考指标的历史时间序列,是为了使最终的预测值更加准确。

基于相同的技术构思,本发明实施例还提供一种基于时间序列的数据挖掘系统,该系统可执行上述方法实施例。本发明实施例提供的系统如图2所示,包括:获取单元201、生成单元202、预处理单元203、计算单元204、建模单元205、预测单元206,其中:

获取单元201,用于获取设定时间段内的原始事件记录,

生成单元202,用于,根据所述原始事件记录确定一个基础事件类型和M个关联事件类型;根据所述原始事件记录生成与所述基础事件类型对应的的第一历史时间序列,并根据所述原始事件记录生成与M个关联事件类型对应的M个第二历史时间序列;

预处理单元203,用于对所述第一历史时间序列和所述M个第二历史时间序列进行小波分解,得到所述第一历史时间序列的低频时间序列,以及所述M个第二历史时间序列的低频时间序列;

计算单元204,用于针对每个第二历史时间序列的低频时间序列,计算所述第一历史时间序列的低频时间序列与每个第二历史时间序列的低频时间序列的关联系数;

建模单元205,用于确定所述关联系数大于第一阈值的K个第二历史时间序列的低频时间序列,并根据所述K个第二历史时间序列的低频时间序列和所述第一历史时间序列的低频时间序列建立预测模型;

预测单元206,用于根据所述预测模型得到所述基础事件类型的预测值,其中M为正整数,K为不大于M的整数。

进一步地,所述获取单元201,还用于获取与所述基础事件类型相关的L个参考指标的L个第三历史时间序列;

所述计算单元204,具体用于:针对每个参考指标的第三历史时间序列,计算所述第一历史时间序列的低频时间序列与所述每个参考指标的第三历史时间序列的第一相关系数;确定第一相关系数大于第二阈值的Q个参考指标的第三历史时间序列,Q和T为不大于L的正整数

所述建模单元205,具体用于:利用所述K个第二历史时间序列的低频时间序列、Q个参考指标的第三历史时间序列和所述第一历史时间序列的低频时间序列建立第一模型。

进一步地,所述预处理单元203,具体用于:对所述第一历史时间序列进行小波分解,得到所述第一历史时间序列的低频时间序列和N个高频时间序列,N为正整数。

进一步地,所述计算单元204,具体用于:针对每个参考指标的第三历史时间序列,计算所述第一历史时间序列的N个高频时间序列和所述每个参考指标的第三历史时间序列的第二相关系数;确定第二相关系数大于第三阈值的T个参考指标的第三历史时间序列,其中,T为不大于L的正整数;

进一步地,所述建模单元205,具体用于:针对所述第一历史时间序列的每个高频时间序列,利用所述T个参考指标的第三历史时间序列和所述第一历史时间序列的每个高频时间序列建立第二模型;

所述预测单元具体用于:根据所述第一模型和所述第二模型预测得到所述基础事件类型的预测值。

进一步地,所述第一模型为多元回归线性模型,所述第二模型为BP神经网络模型;所述预测单元206,具体用于:利用所述多元回归线性模型预测得到所述基础事件类型的的低频预测值;利用N个BP神经网络模型预测得到所述基础事件类型的N个高频预测值;将所述低频预测值和所述N个高频预测值求和,得到所述基础事件类型的预测值。

进一步地,所述计算单元204还用于:利用皮尔逊相关系数的计算公式计算所述第一历史时间序列的低频时间序列与所述每个参考指标的第三历史时间序列的第一相关系数,以及利用皮尔逊相关系数的计算公式计算所述第一历史时间序列的N个高频时间序列和所述每个参考指标的第三历史时间序列的第二相关系数。

其中,所述皮尔逊相关系数的计算公式如公式一所示,不再赘述。

进一步地,所述计算单元204具体用于:利用灰度关联分析算法计算所述第一历史时间序列的低频时间序列与每个第二历史时间序列的低频时间序列的关联系数。

综上所述,本发明实施例为了避免现有技术仅利用特定事件的历史时间序列进行预测结果不准确的问题,本发明实施例不仅考虑基础事件类型的历史时间序列,还将与基础事件类型相关的其它关联事件类型的历史时间序列,具体地,将基础数据类型的历史时间序列和与基础事件类型相关的参考指标的历史时间序列结合起来建立预测模型,进而利用这一模型得到更加准确的预测结果。与现有技术相比,本发明实施例在建立预测模型时考虑的因素更加全面,从而利用预测模型生成的预测值更加准确。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1