基于事件的数据预测方法、装置、计算机设备和存储介质与流程

文档序号:16740928发布日期:2019-01-28 13:00阅读:316来源:国知局
基于事件的数据预测方法、装置、计算机设备和存储介质与流程

本申请涉及数据处理技术领域,特别是涉及一种基于事件的数据预测方法、装置、计算机设备和存储介质。



背景技术:

随着社会的发展,预测已经成为了各行各业不可或缺的一部分,企业都希望通过准确地预测,了解公司的发展趋势,能够及时调整策略。现有的预测方法主要分为定性分析预测法和定量分析预测法两大类。其中,定性分析预测法是指根据历史与现实的观察资料,依赖个人或者集体的经验与智慧,对未来的发展状态和变化趋势做出判断的预测方法,主要有专家意见法、个人判断法、相关类推法等方法。而定量分析预测法是依据调查研究所得的资料数据,运用统计学方法和数学模型,近似地揭示预测对象及其影响因素的数量变动关系,建立对应的预测模型,据此对预测目标作出定量测算的预测方法。目前,定量分析预测法主要包括时间序列分析预测法和因果分析预测法。其中,时间序列分析法有移动平均法、指数平滑法、季节指数预测法等,因果分析预测法有回归分析预测法和经济计量模型预测法等。

虽然定性分析预测法能够充分调动人的主观能动作用,但是同时,易受主观因素的影响,比较注重于人的经验和主观判断能力,从而易受人的知识、经验和能力的多少的束缚和限制;定量分析法虽然较少受到主观的影响,但是比较机械,不易处理有较大波动的数据,更难于预测数据的变化。因此,现有的分析预测法都存在各自的弊端,导致预测的准确性较低。



技术实现要素:

基于此,有必要针对上述定性分析预测以及定量分析预测中存在的问题,提供一种能够实现较高准确性的基于事件的数据预测方法、装置、计算机设备和存储介质。

一种基于事件的数据预测方法,包括:

获取与待预测事件对应的历史数据,所述历史数据包括分别与多个历史时期一一对应的多个历史数据;

根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子;

根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据;

根据预设的至少两种算法模型分别对应的权重以及与算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。

一种基于事件的数据预测装置,包括:

获取模块,用于获取与待预测事件对应的历史数据,所述历史数据包括分别与多个历史时期一一对应的多个历史数据;

趋势因子确定模块,用于根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子;

预测数据确定模块,用于根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据;

最终预测数据计算模块,用于根据预设的至少两种算法模型分别对应的权重以及与算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。

一种计算机设备,包括存储器和处理器,其中,存储器存储有计算机程序,处理器执行该计算机程序时实现以上方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上方法的步骤。

上述基于事件的数据预测方法、装置、计算机设备和存储介质,通过获取与待预测事件对应的历史数据,并结合至少两种不同的算法模型以及各算法模型各自对应的权重,从而计算出待预测事件对应的最终预测数据。由于采用了至少两种算法模型的结合,因此,可以充分发挥不同算法模型的优势,同时可以减少各种算法原本的不足之处,进而大大提高预测的准确性。

附图说明

图1为一个实施例中基于事件的数据预测方法的应用环境图;

图2为一个实施例中基于事件的数据预测方法的流程示意图;

图3为一个实施例中基于事件的数据预测方法的流程示意图;

图4为一个实施例中基于事件的数据预测方法的流程示意图;

图5为一个实施例中基于事件的数据预测装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步的详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的基于事件的数据预测方法,可以应用于如图1所示的应用环境中。其中,数据库104可以集成在服务器102中,也可以独立设置,并通过网络建立与服务器102的通信关系。数据库104是用于存储各种事件对应数据的仓库。服务器102从数据库104中获取与待预测事件对应的历史数据,其中历史数据包括分别与多个历史时期一一对应的多个历史数据;服务器102根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子;服务器102根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据;服务器102根据预设的至少两种算法模型分别对应的权重以及与算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。其中,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种基于事件的数据预测方法,以该方法应用于图1中的服务器为例进行说明,该方法可以包括以下步骤:

步骤s202,获取与待预测事件对应的历史数据。

其中,待预测事件是指需要预测的未来的事件,其具体可以通过与事件对应的历史数据的记录里面导出。而历史数据包括分别与多个历史时期一一对应的多个历史数据。不同的待预测事件对应的历史数据又各不相同。例如,当已知过去几年某产品每个月的销售额,因此,可以通过本申请实施例的方法根据历史销售额数据预测未来几个月的销售额,其中,未来几个月的销售额即为待预测事件,过去几年某产品每个月的销售额即为与待预测事件对应的历史数据,可以理解的是,过去几年的每一个月为一个历史时期,每一个月的销售额即为对应的一个历史数据。再比如,当已知过去一段时间某网站每天的注册量,因此,可以通过本申请实施例的方法根据历史注册量数据预测未来每天的注册量,其中,未来每天的注册量即为待预测事件,过去一段时间某网站每天的注册量即为与待预测事件对应的历史数据,可以理解的是,过去一段时间中的每一天为一个历史时期,每一天对应的注册量即为对应的一个历史数据。

步骤s204,根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子。

由于目前单独的预测方法都存在一定的弊端,导致预测准确性较低,因此在本实施例中引入了至少两种算法模型,从而可以根据至少两种算法模型以及多个历史数据分别确定多个历史时期每种算法模型各自对应的多个趋势因子。其中,趋势因子是采用算法模型对历史数据进行分析计算后获得的与历史时期对应的趋势值。

步骤s206,根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据。

步骤s208,根据预设的至少两种算法模型分别对应的权重以及与算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。

在本实施例中,根据每种算法模型各自对应的多个趋势因子计算与该算法模型对应的待预测事件的预测数据,并根据预设的每种算法模型对应的权重计算待预测事件对应的最终预测数据。其中,各算法模型对应的权重之和为1。

上述基于事件的数据预测方法,通过获取与待预测事件对应的历史数据,并结合至少两种不同的算法模型以及各算法模型各自对应的权重,从而计算出待预测事件对应的最终预测数据。由于采用了至少两种算法模型的结合,因此,可以充分发挥不同算法模型的优势,同时可以减少各种算法原本的不足之处,进而大大提高预测的准确性。

在一个实施例中,预设的至少两种算法模型可以是三次指数平滑法模型和神经网络算法模型。其中,三次指数平滑法模型又可以包括三次指数累加平滑法和三次指数累乘平滑法中的任一种或两者的组合。在本实施例中,如图3所示,以至少两种算法模型为指数平滑法和神经网络法为例进行说明,其中,指数平滑法又包括累加平滑法和累乘平滑法,每一种算法模型都预设有对应的权重。根据需要预测的数据(即历史数据)以及各算法计算所得的预测数据,以及各算法支应的权重计算所得最终的预测结果。

假设采用上述两种算法模型时,由于三次指数平滑法模型得到的结果相对比较固定,神经网络算法模型得到的结果是一个趋势范围,因此将两种方法结合起来,可以得到相对准确又能处理特殊情况的模型,即通过不同算法模型的结合而得到最终的预测数据。鉴于三次指数平滑法模型相对稳定,因而三次指数平滑法模型占大部分权重,神经网络算法模型占小部分权重。具体的,三次指数平滑法模型对应的权重占70%~90%,神经网络算法模型对应的权重占10%~30%。两种算法模型对应的权重之和应为1,即若三次指数平滑法模型对应的权重为70%时,则神经网络算法模型对应的权重为30%;若三次指数平滑法模型对应的权重为90%时,则神经网络算法模型对应的权重为10%;若三次指数平滑法模型对应的权重为80%时,则神经网络算法模型对应的权重为20%,具体可以根据实际情况进行设定,本实施例中并不对此进行限定。

如图4所示,其中,三次指数累加平滑法通常采用如下公式计算趋势因子:

si=α(xi-pi-k)+(1-α)(si-1+ti-1)

ti=β(si-si-1)+(1-β)ti-1

pi=γ(xi-si)+(1-γ)pi-k

上式中xi为历史时期i对应的历史数据,k为周期(如历史数据为非周期数据,则k为0),si、ti、pi为历史时期i对应的趋势因子。加权系数α、β、γ的值都位于[0,1]之间,可以通过多次试验以选择达到最佳效果的取值;s、t、p初始值的选取对于算法整体的影响不是特别大,通常的取值为s0=x0,t0=x1-x0,p=0。

三次指数累加平滑法的预测公式为:

xi+h=si+hti+pi-k+(hmodk)

其中,h为往后预测的时间,mod表示两数相除的余数。

三次指数累乘平滑法通常采用如下公式计算趋势因子,

ti=β(si-si-1)+(1-β)ti-1

pi=γxi/si+(1-γ)pi-k

上式中xi为历史时期i对应的历史数据,k为周期(如历史数据为非周期数据,则k为0),si、ti、pi为历史时期i对应的趋势因子。加权系数α、β、γ的值都位于[0,1]之间,可以通过多次试验以选择达到最佳效果的取值;s、t、p初始值的选取对于算法整体的影响不是特别大,通常的取值为s0=x0,t0=x1-x0,p=1。

三次指数累乘平滑法的预测公式为:

xi+h=(si+hti)pi-k+(hmodk)

其中,h为往后预测的时间,mod表示两数相除的余数。

而神经网络算法也称为人工神经网络(artificialneuralnetworks,简称ann),也简称为nns(neuralnetworks,神经网络)或称作连接模型(connectionmodel),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的数学算法模型。

其中,神经网络由三层结构组成,分别为输入层、隐藏层和输出层。神经网络预测算法可以分为以下几个步骤:

1.初始化权重:网络的权重初始化为很小的随机数。

2.计算隐藏层和输出层的净输入:

其中,wij是由上一层的单元i到单元j的连接的权重;oi是上一层的单元i的输出;θj是单元j的偏倚。

3.计算隐藏层和输出层的输出:

4.计算每个节点的误差:

对于输出层单元j,误差errj用下面的公式进行计算:

errj=oj(1-oj)(tj-oj)

其中,oj是单元j的实际输出,而tj是j基于给定训练元祖的已知目标值。

对于隐藏层单元j的误差,考虑下一层中连接到j的单元的误差加权和。其中,误差公式为:

其中,wjk是由下一较高层中单元k到单元j的连接权重,而errk是单元k的误差。

5.更新权重和偏移值

权重更新的公式如下:

δwij=(l)errjoi

wij=wij+δwij

偏移值更新的公式如下:

δθj=(l)errj

θj=θj+δθj

其中,l是学习率,通常取0.0~1.0之间的常数值。δwij是权wij的改变,δθj是偏倚θj的改变。

6.循环执行步骤2~5,直到达到终止条件为止。其中,ij、oj、errj、δwij、wij、δθj、θj为对应的趋势因子;终止条件为满足以下条件之一:

(1)前一周期所有的δwij都小于某个指定的阈值;

(2)前一周期误分类的元祖百分比小于某个阈值;

(3)超过预先指定的周期数。

以下通过具体的实施例进一步说明本申请的方案,在本实施例中,以三次指数平滑法模型和神经网络算法模型为例进行说明,其中,为了进一步提高预测的准确性,本实施例中的三次指数平滑法模型又采用了三次指数累加平滑法和三次指数累乘平滑法结合的形式。而在三次指数平滑法模型中,累加和累乘各自所占比例可以从0%~100%,具体都可以视情况选择范围中的比例得到较好的结果。在本实施例中,以三次指数平滑法模型对应的权重为80%(三次指数累加平滑法和三次指数累乘平滑法各占三次指数平滑法模型权重的50%),神经网络算法模型对应的权重为20%为例进行说明。

假设待预测事件为对某网站的日注册量进行预测,并已知该网站过去15天的日注册量x1~x15分别为(28、32、30、18、22、75、32、44、48、42、20、59、19、12、23),通过观察,大致确定该数据的周期k=6,并且通过实验确定加权系数α=0.5,β=0.15,γ=0.9。

首先,通过上述三次指数累加平滑法公式计算对应的趋势因子,并有初始s0=12,t0=x1-x0=16,p0=0。当i<k时,即当i<6时,分别计算s1~s5,t1~t5,p1~p5的值,即:

s1=0.5*28+(1-0.5)*(12+16)=28

t1=0.15*(28-12)+(1-0.15)*16=16

p1=0

s2=0.5*32+(1-0.5)*(28+16)=38

t2=0.15*(38-28)+(1-0.15)*16=15.1

p2=0

s3=0.5*30+(1-0.5)*(38+15.1)=41.55

t3=0.15*(41.55-38)+(1-0.15)*15.1=13.37

p3=0

s4=0.5*18+(1-0.5)*(41.55+13.37)=36.46

t4=0.15*(36.46-41.55)+(1-0.15)*13.37=10.6

p4=0

s5=0.5*22+(1-0.5)*(36.46+10.6)=34.53

t5=0.15*(34.53-36.46)+(1-0.15)*10.6=8.72

p5=0

当i≥k时,即当i≥6时,分别计算s6~s15,t6~t15,p6~p15,即:

s6=0.5*(75-0)+(1-0.5)*(34.53+8.72)=59.12

t6=0.15*(59.12-34.53)+(1-0.15)*8.72=11.1

p6=0.9*(75-59.12)+(1-0.9)*0=14.29

s7=0.5*(32-0)+(1-0.5)*(59.12+11.1)=51.11

t7=0.15*(51.11-59.12)+(1-0.15)*11.1=8.23

p7=0.9*(32-51.11)+(1-0.9)*0=-17.2

s8=0.5*(44-0)+(1-0.5)*(51.11+14.29)=51.67

t8=0.15*(51.67-51.11)+(1-0.15)*8.23=7.08

p8=0.9*(44-51.67)+(1-0.9)*0=-6.91

s9=0.5*(48-0)+(1-0.5)*(51.67+7.08)=53.38

t9=0.15*(53.38-51.67)+(1-0.15)*7.08=6.28

p9=0.9*(48-53.38)+(1-0.9)*0=-4.84

s10=0.5*(42-0)+(1-0.5)*(53.38+6.28)=50.83

t10=0.15*(50.83-53.38)+(1-0.15)*6.28=4.95

p10=0.9*(42-50.83)+(1-0.9)*0=-7.94

s11=0.5*(20-0)+(1-0.5)*(50.83+4.95)=37.89

t11=0.15*(37.89-50.83)+(1-0.15)*4.95=2.27

p11=0.9*(20-37.89)+(1-0.9)*0=-16.1

s12=0.5*(59-14.29)+(1-0.5)*(37.89+2.27)=42.44

t12=0.15*(42.44-37.89)+(1-0.15)*2.27=2.61

p12=0.9*(59-42.44)+(1-0.9)*14.29=16.34

s13=0.5*(19-(-17.2))+(1-0.5)*(42.44+2.61)=40.62

t13=0.15*(40.62-42.44)+(1-0.15)*2.61=1.95

p13=0.9*(19-40.62)+(1-0.9)-(-17.2)=-21.18

s14=0.5*(12-(-6.91))+(1-0.5)*(40.62+1.95)=30.74

t14=0.15*(30.74-40.62)+(1-0.15)*1.95=0.17

p14=0.9*(12-30.74)+(1-0.9)*(-6.91)=-17.55

s15=0.5*(23-(-17.2))+(1-0.5)*(30.74+0.17)=29.38

t15=0.15*(29.38-30.74)+(1-0.15)*0.17=-0.06

p15=0.9*(23-29.38)+(1-0.9)*(-4.84)=-6.22

通过上述三次指数累加平滑法公式计算出过去15天每天对应的趋势因子si、ti、pi,并代入三次指数累加平滑法的预测公式进行预测,得到:

第一个时间预测:x15+1=s15+1*t15+p15-6+(1mod6)=29.38+1*(-0.06)+(-7.94)=21;

第二个时间预测:x15+2=s15+2*t15+p15-6+(2mod6)=29.38+2*(-0.06)+(-16.1)=13;

第三个时间预测:x15+3=s15+3*t15+p15-6+(3mod6)=29.38+3*(-0.06)+(16.33)=45;

第四个时间预测:x15+4=s15+4*t15+p15-6+(4mod6)=29.38+4*(-0.06)+(-21.18)=7;

第五个时间预测:x15+5=s15+5*t15+p15-6+(5mod6)=29.38+5*(-0.06)+(-17.55)=11;

第六个时间预测:x15+6=s15+6*t15+p15-6+(6mod6)=29.38+6*(-0.06)+(-7.94)=24。

则上述s1~s15,t1~t15,p1~p15的值分别为通过三次指数累加平滑法计算的多个第一趋势因子,x15+1~x15+6则分别为采用三次指数累加平滑法计算的对日注册量的预测数据。

然后,通过上述三次指数累乘平滑法公式计算对应的趋势因子,并有初始s0=12,t0=x1-x0=16,p0=1。当i<k时,即当i<6时,分别计算s1~s5,t1~t5,p1~p5的值,即:

s1=0.5*28+(1-0.5)*(12+16)=28

t1=0.15*(28-12)+(1-0.15)*16=16

p1=1

s2=0.5*32+(1-0.5)*(28+16)=38

t2=0.15*(38-28)+(1-0.15)*16=15.1

p2=1

s3=0.5*30+(1-0.5)*(38+15.1)=41.55

t3=0.15*(41.55-38)+(1-0.15)*15.1=13.37

p3=1

s4=0.5*18+(1-0.5)*(41.55+13.37)=36.46

t4=0.15*(36.46-41.55)+(1-0.15)*13.37=10.6

p4=1

s5=0.5*22+(1-0.5)*(36.46+10.6)=34.53

t5=0.15*(34.53-36.46)+(1-0.15)*10.6=8.72

p5=1

当i≥k时,即当i≥6时,计算s6~s15,t6~t15,p6~p15,即:

s6=0.5*75/1+(1-0.5)*(34.53+8.72)=59.12

t6=0.15*(59.12-34.53)+(1-0.15)*8.72=11.1

p6=0.9*75/59.12+(1-0.9)*1=1.24

s7=0.5*32/1+(1-0.5)*(59.12+11.1)=51.11

t7=0.15*(51.11-59.12)+(1-0.15)*11.1=8.23

p7=0.9*32/51.11+(1-0.9)*1=0.66

s8=0.5*44/1+(1-0.5)*(51.11+8.23)=51.67

t8=0.15*(51.67-51.11)+(1-0.15)*8.23=7.08

p8=0.9*44/51.67+(1-0.9)*1=0.87

s9=0.5*48/1+(1-0.5)*(51.67+7.08)=53.38

t9=0.15*(53.38-51.67)+(1-0.15)*7.08=6.28

p9=0.9*48/53.38+(1-0.9)*1=0.91

s10=0.5*42/1+(1-0.5)*(53.38+6.28)=50.83

t10=0.15*(50.83-53.38)+(1-0.15)*6.28=4.95

p10=0.9*42/50.83+(1-0.9)*1=0.84

s11=0.5*20/1+(1-0.5)*(50.83+4.95)=37.89

t11=0.15*(37.89-50.83)+(1-0.15)*4.95=2.27

p11=0.9*20/37.89+(1-0.9)*1=0.58

s12=0.5*59/1.24+(1-0.5)*(37.89+2.27)=43.84

t12=0.15*(43.84-37.89)+(1-0.15)*2.27=2.82

p12=0.9*59/43.84+(1-0.9)*1.24=1.34

s13=0.5*19/0.66+(1-0.5)*(43.84+2.82)=37.65

t13=0.15*(37.65-43.84)+(1-0.15)*2.82=1.47

p13=0.9*19/37.65+(1-0.9)*0.66=0.52

s14=0.5*12/0.87+(1-0.5)*(37.65+1.47)=26.48

t14=0.15*(26.48-37.65)+(1-0.15)*1.47=-0.43

p14=0.9*12/26.48+(1-0.9)*0.87=0.49

s15=0.5*23/0.91+(1-0.5)*(26.48+(-0.43))=25.68

t15=0.15*(25.68-26.48)+(1-0.15)*(-0.43)=-0.48

p15=0.9*23/25.68+(1-0.9)*0.91=0.9

通过上述三次指数累乘平滑法公式计算出过去15天每天对应的趋势因子si、ti、pi,并代入三次指数累乘平滑法的预测公式进行预测,得到:

第一个时间预测:x15+1=(s15+1*t15)*p15-6+(1mod6)=(25.68+1*(-0.48))*0.84=21;

第二个时间预测:x15+2=(s15+2*t15)*p15-6+(2mod6)=(25.68+2*(-0.48))*0.58=14;

第三个时间预测:x15+3=(s15+3*t15)*p15-6+(3mod6)=(25.68+3*(-0.48))*1.34=32;

第四个时间预测:x15+4=(s15+4*t15)*p15-6+(4mod6)=(25.68+4*(-0.48))*0.52=12;

第五个时间预测:x15+5=(s15+5*t15)*p15-6+(5mod6)=(25.68+5*(-0.48))*0.49=11;

第六个时间预测:x15+6=(s15+6*t15)*p15-6+(6mod6)=(25.68+6*(-0.48))*0.91=20。

则上述s1~s15,t1~t15,p1~p15的值分别为通过三次指数累乘平滑法计算的多个第一趋势因子,x15+1~x15+6则分别为采用三次指数累乘平滑法计算的对日注册量的预测数据。

采用上述神经网络算法模型进行对应的计算,在本实施例中,假设定义神经网络的输入层数量为6,隐藏层的数量为5,输出层的数量为1,神经网络的学习率为0.1,同时初始化权重(网络的权重初始化为很小的随机数)。

并通过将注册数量改变为增长率,从而得到新数据组如下:{2.33,1.14,0.94,0.6,1.22,3.41,0.43,1.38,1.09,0.88,0.48,2.95,0.32,0.63,1.92}。

将得到的数据组进行归一化,将数据处理后映射到[0,1]范围内。本文采用最大-最小标准化法进行归一化。最大的数据max=3.41,最小的数据min=0.32。

归一化的公式为:

x’=(x-min)/(max-min)

得到的归一化数据组为:{0.65,0.26,0.2,0.09,0.29,1.0,0.03,0.34,0.25,0.18,0.05,0.85,0,0.1,0.52}。

然后采用如下步骤进行处理:

步骤a,由于数据量较少,采用k折交叉验证的方法进行验证,就是将数据分为k份,其中的一份作为验证集,k-1份作为训练集。在本实施例中,前六个为输入,后一个为输出,七个数据为一组,故而将该15个数据分为9组,一组作为验证集,其他八组作为训练集。

选择验证集的方式为:随机选取0~8之间的整数,抽中的即作为验证集。其余的作为训练集。然后循环以下步骤b~步骤e,循环1000次。

步骤b,计算隐藏层和输出层的净输入。

步骤c,计算隐藏层和输出层的输出。

步骤d,计算每个节点的误差,包括输出单元和隐藏层的误差。

步骤e,更新权重和偏移值。

循环上述步骤a,循环200次。然后进行反归一化,将得到的数据按照一定的公式反归一化,从而得到预测的增长率。

公式如下:

x=x’*(max-min)+min

并利用预测得到的增长率和原有的真实注册数量相乘,以预测接下来六个周期的注册数量。以下为采用神经网络算法模型根据现有的数据进行计算的预测数据:

第一个时间预测数据:16;

第二个时间预测数据:7;

第三个时间预测数据:22;

第四个时间预测数据:9;

第五个时间预测数据:4;

第六个时间预测数据:11。

由于三次指数累加平滑法得到的结果固定,而神经网络法得到的结果只是一个趋势,因此按照上述规定以三次指数平滑法模型对应的权重为80%(三次指数累加平滑法和三次指数累乘平滑法各占三次指数平滑法模型权重的50%),神经网络算法模型对应的权重为20%为例计算最终的预测数据:

第一个时间预测:16*0.2+0.8*(0.5*21+0.5*21)=20;

第二个时间预测:7*0.2+0.8*(0.5*13+0.5*14)=12;

第三个时间预测:22*0.2+0.8*(0.5*45+0.5*32)=35;

第四个时间预测:9*0.2+0.8*(0.5*7+0.5*12)=9;

第五个时间预测:4*0.2+0.8*(0.5*11+0.5*11)=10;

第六个时间预测:11*0.2+0.8*(0.5*24+0.5*20)=20。

即将上述根据三次指数累加平滑法计算的对日注册量的预测数据、根据三次指数累乘平滑法计算的对日注册量的预测数据以及根据神经网络算法模型计算的对日注册量的预测数据以及各算法对应的权重计算得到最终的预测数据。

上述实施例中,由于神经网络算法的学习速度很慢,同时可能陷入局部最优或者过拟合的情况,导致网络训练失败,但是神经网络算法同时具有自学习能力,且具有一定的推广、概括能力,虽然每一次预测的数量有些许的差距,但差距并不大,因此,可以用于预测一种趋势。神经网络预测法较累乘和累加法预测得到的数值较小。

而指数平滑法仅需一个参数α就能够进行预测,过程简单,但是对数据的转折点缺乏一定的鉴别能力,而且长期预测效果比较差,通常只用于进行短期预测。

在本实施例中,由于数据量较少,为了防止神经网络过拟合,导致神经网络模型对于现有数据拟合较好,而预测过差,故而采用的学习率较低,循环次数较少,防止此类现象发生。因此,本申请实施例通过一定比例将两种算法模型相结合,使得两种预测算法都能够在最后的预测结果中发挥其作用,大大减少了利用神经网络算法得到的预测数据会因为每次训练得到的不同模型而得到不同结果对预测产生的影响;而且改善了指数平滑法对转折点不敏感的问题;同时,在指数平滑法预测的时候,通过对数据进行观察,使得指数平滑法按照一定的周期进行调整,大大增加了准确性。

应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本申请实施例还提供了一种基于事件的数据预测装置,如图5所示,包括:

获取模块501,用于获取与待预测事件对应的历史数据,其中,历史数据包括分别与多个历史时期一一对应的多个历史数据;

趋势因子确定模块502,用于根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子;

预测数据确定模块503,用于根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据;

最终预测数据计算模块504,用于根据预设的至少两种算法模型分别对应的权重以及与算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。

关于上述基于事件的数据预测装置的具体限定可以参见上文中对于基于事件的数据预测方法的限定,在此不再赘述。上述基于事件的数据预测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本申请实施例还提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于事件的数据预测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,其中,存储器存储有计算机程序,处理器执行该计算机程序时实现以下步骤:

获取与待预测事件对应的历史数据,其中,历史数据包括分别与多个历史时期一一对应的多个历史数据;

根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子;

根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据;

根据预设的至少两种算法模型分别对应的权重以及与该算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取与待预测事件对应的历史数据,其中,历史数据包括分别与多个历史时期一一对应的多个历史数据;

根据多个历史数据以及预设的至少两种算法模型分别确定多个历史时期一一对应的多个趋势因子;

根据多个历史时期一一对应的多个趋势因子以及预设的至少两种算法模型分别确定与算法模型对应的待预测事件的预测数据;

根据预设的至少两种算法模型分别对应的权重以及与该算法模型对应的待预测事件的预测数据确定待预测事件对应的最终预测数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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