本发明属于时间序列在线预测领域,涉及一种基于随机傅里叶特征的核递归最大相关熵时间序列在线预测方法。
背景技术:
时间序列预测一直以来都是一个热门的研究内容并且已经被广泛应用于自然、社会和医学等各个领域。随着时间序列非线性、大数据量、更新速度快等特点的突显,对时间序列预测模型的动态更新能力和预测效率提出了更高的要求。核递归最小二乘算法(kernelrecursiveleastsquares,krls)作为一种典型的在线预测算法,能够在每加入一个新的数据后立即训练并获得更新后的模型。因此,时间序列在线预测方法相对于其他预测方法,拥有学习效率高、可扩展性强并且能够自适应更新模型等优点。
然而在实际工程和自然环境中往往混杂着噪声,因此,以最小均方误差为代价函数的krls算法无法达到理想的性能。随着信息论理论学习的发展,基于最大互相关熵的优化准则逐渐被引入以krls算法为代表的核自适应滤波方法中,从而有效的提升模型的抗噪能力。相较于仅能捕获误差信号的二阶统计量的最小均方误差准则,最大互相关熵准则能够获得更加丰富的统计信息量并能在噪声环境下保持良好的性能。
文献[wuz,shij,zhangx,etal.kernelrecursivemaximumcorrentropy[j].signalprocessing,2015,117:11-16.]将最大相关熵准则引入krls,得到了核递归最大相关熵(kernelrecursivemaximumcorrentropy,krmc)算法。虽然krmc是一种具有较强非线性、鲁棒性的时间序列在线预测方法,但它依旧存在着如下的问题:随着数据的增加,krmc中核矩阵维数的线性增长会导致计算复杂度的不断增加。由于这样的不足,krmc在实践中不能有效地应用于大规模数据,无法突出在线预测的高效动态更新与预测能力。
本发明由国家自然基金项目(61773087)资助。
技术实现要素:
为解决以上问题,本发明提供了一种基于随机傅里叶特征的核递归最大相关熵时间序列在线预测方法,解决krmc算法在大规模时间序列数据预测时,在线预测性能不佳的问题,具体方案如下:
一种基于随机傅里叶特征的核递归最大相关熵时间序列在线预测方法,包括以下步骤:
s1.收集时间序列历史数据并进行预处理,构建数据样本
所述步骤s1中的预处理方法为相空间重构方法。根据相空间重构理论,将收集的时间序列进行重构。并且构建如下的数据样本{x(n),
其中,n=1,2,...,n,n为数据样本的个数,ρ为嵌入维数,τ为延迟时间,x(n)是第n个输入向量,d(n)是输出信号。对于核方法,预测函数
s2.对模型各个参数进行初始化,按照模型参数的类型分为如下子步骤:
s201.第一类模型参数包括:最大互相关熵准则中的核宽度σ、随机傅里叶特征的维度d、所述步骤s1中mercer核的核宽度σ′、遗忘因子λ,两个核宽度对应的核函数均为高斯核函数,之后根据经验对上述四个模型参数进行初始化;
s202.第二类模型参数包括等效映射
s203.第三类模型参数为模型递归过程中的过程变量:权重矩阵w(n)、中间矩阵q(n);并对其进行初始化,即n=0时:
其中,id为d维的单位矩阵。
s3.根据步骤s1构建的数据样本
s301.计算随机傅里叶特征向量:
其中,
通过上述操作,随机傅里叶特征构建了一个有限维映射,即将mercer核近似为一个固定大小d的矩阵,因此在每次迭代时都只需要固定的时间和内存。
s302.对模型参数进行迭代更新:
计算预测误差:
e(n)=d(n)-w(n-1)tz(x(n))(4)
计算中间变量:
其中,
更新中间矩阵:
q(n)=λ-1[q(n-1)-m2k(n)z(x(n))tq(n-1)](6)
更新模型权重矩阵:
w(n)=w(n-1) m2k(n)e(n)(7)
此时,可以得到当前步骤的模型权重矩阵。
s303.更新n,即n=n 1,判断是否结束训练:
若n<n,则进行下一次迭代更新,返回步骤s301;否则,训练完成得到模型权重矩阵w(n),进入下一步。
s4.利用步骤s3训练好的模型对新输入模型的数据
s401.计算
s402.根据步骤3得到的模型权重矩阵,计算预测值:
其中,w(n)表示s3步骤中最终训练得到的权重系数。
本发明的有益效果为:在保持算法鲁棒性的同时限制了网络尺度的增长,能够高效且准确地进行时间序列预测。
附图说明
图1是本发明的时间序列预测方法示意图。
图2是本发明rff-rmc模型和rff-rls模型基于mackey-glass时间序列的仿真收敛曲线对比图。
图3是本发明rff-rmc模型基于北京八达岭pm2.5污染物时间序列的预测曲线和误差曲线。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
如图1所示,一种基于随机傅里叶特征的核递归最大相关熵时间序列在线预测方法,包括以下步骤:
s1.收集时间序列历史数据并进行预处理,构建数据样本{x(n),
所述步骤s1中的预处理方法为相空间重构。相空间能够将时间序列扩展到高维的向量空间中,充分显露时间序列的本质信息。根据takens定理,只要选择合适的延迟时间τ和嵌入维数m,就能够在拓扑等价的意义下恢复原来系统的动力学形态特性。
根据相空间重构理论,将时间序列进行重构,即构建如下的数据样本{x(n),
其中,n=1,2,...,n,n为数据样本的个数,ρ为嵌入维数,τ为延迟时间,x(n)是第n个输入向量,d(n)是输出信号。对于核方法,预测函数
s2.对模型各个参数进行初始化,按照模型参数的类型分为如下子步骤:
s201.第一类模型参数包括:最大互相关熵准则中的核宽度σ、随机傅里叶特征的维度d、所述步骤s1中mercer核的核宽度σ′、遗忘因子λ,两个核宽度对应的核函数均为高斯核函数。根据经验对上述四个模型参数进行初始化;
s202.第二类模型参数包括等效映射
s203.第三类模型参数为模型递归过程中的过程变量:权重矩阵w(n)、中间矩阵q(n);并对其进行初始化,即n=0时:
其中,id为d维的单位矩阵。
s3.根据步骤s1构建的数据样本{x(n),
s301.计算随机傅里叶特征向量:
其中,
s302.对模型参数进行迭代更新:
计算预测误差:
e(n)=d(n)-w(n-1)tz(x(n))(4)
计算中间变量:
其中,
更新中间矩阵:
q(n)=λ-1[q(n-1)-m2k(n)z(x(n))tq(n-1)](6)
更新权重矩阵:
w(n)=w(n-1) m2k(n)e(n)(7)
此时,可以得到当前步骤的模型权重矩阵。
s303.更新n,即n=n 1,判断是否结束训练:
若n<n,则进行下一次迭代更新,返回步骤s301;否则,训练完成得到模型权重矩阵w(n),进入下一步。
s4.利用步骤s3训练好的模型对新输入模型的数据
s401.计算
s402.计算根据步骤3训练得出的模型权重,计算预测值:
其中,w(n)表示s3步骤中最终训练得到的权重系数矩阵。
上述步骤s3中关键公式(5)-(7)的具体推导过程如下:
首先回顾下krmc算法,它使用内核技巧将原始数据映射到高维希尔伯特空间,并使用rmc算法处理转换后的数据。然而,随着数据量的提高,krmc算法核矩阵维数的线性增长会导致计算复杂度的不断增加。
针对于上述问题,随机傅里叶特征(randomfourierfeature,rff)已经成为一行有效的处理方式,它是一个有限维映射,它可以通过如下式近似mercer核:针对于上述问题,随机傅里叶特征(randomfourierfeature,rff)已经成为一行有效的处理方式,它是一个有限维映射
κ(x,y)≈z(x)tz(y)(10)
利用随机傅里叶特征,可以计算
上述公式中的核函数就可以用下式计算:
其中等效映射
接下来,使用rmc算法学习超平面w,并提出了随机傅里叶特征核递归最大相关熵(randomfourierfeaturekernelrecursivemaximumcorrentropy,rff-rmc)。相较于以mse为准则推导出的递归算法——rls,基于最大相关熵准则的鲁棒自适应滤波器——rmc能够在实际的预测中自适应的对含噪时间序列学习。
根据最大互相关熵的性质,我们将代价函数定义为如下式:
其中,e(i)=d(i)-w(n-1)tz(x(i)),λ表示遗忘因子,核函数选用
因此,我们使得代价函数对w的导数为0,解得如下表达式:
其中
加权自相关矩阵和加权互相关向量定义如下:
将r(n)和p(n)写成如下的递归公式:
其中
求取r-1(n)需要使用如下的定理1
定理1:如果矩阵a可以写成如下形式
a=b-1 cd-1ct(18)
矩阵a的矩阵求逆为:
a-1=b-bc(d ctbc)-1ctb(19)
根据定理1,我们设a=r(n),b-1=λr(n-1),c=mz(x(n-1)),d=i,则可以得到:
q(n)=λ-1[q(n-1)-m2k(n)z(x(n))tq(n-1)](6)
其中q(n)=r-1(n);
将r-1(n)和p(n)的迭代式带入,得到如下w(n)的迭代式:
w(n)=w(n-1) m2k(n)e(n)(7)
在本实例中,为了证明所提方法的有效性,使用标杆和真实数据集对rff-rmc方法的有效性进行验证。所述数据集分别选用mackey-glass时间序列和北京八达岭pm2.5时间序列。
1)mackey-glass时间序列仿真实例
mackey-glass时间序列可以根据如下时间延迟常微分方程生成:
其中α=0.1,β=0.2,
表1.模型关键参数及仿真信息表
根据所提算法进行在线预测,并与rff-rls算法进行比较。绘制的收敛曲线如图2所示,虚线表示rff-rmc算法,实线表示rff-rls算法。从图2中的可以明显的看到rff-rmc算法性能明显优于rff-rls算法,并且能够以更快的收敛速度达到更低的测试mse。说明rff-rmc算法能够处理预测过程中出现的异常数据,从而更好地跟踪数据的时变特性。
2)北京八达岭pm2.5时间序列仿真实例
在本示例中,我们收集了北京八达岭pm2.5的小时数据。收集数据的时间段为2017年1月1日至6月30日,共计3806个数据。首先,设定步骤s1中的延迟时间τ=1,嵌入维数m=10。其次,构建包含3000个样本的训练集和500个样本的测试集。其他模型的详细参数设定如表1所示。
采用本方法所提的算法进行pm2.5时间序列在线预测,绘制的pm2.5时间序列的1步(1小时)预测及误差曲线如图3所示。从图3中可以看到,预测曲线能够很好地跟踪时间序列的变化趋势,同时预测误差也在较小的范围内变化。表明本发明所提的rff-rmc算法对于含噪声的复杂系统建模具有较好的鲁棒性和预测效果。此外,rff方法有效地固定了核矩阵的维数,降低每一步迭代过程的计算复杂度,最终精简了预测模型,提高了预测效率。
需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以互相结合,所形成的技术方案均在本发明的保护范围之内。
1.一种基于随机傅里叶特征的核递归最大相关熵时间序列在线预测方法,其特征在于,包括以下步骤:
s1.收集时间序列历史数据并进行预处理,构建数据样本
所述预处理方法为相空间重构方法;根据相空间重构理论,将收集的时间序列进行重构;并且构建如下的数据样本
其中,n=1,2,...,n,n为数据样本的个数,ρ为嵌入维数,τ为延迟时间,x(n)是第n个输入向量,d(n)是输出信号;对于核方法,预测函数
s2.对模型各个参数进行初始化;
s201.第一类模型参数包括最大互相关熵准则中的核宽度σ、随机傅里叶特征的维度d、所述步骤s1中mercer核的核宽度σ′、遗忘因子λ,对上述四个模型参数进行初始化;两个核宽度对应的核函数均为高斯核函数;
s202.第二类模型参数包括等效映射
s203.第三类模型参数为模型递归过程中的过程变量:权重矩阵w(n)、中间矩阵q(n);对其进行初始化,即n=0时:
其中,id为d维的单位矩阵;
s3.根据步骤s1构建的数据样本
s301.计算随机傅里叶特征向量:
其中,
通过上述操作,随机傅里叶特征构建一个有限维映射,即将mercer核近似为一个固定大小d的矩阵,因此在每次迭代时都只需要固定的时间和内存;
s302.对模型参数进行迭代更新:
计算预测误差:
e(n)=d(n)-w(n-1)tz(x(n))(4)
计算中间变量:
其中,
更新中间矩阵:
q(n)=λ-1[q(n-1)-m2k(n)z(x(n))tq(n-1)](6)
更新模型权重矩阵:
w(n)=w(n-1) m2k(n)e(n)(7)
此时,能够得到当前步骤的模型权重矩阵;
s303.更新n,即n=n 1,判断是否结束训练:
若n<n,则进行下一次迭代更新,返回步骤s301;否则,训练完成得到模型权重矩阵w(n),进入下一步;
s4.利用步骤s3训练好的模型对新输入模型的数据
s401.计算
s402.根据步骤3得到的模型权重矩阵,计算预测值:
其中,w(n)表示s3步骤中最终训练得到的权重系数。
技术总结