用于混沌时间序列预测的改进型局域线性模型
2020-03-27李伟民高仲合
李伟民,高仲合
(曲阜师范大学 网络空间安全学院,山东 曲阜 273165)
0 引 言
混沌现象最早由Lorentz在天气预报研究中发现,之后很多人对其进行了研究。混沌时间序列预测方法是一种非线性的时间序列预测方法,具有非线性和预测精度高等特点。常用的混沌时间序列预测方法有全局预测法和局域预测法[1]。全局预测法利用过去已有的全部历史信息对未来值进行预测,具有预测精度低和计算量大等缺点,因此用的较多的方法是局域预测法[2]。文献[3]提出利用邻近点下一步预测的平均值作为待预测点的下一步预测值,并提出了一种区分混沌时间序列与随机时间序列的方法。局域预测法只利用部分历史信息,而且局域动力方程的拟合相对容易,计算量较小。本文改进局域线性预测模型中的参数选取,实验结果表明改进后的局域线性模型预测精度较好。
1 局域线性预测法
对已获得的标量时间序列x(n),n=1,2,3,…,N,应用相空间重构理论,可以将标量时间序列x(n)重构为相空间中的轨迹X(n),公式如下:
式中,n=1+(m-1)τ,2+(m-1)τ…,N;m和τ是相空间重构的两个重要参数,它们决定了重构的相空间与混沌系统演化的近似程度。
当重构的相空间用于预测时,需找到X(N)的一些邻近点,N表示x(n)中最后一个值的下标[4]。在X(1)到x(n-1)的N-1个点中利用公式:
找到最近的k个点X(i),dist(i)表示点X(N)第i个点的距离。邻近点选好之后,可以进行模型的建立与时间序列值的预测。
局域线性预测法是用几个过去值的线性组合来表示将来值的一种方法,即:
式中,A=[a0,a1,…,am];X′=[1,x(N),x(N-τ),…,x(N-(m-1)τ)]T。它利用已获得的邻近点得到一个线性回归方程,并用最小二乘法对线性组合的参数A进行求解,解出后即可进行预测。当step=1时,即为一步预测[5,6]。
2 改进的局域线性预测模型
对未来值的预测,一般利用如下公式:
式中,参数m和τ是重构相空间的参数。但对于相空间重构为最佳值的m和τ,对于预测来说不一定是最佳的,即产生最佳预测效果的参数mp和τp可以取与m和τ不同的值[2]。
对于参数m和τ最优值的选取,本文提出利用遗传算法来进行。即利用遗传算法进行参数取值空间中最优参数值的搜索,搜索完成后用以下公式预测:
式中,Y=[1,x(N),x(N-τ),x(N-(mp-1)τp)]T;step 取为 1。预测完成后将预测值加入到原序列中继续下一步的预测。遗传算法的适应度函数应与ε(m,τ)有关,ε(m,τ)的计算如下:
其为参数取m和τ时的标准预测误差,t为预测步数。
本文中取适应度函数为:
即误差越小,适应度函数值越大。
预测流程如图1所示。
图1 改进的模型预测流程图
3 实验分析
3.1 实验数据
采用洛伦兹吸引子轨迹为实验对象,洛伦兹吸引子轨迹的常微分方程组为:
采用龙格-库塔算法进行积分,积分步长为0.01。取其中的x坐标的时间序列为分析对象,即上文所述的x(n)。一共5 000个数据点,用前4 000个点建立模型,后面的点用于评估预测效果[7-9]。
3.2 实验结果
采用传统的局域线性预测和改进的局域线性预测方法的结果如下,图2(a)和(b)分别表示传统局域线性模型和改进的局域线性模型在预测步数为50时的预测结果和误差,传统局域线性模型的ε(m,τ)值为0.010 734,改进的局域线性模型的ε(m,τ)值为0.001 754[10]。
图2 改进的局域线性模型与传统的局域线性模型预测比较
图3(a)和(b)分别表示传统局域线性模型和改进的局域线性模型在预测步数为100时的预测结果和误差,传统局域线性模型的ε(m,τ)值为0.068 439,改进的局域线性模型的ε(m,τ)值为0.018 721。
图3 改进的局域线性模型与传统的局域线性模型预测比较
4 结 论
局域预测法是混沌时间序列预测的一种有效方法,传统局域线性预测模型中参数和τ是和相空间重构的参数和τ一样,改进的局域线性预测模型中参数经过遗传算法优化后使得预测效果有了提升,说明了遗传算法和重新选取的参数的有效性。