一种基于密度峰值聚类的混沌时间序列多步预测方法与流程

文档序号:16883574发布日期:2019-02-15 22:25阅读:249来源:国知局
一种基于密度峰值聚类的混沌时间序列多步预测方法与流程

本发明涉及一种时间序列预测方法,具体涉及一种基于密度峰值聚类的混沌时间序列多步预测方法。



背景技术:

混沌是由确定的非线性动力系统产生的一种貌似随机性的运动,具有对初始条件敏感以及长期难以预测等特点;混沌时间序列预测具有广泛的应用前景。基于takens相空间重构理论,许多学者提出了多种混沌时间序列预测模型,volterra滤波器以其训练速度较快、非线性逼近能力强、预测精度高等优点,受到了国内外学者的广泛关注。经过运用volterra滤波器对高维混沌时间序列的多步预测的一系列研究,volterra滤波器通过系统辨识求解核函数,对相空间的混沌轨道作数值逼近从而实现预测,volterra滤波器模型已被验证能对低维混沌系统进行精确预测。

相空间重构理论是混沌时间序列预测的基础,packard等人和takens提出了用延迟坐标法对混沌时间序列进行相空间重构,takens定理证明了如果嵌入维m≥2d+1,d为系统动力学维数,则重构的动力系统与原动力系统在拓扑意义上等价,2个相空间中的混沌吸引子微分同胚.因此可由系统的当前状态获得下一时刻的状态,从而得到时间序列下一时刻的预测值,这为混沌信号的预测提供了依据。混沌时间序列预测的实质是一个动力系统的逆问题,即通过动力系统的状态来重构系统的动力学模型。

当前对volterra滤波器的研究工作多停留于强化其自适应性,但在局域预测模型方面仍对其起始预测点有过高的依赖,针对不同预测起点其精度往往波动幅度较大,可靠性仍然需要进一步改良。



技术实现要素:

本发明的目的是提供一种基于密度峰值聚类的混沌时间序列多步预测方法,用以改善现有的预测模型存在的对预测起点依赖过高、可靠性低的问题,用于天气对流模型等的研究过程。

一种基于密度峰值聚类的混沌时间序列多步预测方法,包括以下步骤:

步骤1,针对混沌时间序列,进行相空间重构以得到相点组成的相点训练集;

对所述的相点训练集进行聚类;

步骤2,取相点训练集中最后一个相点作为目标相点,从目标相点所在的簇开始,对目标相点的轨道和簇内其他相点的轨道进行遍历,判断目标相点轨道和其他相点轨道的轨道相似度ξi,选择位于目标相点轨道两侧且轨道相似度最高的两个轨道作为最近轨道la1和lb1;

在所述的最近轨道la1和lb1上,分别选择距离目标相点最接近的相点a1和相点b1,过目标相点做直线a1b1的垂线,垂足为n1,将n1作为模拟相点并替代目标相点,记录a1n1与a1b1的比例p;

步骤3,当最近轨道lai和lbi进入聚类的下一个簇时,分别用最近轨道la1和lb2在该簇中的起点相点作为最接近的相点a2和相点b2,根据所述的比例p计算出新的模拟相点n2,再通过计算轨道相似度,筛选该模拟相点n2的最近轨道la2和lb2;

步骤4,重复步骤3,直至所有簇均遍历完毕,得到所有筛选出的最近轨道组成的最近轨道集合l={lai,lbi},i=1,2,…,n,n为最近轨道总数;然后根据遍历顺序,依次拼接所有临近的最近轨道,获得两条拼接后完整的最近轨道la=la1+la2+…+lan、lb=lb1+lb2+…+lbn;

步骤5,将临近轨道la、lb上所有的相点构成训练集,通过volterra滤波器进行训练,得到时间序列的多步预测值。

进一步地,对所述的相点训练集进行聚类,包括:

步骤1.2,选择计算距离

对步骤1计算出的所有欧氏距离dij进升序排序构成序列,设置一个参数百分比,计算距离dc为序列在所述参数百分比上的数。

步骤1.3,确定聚类中心的相点

找到相点训练集中与相点i之间的距离小于dc的相点个数,然后找到比相点i的密度都大的相点中,与相点i之间的欧氏距离最小的值,由此确定聚类中心相点;

步骤1.4,对除了聚类中心相点之外的剩余相点进行分配,其所属的聚类是其最邻近且密度比其大的聚类中心相点的聚类;

步骤1.5,分配完相点后,如存在孤立的聚类中心相点,将该聚类中心相点作为剩余相点按照步骤1.4的方法进行分配,由此完成聚类。

进一步地,步骤2所述的轨道相似度ξi的计算方法为:

设xm为目标相点,{xi,i=1,2,…,k}为目标相点邻域内的k个近邻相点并限制短暂分离,即xi分属不同的混沌轨道;xm-p和xi-p分别为xm和xi回溯第p步长点,p=1,2,…;下式中,[·]代表向量的内积,||·||代表向量的距离范数,|·|代表绝对值,通过式3计算目标相点xm和近邻相点xi的距离相似度:

计算目标相点xm与近邻相点xi的方向相似度,运用以下公式:

计算轨道相似速度ξi:

上式中,j为步长参数,q为回溯步长。

进一步地,所述的参数百分比为5%,所述的聚类中心相点选择5个。

进一步地,所述的q的取值为2。

本发明与现有技术相比,具有以下技术特点:

1.本发明首先小幅度修改了现有的相空间邻近轨道相似度的筛选标准,提出了基于密度峰值聚类算法对训练集进行有效分块,相比于现有的单次选取邻近轨道的模式,本发明采取分段筛选邻近轨道的方法,进一步降低了误选“伪邻近轨道”的可能性。

2.本发明根据目标相点的空间几何特点,采取模拟的形式构造每个聚类簇的目标相点可能位置,通过利用模拟相点代替目标相点的方式,实现对每一个聚类簇的邻近轨道的选取。

3.实验表明本发明方法相较现有多步预测滤波器模型,其泛化性能更为优异,受预测起点的影响更小,所需训练集更少,在例如天气对流模型等的研究中具有很好的实际使用价值,提高了天气对流模型的预测精准度。

附图说明

图1为相点决策图;

图2为步骤2中确定模拟相点的示意图;

图3为仿真实验中的聚类效果图;

图4的为lorenz混沌时间序列多步预测图,其中(a)为本发明方法的多步预测图,(b)为全局预测模型的多步预测图,(c)为rbf神经网络模型的多步预测图。

图5为本发明方法的流程示意图。

具体实施方式

本发明根据相空间重构理论,对混沌时间序列进行重构得到相点训练集,然后筛选出能描述时间序列接下来变化的有效相点,并用作滤波器训练,从而获得混沌时间序列的预测值。本发明的具体步骤如下:

步骤1,针对混沌时间序列,采用延迟坐标法进行相空间重构以得到相点组成的相点训练集;然后对相点训练集进行聚类,得到聚类后的训练集。

本实施例中,因聚类中心过多不仅影响聚类效率,也会在筛选最近轨道过程中带来阻碍,经过试验,得出聚类中心为5个较为适宜;本实施例中的聚类算法如下:

步骤1.1,计算相点训练集中任意两个相点i与j之间的欧氏距离dij;

步骤1.2,选择计算距离

对步骤1计算出的所有欧氏距离dij进升序排序构成序列,设置一个参数百分比,计算距离dc为序列在所述参数百分比上的数。

例如,本实施例中参数百分比为5%,若dij共有200个,则计算距离dc为序列上的第200×5%=10个欧氏距离dij。

步骤1.3,确定聚类中心的相点

其中:

式1的目的是找到相点训练集中与相点i之间的距离小于dc的相点个数,式2的目的是找到比相点i的密度ρi都大的相点中,与相点i之间的欧氏距离最小的值。而对于密度最高的相点,其δi为所有相点到相点i的最大距离。

根据式1和式2,构造以ρi为横坐标、δi为纵坐标的相点决策图,如图1所示,从图中可以看到几个独立的点具有较大的ρi和δi,因此选这些相点作为聚类中心。本实施例中采用距(0,0)点欧氏距离最远的5个相点作为聚类中心相点。

步骤1.4,对除了聚类中心相点之外的剩余相点进行分配,其所属的聚类是其最邻近且密度ρi比其大的聚类中心相点的聚类。

步骤1.5,分配完相点后,聚类中可能存在没有除聚类中心相点之外其他相点的情况,此时将该聚类中心相点作为剩余相点按照步骤1.4的方法进行分配,由此完成聚类。

对所述的相点训练集进行聚类;

步骤2,在该步骤中,首先确定一个目标相点,然后从其所在簇开始进行遍历,通过轨道相似度ξi的计算,来确定两条夹逼目标相点(即这两条轨道分别位于目标相点轨道的两侧)的最近轨道la1和lb1;其中轨道相似度ξi的计算公式推导如下:

设xm为目标相点,{xi,i=1,2,…,k}为目标相点邻域内的k个近邻相点并限制短暂分离,即xi分属不同的混沌轨道;xm-p和xi-p分别为xm和xi回溯第p步长点,p=1,2,…;下式中,[·]代表向量的内积,||·||代表向量的距离范数,|·|代表绝对值,通过式3计算目标相点xm和近邻相点xi的距离相似度:

由式3可知,距离相似度越大代表近邻相点与目标相点越接近。

计算轨道相似度时,需要确定其矢量方向大致相同;计算目标相点xm与近邻相点xi的方向相似度,运用以下公式:

式4表示相空间中向量间的方向关系,且在向量正交时取最小值0。

通过式3和式4获得目标相点和近邻相点的轨道距离相似度和方向相似度以后,取两者交集,即为轨道相似度ξi:

上式中,j为步长参数,q为回溯步长,因此处目的在于找到方向相似的最近邻轨道,故取q=2。为了考察轨道的相似性,对xm与xi及其所回溯的p步的轨道相似度进行度量,因回溯步长越小的相点,对目标相点的预测作用越大,故分别对欧式距离和向量方向的回溯相点作加权处理,加权系数分别为同时,针对现有的以欧式距离相似度及向量方向相似度作加权和作为轨道相似度的方法。

然而,上述方法并未考虑到当xi与xm欧式距离方向夹角差异很大的情况,而此时若训练轨道数足够大,则将为“伪临近轨道”提供了入选的可能,从而对预测结果造成影响。为此,本发明中:

取相点训练集中最后一个相点作为目标相点,从目标相点所在的簇开始,对目标相点的轨道和簇内其他相点的轨道进行遍历,判断目标相点轨道和其他相点轨道的轨道相似度ξi(将其他相点作为近邻相点通过式3至式5计算),选择位于目标相点轨道两侧且轨道相似度最高的两个轨道作为最近轨道la1和lb1;即最近邻轨道是从所有轨道相似度中选出的最大的两个轨道相似度,并且这两条轨道还需要夹逼目标相点,即位于目标相点的两侧。

确定目标相点的最近轨道后,本方案中采用模拟相点来代替目标相点,依次确定分段最近轨道,步骤如下:

在所述的最近轨道la1和lb1上,分别选择距离目标相点最接近的相点a1和相点b1,其中相点a1是最近轨道la1上的相点,相点b1是最近轨道lb1上的相点;

过目标相点做直线a1b1的垂线,垂足为n1,将n1作为模拟相点并替代目标相点,记录a1n1与a1b1的比例p,p=a1n1:a1b1;如图2所示。

步骤3,当最近轨道lai和lbi进入聚类的下一个簇时,分别用最近轨道la1在该簇中的起点相点相点和lb2在该簇中的起点相点相点(即最近轨道在该簇中的第一个相点)作为最接近的a2和相点b2,根据所述的比例p计算出新的模拟相点n2,即p=a2n2:a2b2,由此可确定模拟相点n2的位置;

再根据(模拟相点n2与该簇内其他相点)轨道相似度ξi,筛选该模拟相点n2的最近轨道la2和lb2,具体方法同步骤2中确定目标相点的最近轨道。

步骤4,重复步骤3,直至所有簇均遍历完毕,得到所有筛选出的最近轨道组成的最近轨道集合l={lai,lbi},i=1,2,…,n,n为最近轨道总数;

然后根据遍历顺序,依次拼接所有临近的最近轨道,获得两条拼接后完整的最近轨道la=la1+la2+…+lan、lb=lb1+lb2+…+lbn;

步骤5,将临近轨道la、lb上所有的相点构成训练集,通过volterra滤波器进行训练,得到时间序列的多步预测值。

本发明多次选取邻近轨道,通过聚类算法确定相点边界,再在轨道进入相点边界时,通过模拟相点的形式重新选取最近轨道,从而多次获取邻近轨道,结合聚类算法,不人为地确定聚类中心,动态分配相点的边界,减少了人为因素的影响,改善了现有方法多步预测精度下降的问题。

仿真实验:

本发明算法在matlab2016a软件下仿真实现,其中聚类效果如下图3所示。

由于聚类的主要目的在于将训练集分块以便于分段选取最近轨道,故只需将训练集随其轨道分为若干簇类即可。

为了对比其他方法的多步预测如rbf神经网络模型,全局预测模型等,本发明统一采用lorenz混沌系统x分量在无噪声水平下用12000作初始迭代,并用其后的3000混沌序列进行相空间重构,共产生2980个相点以最后第2980个相点作为目标相点进行预测。lorenz混沌时间序列多步预测图如图4所示。

由图4的(a)、(b)和(c)可知,全局预测模型的有效步长不足50步,rbf神经网络模型有效步长约为80至90步,本发明在1-67周期长度下精度非常理想,在68-134周期长度开始出现偏差,但总体符合真实值。

同以往的方法相比,本发明将局域预测的有效精度从一倍拟周期长度扩展至两倍拟周期长度,即从67步提高至134步,与此同时所需训练集也从原有的6500次迭代减少至3000次。最重要的是,本发明改良了原有模型在不同预测起点精度大幅下降的问题,有效的提高了局域多步预测精度的稳定性。

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