首页> 中国专利> 一种基于模糊时间序列分析和粒子群技术的数据预测算法

一种基于模糊时间序列分析和粒子群技术的数据预测算法

摘要

本发明公开了一种基于模糊时间序列分析和粒子群技术的数据预测算法,通过自动聚类算法将多时间序列生成不同的区间长度,并划分粒度空间;然后,对不同粒度空间中的模糊趋势进行预测;最后利用各粒度空间的预测模糊趋势和粒子群技术得到的最优加权向量,计算出最终预测值。该算法不用依赖大量的历史数据,且可以对不完整、不准确和具有含糊性的数据来进行预测,很好的解决了传统时间序列预测模型的问题。因此模糊时间序列预测模型可以很好的处理具有这种特点的数据,同时能够很好的处理非线性时间数据,在处理长期序列预测时也表现出了比较好的效果。

著录项

说明书

技术领域

本发明属于时间序列预测技术领域,具体涉及一种基于模糊时间序列分析和粒子群技术的数据预测算法的方法。

背景技术

近年来时间序列预测在很多领域起到重要的作用,通过对模糊时间序列数据的分析,掌握经济现状随时间的变化规律,从而预测其未来,它被广泛地应用在天文、气象、水文、生物和社会经济等方面的预测。基本原理是根据对象的时间序列数据,依据事物发展的连续性规律,通过统计分析或建立数学模型进行趋势外推,对预测对象的未来可能值作出了定量分析的方法。时间序列预测法也叫时间写分析法、历史外推法或外推法。

目前国内预测时间的序列的方法主要有以下几种:

1)指数平滑法

指数平滑法是生产预测中常用的一种方法。也用于中短期经济发展趋势预测,所有预测方法中,指数平滑是用得最多的一种。简单的全期平均法是对时间数列的过去数据一个不漏地全部加以同等利用;移动平均法则不考虑较远期的数据,并在加权移动平均法中给予近期资料更大的权重;而指数平滑法则兼容了全期平均和移动平均所长,不舍弃过去的数据,但是仅给予逐渐减弱的影响程度,即随着数据的远离,赋予逐渐收敛为零的权数。但是指数平滑法赋予远期较小的比重,近期较大的比重,所以只能进行短期预测进行长期预测时,误差较大参效果不理想。同时对于海量模糊的数据没法进行处理。

2)ARMA模型

ARMA模型(Auto-Regressive and Moving Average Model)是研究时间序列的重要方法,由自回归模型(简称AR模型)与滑动平均模型(简称MA模型)为基础“混合”构成,在市场研究中常用于长期追踪资料的研究。如:Panel研究中,用于消费行为模式变迁研究;在零售研究中,用于具有季节变动特征的销售量、市场规模的预测等。它比AR模型与MA模型有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐,进行预测只是能表示简单的趋势,对于相对复杂的时间序列则效果比较差。

3)logistic回归法

logistic回归是一种广义线性回归(generalized linear model),与多重线性回归分析有很多相同之处。它们的模型形式基本上相同,都具有wx+b,其中w和b是待求参数,其区别在于他们的因变量不同,多重线性回归直接将wx+b作为因变量,即y=wx+b,而logistic回归则通过函数L将wx+b对应一个隐状态p,p=L(wx+b),然后根据p与1-p的大小决定因变量的值。如果L是logistic函数,就是logistic回归,如果L是多项式函数就是多项式回归。但是并不能利用该方法处理非线性问题。

时间序列预测在很多领域都起到重要的作用,在传统的时间序列预测当中,使用了各种统计模型,如移动平均、指数平滑等。但这些统计模型高度依赖历史明确的数据,而且要求数据遵循高斯分布,加之对数据测量的不准确、观测集的不完整、获得测量数据困难等原因,无法处理某些数据中固有的模糊性和不确定性,对于那些不完整不清晰的序列,预测精度并不高。

发明内容

针对现有技术存在的缺陷或不足,本发明的目的在于,提供一种基于模糊时间序列分析和粒子群技术的数据预测算法。

为了实现上述任务,本发明采取如下的技术解决方案:

一种基于模糊时间序列分析和粒子群技术的数据预测算法,其特征在于,通过自动聚类算法将多时间序列生成不同的区间长度,并划分粒度空间;然后,对不同粒度空间中的模糊趋势进行预测;最后利用各粒度空间的预测模糊趋势和粒子群技术得到的最优加权向量,计算出最终预测值。

根据本发明,所述的自动聚类算法将多时间序列生成不同的区间长度是,对于每一个因子,利用模糊趋势逻辑关系组构造模糊趋势矩阵,用于预测因子的模糊趋势。

本发明的基于模糊时间序列分析和粒子群技术的数据预测算法,通过一些模糊不清的词语来表示数据,它不用依赖大量的历史数据,且可以对不完整、不准确和具有含糊性的数据来进行预测,很好的解决了传统时间序列预测模型的问题。因此模糊时间序列预测模型可以很好的处理具有这种特点的数据,同时能够很好的处理非线性时间数据,在处理长期序列预测时也表现出了比较好的效果。

附图说明

图1是本发明的基于模糊时间序列分析和粒子群技术的数据预测算法整体流程框图;

图2是自动聚类算法过程框图;

图3是将类转为区间的过程框图;

图4是PSO算法流程图

图5是自动聚类和划分区间框图;

图6是建立FTLRG框图;

图7是预测模糊趋势框图;

图8是划分粒度空间框图;

图9是预测最终值框图;

图10是IRI时间序列变化趋势图;

图11是各模型预测精度比较图;

图12是Alabama—0103路段趋势图;

图13是Alabama—0163路段趋势图;

图14是Florida—3804路段趋势图;

图15是三个路段的相对误差图。

以下结合附图和实施例对本发明作进一步的详细说明。

具体实施方式

如图1所示,本发明的技术思路是将原始数据通过自动聚类建立模糊趋势逻辑关系组(FILRG),然后预测模糊趋势,通过多个因子选择计算预测模糊趋势,根据多个粒度空间得到最优权重向量,预测,结束。

本实施例给出一种基于模糊时间序列分析和粒子群技术的数据预测算法,通过自动聚类算法将多时间序列生成不同的区间长度,并划分粒度空间;然后,对不同粒度空间中的模糊趋势进行预测;最后利用各粒度空间的预测模糊趋势和粒子群技术得到的最优加权向量,计算出最终预测值。

在该算法中,自动聚类算法将多时间序列生成不同长度的区间是:对于每一个因子,利用模糊趋势逻辑关系组构造模糊趋势矩阵,用于预测因子的模糊趋势。

为了处理不确定性和实现高预测精度,将预测问题的整体(数据)解空间划分为n+1个粒度空间(n为次因子个数),在不同的粒度空间中进行预测。最后,利用预测的模糊趋势和粒子群优化技术进行最终值的预测。

这种预测算法的特点体现在以下两个方面:

1)将预测问题的整体(数据)解空间划分为多个局部粒度空间,并计算不同粒度空间的局部预测模糊趋势,再将所有局部预测模糊趋势结合起来预测最终趋势和值。

2)构造一个n*m模糊趋势矩阵,对各因子进行模糊趋势预测,通过简单的求和和计数操作,充分利用历史模糊趋势。

A、模糊时间序列

U为论域,给定U一个次序分割集为U={u

A=f

F(t-1)=A

F(t)=F(t-1)A

其中:f

对任一固定的(t=...0,1,2,...),设Y(t)属于R,即为实数域的子集,Y(t)上定义一组模糊集,f(t)(i=1,2...)且F(t)={f

设R(t,t-1)为定义在从F(t-1)到F(t)的模糊关系,满足F(t)=F(t-1)。R(t,t-1)则称F(t)是由F(t-1)得到的,且可以用模糊逻辑关系F(t-1)→F(t)来表示,其中,表示合成运算的F(t)和F(t-1)都是模糊集,关系R成为定义在F(t)上的一节模糊关系。

令F(t-1)=A

B、粒度计算

粒度计算的思想实质是用简单易求、低成本的足够满意近似解替代精确解,即利用不精确、不完整、不确定和海量信息的可容度实现智能系统或智能控制的易处理、鲁棒性、低代价和更好地刻画实现世界。粗略地讲,凡是在分析问题和求解问题中,应用了分组、分类和聚类手段的一切理论与方法均属于粒度计算的范畴。

C、自动聚类算法

自动聚类算法是针对历史数据的分布特点和模型复杂度而提出的,用它来进行区间的划分。为提高模型的预测效果,采用自动聚类算法把数据划分为不同的区间长度。其过程如图2所示,包括原始数据升序排序、计算平均偏差和标准差、计算最大距离,进行分类、将聚类结果转为连续区间,具体步骤如下:

步骤1:按升序对原始数据进行排序,可以表示为d1、d2、d3、…di、…dn。这里,i表示任意数,n表示数据集的总数。其中,d1<d2<…di<…<dn,然后,计算任意两个相邻数据之间的标准差。

第二步,计算最大距离max_distance,如公式(5)所示:

max_distance=c×dev_diff (5)

这里,c取值为0.5。

将升序排序的数据进行聚类,先将d1作为当前类,根据最大距离来判断下一个数据是放在当前类中还是单独聚类。若di+1-di<=max_distance,把di+1放到当前类中,否则创建一个新类,如此重复直到所有数据都被聚类。聚类结果如下式所示:

{d

第三步,将聚类结果根据图3所示的规则转换为连续的区间:如此重复就可以将所有聚类转换为连续区间。最后,将第一个区间的下界用其值减去最大距离来代替,最后一个区间的上界用其值加上最大距离来代替。

第四步,计算区间的中间值:

第i个区间的下界如下式所示:

low

第i个区间的上界公式为:

第i个区间中间值公式为:

通过以上步骤,即可以将数据进行聚类并划分区间。

D、粒子群优化算法

粒子群是由一群粒子组成的,这群粒子代表可能存在的解。粒子i在N维空间的位置表示为矢量Xi=(x1,x2,…,xN),飞行速度表示为矢量Vi=(v1,v2,…,vN)。每个粒子都有一个由目标函数决定的适应值(fitness value),并且知道自己到目前为止发现的最好位置(Pbest)和现在的位置Xi。这个可以看作是粒子自己的飞行经验。除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(Pgbest,Pgbest是Pbest中的最好值),这个可以看作是粒子同伴的经验。粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次的迭代中,粒子通过跟踪两个“极值”(Pbest,Pgbest)来更新自己。在找到这两个最优值后,粒子通过下面的公式(10)和(11)来更新自己的速度和位置。

V

W

其中,V

对于图4的PSO算法流程图,标准PSO算法可以简单分为以下四步:

1、初始化种群(包括种群数量,每个粒子的初始位置和速度);

2、通过目标函数计算每个粒子的适应度;

3、根据公式(7)和式(8)更新每个粒子的速度和位置;

4、若满足终止条件则输出全局最优解。

E、多粒度组合预测模型

第一阶段,基于自动聚类算法为每个因子划分区间(图5)。把每个因子的数据按升序进行排序,聚类,把论域分为不同的区间长度。

第二阶段,分为四个子过程:定义模糊集,模糊化数据,给每个因子建立二阶逻辑模糊关系(FLR)以及为模糊趋势逻辑关系组(FTLRG);

第三阶段,在建立的FTLRG基础上,来构建模糊趋势矩阵,并预测每一个因子的模糊趋势;

第四阶段,把全局解空间划分为n+1个粒度空间,并预测每个粒度空间的模糊趋势和预测值;

第五阶段,建立训练集找最优权重向量,并计算最终预测值;

以下是发明人给出具体实施例。

第一部分:基于模糊时间序列分析和粒子群技术的数据预测算法完整步骤:

第一阶段,基于自动聚类算法为每个因子划分区间(图5)。把每个因子的数据按升序进行排序,聚类,把论域分为不同的区间长度。

主因子的论域划分为p个区间u

第二阶段,分为四个子过程:定义模糊集,模糊化数据,给每个因子建立二阶逻辑模糊关系(FLR)以及为模糊趋势逻辑关系组(FTLRG)。如图6所示。

(1)定义主因子模糊集和次因子模糊集

主因子模糊集为A

(2)模糊化历史数据:

确定每个历史数据所属的模糊集,如果数据属于区间u

(3)基于上述模糊历史数据给每个因子建立二阶模糊逻辑关系(FLR)

假设在t-2,t-1和t时刻主因子的模糊历史数据对应的模糊集分别为A

(4)通过FLR建立模糊趋势逻辑关系组(FTLRG)

t-2和t-1时刻对应的模糊历史数据称为当前状态,t时刻的数据称为下一状态。由于FLR的表示为A

逻辑关系组的表示如下表1所示。

表1:模糊趋势逻辑关系组

第三阶段,在建立的FTLRG基础上,来构建模糊趋势矩阵,并预测每一个因子的模糊趋势(图7)。

表2:模糊趋势矩阵

表2为一个3*6的趋势矩阵,对于每个因子都可以得到一个3*6的模糊趋势矩阵。如表中所示,S

具体统计如下:以主因子为例,二阶模糊逻辑关系表示为A

当前状态的模糊逻辑关系属于组i,则下一状态的模糊预测趋势则如下式(13)所示:

第四阶段,把全局解空间划分为n+1个粒度空间,并预测每个粒度空间的模糊趋势和预测值(图8)。其中,n是次因子的数量,则划分规则为:

第1个粒度空间:只有主因子;

第2个粒度空间:主因子和1个次因子;

第3个粒度空间:主因子和2个次因子;

第n+1个粒度空间:主因子和n个次因子。

分别计算每个粒度空间中的模糊趋势和预测值,则第m+1个粒度空间中模糊趋势Δ

R

其中,R(t-1)为原始数据中t-1时刻主因子对应的值,Δ

第五阶段,建立训练集找最优权重向量,并计算最终预测值(图9)。

首先建立训练集T=(X,Y),其中,X是由前p天每个粒度空间中的预测值所构成的矩阵,Y是由前p天的原始数据真实值构成的向量。如下式(18)所示:

n+1代表粒度空间的数量,R

训练集建立好之后,通过粒子群优化算法找出最优权重向量。

在n+1个粒度空间中产生q个粒子,第i个粒子的位置W

第i个粒子的速度V

一开始,q个粒子的初始位置和速度是随机产生的,P

P

利用式(9)和式(10)更新W

最后,根据最优权重向量来计算最终预测趋势Δ

FR(t)=R(t-1)+Δ

其中,Δ

第二部分:具体应用实例

本应用实例使用的数据是长期路面性能数据库LTPP中的IRI数据,选取安大略省中SHRP_ID为0901路段的IRI数据,节选部分IRI原始数据如表3所示,用图表示其整体趋势如图10所示。从图10中可以看出,随着年份的增长,IRI值整体呈上升趋势,则说明随着年份的使用,路面性能状况逐渐下降。

首先将数据按时间由小到大进行排序,并把IRI_AVERAGE作为主因子,IRI_LEFT_WHEEL_PATH和IRI_RIGHT_WHEEL_PATH分别作为两个次因子进行预测下一个时间的IRI值。这里,预测的因子称为主因子,而其他因子则称为次因子。

表3:部分IRI原始数据

1、运用自动聚类算法划分论域

基于以上数据,首先把原始数据按升序排序。计算图10中的主因子(图中b曲线)IRI_AVERAGE的平均偏差为0.0438,标准差为0.1571,次因子(图中a曲线)IRI_LEFT_WHEEL_PATH的平均偏差为0.0275,标准差为0.0987,次因子(图中c曲线)IRI_RIGHT_WHEEL_PATH的平均偏差为0.0634,标准差为0.2110,利用程序聚类并划分论域区间。

最终划分论域的结果如表4所示:

表4:论域划分的结果

2、定义模糊集并建立模糊趋势逻辑关系组

主因子定义的模糊集如图所示。根据二阶逻辑模糊关系来建立逻辑趋势逻辑关系组。FTLRG如表5所示。

A

A

.....

A

表5:逻辑趋势逻辑关系组

3、建立模糊关系矩阵,预测每一个因子的模糊趋势

根据表2建立三个因子的模糊趋势矩阵,结果如表6(a),表6(b)和表6(c)所示,根据公式(13)得:

Δ主=0.688Δ次1=0.127Δ次2=0.030,分别代表三个因子的模糊趋势(表6),其值均大于0,表示均呈上升趋势。

表6(a):IRI_AVERAGE的模糊趋势矩阵

表6(b):IRI_LEFT_WHEEL_PATH的模糊趋势矩阵

表6(c):IRI_RIGHT_WHEEL_PATH的模糊趋势矩阵

4、划分粒度空间,预测每个粒度空间的模糊趋势和值

根据上述的数据,有三个因子,所以划分三个粒度空间。

第一个粒度空间只包括主因子IRI_AVERAGE;

第二个粒度空间包括主因子IRI_AVERAGE和次因子IRI_LEFT_WHEEL_PATH;

第三个粒度空间为主因子IRI_AVERAGE、次因子IRI_LEFT_WHEEL_PATH和次因子IRI_RIGHT_WHEEL_PATH三个因子。根据公式(14)到公式(17),可以计算出三个粒度空间分别的模糊趋势和值。

Δ1=0.688 Δ2=0.4145 Δ3=0.248

R1(t)=3.684 R2(t)=3.411 R3(t)=3.244

5、用粒子群算法找到最优加权向量

选择20个粒子和1000次的迭代,利用公式(9)和公式(10)不断迭代更新,找出最优权重向量w=(0.26,0.11,0.63),通过公式(20)和公式(21)计算出最终值,即:

Δ

FR(t)=2.996+0.3804=3.3764。

根据对IRI进行预测,可以发现该模型可以预测IRI的下一个状态是呈上升还是下降趋势,并同时可以预测其下一个状态的值。

6、对比实验及分析

采用均方根误差(RMSE)和相对误差(RE)来说明模型的预测精度,RMSE和RE的值越小,则说明模型精度越高,RMSE和RE的公式表示分别为:

其中,n为预测数据的数量,Forecasted

将本实施例提出的模型与多项式拟合模型、ARIMA模型以及BP神经网络模型的预测结果进行对比,各模型的预测精度比较结果如图11所示。

从图11中可以看出,本实施例的模型的相对误差为6.37%,RMSE为0.191,均为最小,即说明实施例的模型要优于其他三种模型。

为了进一步证明本实施例模型的有效性,发明人另选取了其他三组IRI数据进行预测,分别为阿拉巴马州SHRP_ID为0103和0163的路段,以及佛罗里达州SHRP_ID为3804的路段。三组数据的IRI时间序列变化趋势如图12至图14所示,从这些图中可以看出数据基本较为平稳,3804路段的IRI值从2002年以后呈下降趋势。预测下一时间的IRI值分别为0.8272,0.8956和0.9891,用公式22可以计算其整体的RMSE为0.161,与真实值之间的相对误差如图15所示,从图中可以看出相对误差基本稳定在2%左右,因此得出结论,本实施例提出的模型具有较高的预测精度。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号