作者简介:王石(1979-),男,工程师,博士研究生.研究方向:信息安全.E-mail:wangs@nenu.edu.cn
基于Takens理论对混沌时间序列进行相空间重构,对小数据量法进行如下改进:利用C-C算法计算嵌入维和延迟时间;以功率对频率加权并采用求平均的方法计算平均周期,使小数据量法更加完善。使用改进前、后的小数据量法分别仿真计算Lorenz系统混沌时间序列的Lyapunov指数并预测混沌时间序列,并计算实测局域网流量时间序列的最大Lyapunov指数并预测局域网流量时间序列。仿真及实验结果均表明,采用改进型小数据量法进行流量预测,精度更高、速度更快、预测点数更多。
First, the LAN traffic flow time series are reconstructed in the phase space using Takens theory. Then the embedding dimension and delay time are calculated via the C-C algorithm. Third, the average period is calculated via the frequency weighting derived from the power and averaging method. With the above steps the improved small data method becomes more complete. The improved small data method is applied to calculate the largest Lyapunov exponent of the chaos time series of the Lorenz system and the prediction data of the real measured LAN traffic flow time series. Results show that the LAN peak traffic flow is chaotic and the prediction based on the improved small data method is more accurate, faster, and more points can be predicted.
局域网流量的预测对设计、控制、分析网络具有重要意义。随着互联网的快速发展、新型应用的部署, 现代局域网流量体现为高速、突发等特征, 又具有自相似、低维混沌等非线性动力学特性[1], 基于传统模型(如Possion模型)进行的流量预测遇到了新的挑战[2]。因此, 可以利用混沌控制的基本理论和方法提取局域网流量蕴含的动力学信息并且解决局域网流量预测所遇到的新问题。
混沌的离散情况常常表现为混沌时间序列, 而混沌时间序列中蕴含着丰富的动力学信息, 因此通常采用混沌时间序列的方法进行研究。判断一个时间序列是否为混沌系统, 只需看最大Lyapunov指数是否大于0即可。目前, 计算最大Lyapunov指数的方法主要有Wolf法[3]、
本文基于Takens理论对混沌时间序列进行相空间重构[11], 根据改进的小数据量法计算用网高峰时段局域网流量时间序列最大Lyapunov指数, 并判断其具有混沌特性。然后基于最大Lyapunov指数进行局域网流量时间序列预测计算。改进的小数据量法使用C-C算法计算嵌入维和延迟时间, 提高了Lyapunov指数的准确性和计算速度; 以功率对频率加权并采用求平均的方法计算平均周期, 提高了预测精度和预测点数。实验结果表明, 本文方法是有效的。
混沌是有确定性规律的随机性运动。混沌系统的运动轨线经过一段时间的变化后, 通过反复的拉伸和折叠, 最终会产生一种规则的、有型的轨迹, 即混沌吸引子。混沌吸引子可以刻画系统的运动特征。相空间重构思想是为了在高维空间恢复混沌系统的吸引子。Takens[11]证明了如果找到合适的嵌入维数且大于2d(d为状态空间奇异吸引子的维数), 在这个嵌入维空间里可以把有规律的轨迹(吸引子)恢复出来, 为基于混沌时间序列的预测奠定了理论基础。
设混沌系统的时间序列为 {xi}(i=1,2,…,N),找到合适的嵌入维数m和延迟时间t,可重构相空间如下:
式中:
嵌入维数太低会导致相空间轨线相交; 嵌入维数太高相点空间距离又过大, 只有选取合适的嵌入维数才能使吸引子的轨线充分展开并确定地表达系统的运动规律, 由此计算出来的物理量如Lyapunov指数等才能准确地表征系统的运动特征。延迟时间太小, 相空间中相点坐标差别过小; 延迟时间过大, 会导致相点坐标完全独立无关。延迟时间过大或过小均无法反应系统运动特征。因此嵌入维数 m和延迟时间t的选取是相空间重构的关键。
混沌系统的基本表现形式为“ 蝴蝶效应” , 即系统对初始值的极端敏感性, 两个相差无几的初始值所产生的轨迹随着时间的推移按指数方式分离。Lyapunov指数是混沌系统在整个吸引子的轨线上平均后得到的特征量。其中最大Lyapunov指数可以定量地描述两个很靠近的初始值所产生的轨道随时间推移按指数方式分离的现象[12], 因此可以基于最大Lyapunov指数实现混沌时间序列的预测。文献[12]证明了只要最大Lyapunov指数大于0, 就可以肯定混沌的存在, 因此在许多实际应用只需计算最大Lyapunov指数即可。
小数据量法是计算混沌系统时间序列的最大Lyapunov指数的一种方法, 其算法步骤为:
(1)对时间序列
(2)根据Takens理论, 由m≥2d+1估计嵌入维数m,d为状态空间奇异吸引子的维数。
(3)根据嵌入维数m和延迟时间t重构相空间, 如式(1)所示。
(4)寻找相空间中每个点
(5)对相空间中每个点
(6)对每个
式中:
用最小二乘法作出回归直线, 该直线的斜率即最大Lyapunov指数λ 1。
根据Lyapunov指数的物理意义, 最大Lyapunov指数可以定量地描述两个很靠近的初值所产生的轨道随时间推移按指数方式分离的现象[12]。因此可以按照如下步骤对混沌时间进行预测:
(1)根据嵌入维数m和延迟时间t重构相空间, 如式(1)所示。
(2)选取预报中心点YM,找到YM 最邻近点Yj两相点各自随时间推移一步, 其轨道距离将按指数分离, 可表示为:
式中:只有 Y(M+1) 的最后一个分量x(n+1) 是未知的,从而可以计算出原时间序列的一步预测值x(n+1) 。
(3)依次随时间推移选取预测中心点
(4)最大可预报时间依然可以依据此理论推测。两最邻近相点
式中:
可以认为式(6)超过临界C时,轨道发散到不可预测,这时所经历的时间就是临界时间,即最大可预报时间t0,并且有t0=lnC/(λ1 。)通常取C=e或更小,可得到:t0=1/λ1 。t0亦为最大可预测点数或最大可预测步数。
仿真实验考察混沌系统Lorenz系统
Lorenz方程如下:
式中:
初始值
依据小数据量法计算平均周期 P=0.32;延迟时间t=14。算法中并没有明确指出计算嵌入维数m的方法,在此给m设定一个较大的范围(2≤m≤14)对算法进行评估, 计算结果见表1。评估标准如下:预测方法对预测点的计算有开方过程, 预测有效点数取为预测结果为实数的点数与最大可预报时间t0两者中的较小值, 用te表示; 预测结果相对误差绝对值小于5%的点数占预测有效点数的百分比, 用tp表示, tp越大代表预测精度越高。以te及tp作为评估标准。
当7≤ m≤ 14时, 最大Lyapunov指数λ 1< 0, 时间序列不在混沌状态。由表1可知, 当m=5时, 理论上最大预报时间(即最大预测步数)t0=90.9。实际预测有效点数te=14, 并且所有点预测值与真实值相对误差绝对值小于5%。因此, 当平均周期P=0.32、延迟时间t=14时, 可取嵌入维
根据以上的实验结果进行分析, 以下问题值得进一步研究:
(1)实际预测有效点数与最大可预报时间相差较大。
(2)小数据量算法对较大范围的延迟时间变化工作效果良好, 但是算法没有说明随延迟时间变化引起的最大Lyapunov指数变化对实际应用中的预测结果有什么影响, 需要验证。
(3)如何提高计算嵌入维数
(4)时间序列平均周期依据能量谱平均频率选取是否合理。
(5)预测精度可否进一步提高。
针对以上问题进行以下数据分析:
(1)考察延迟时间变化对计算最大Lyapunov指数及预测结果的影响。
由表3数据可知, 保持m不变, t在一定范围内最大Lyapunov指数变化不大, 符合小数据量算法描述。但是te及tp有明显波动, 比较所有数据, 当m=3、t=11时预测效果最好,理论上最大预报时间(即最大预测步数)t0=29.6,实际预测有效点数te=27, 二者接近, 并且预测精度较高tp=92.6%。
参数
利用C-C算法可以计算出延迟时间窗tw=80, 延迟时间t=10, 则m=9。按照以上参数进行预测计算, 结果如下:λ 1=0.007 737 7; t0=33.8; te=3; tp=66.7%。
由计算数据可知, 理论上最大预报时间t0=33.8, 实际预测有效点数te=3, 二者相差很大, 考察平均周期
(2)考察平均周期变化对计算最大Lyapunov指数及预测结果的影响
对时间序列
变换中用到的频率为:
变换后的幅值谱为:
则变换后的功率谱
取功率F(i)(i=1,2,…,N)对频率fi (i=1,2,…,N)加权并求加权平均的值作为平均周期P,则有:
以此方法计算的平均周期P=27, 利用了时间序列的所有数据, 不仅与时间序列的长度相关而且依赖于时间序列的具体值。
选取P=27并以C-C算法计算的延迟时间
由表4数据可知, 预测值前29个点相对误差绝对值在5%以内, 预测值比较准确。从第30点开始, 相对误差急剧增加并且越来越大, 符合相空间轨迹逐渐发散的实际情况。
综合以上分析, 改进型小数据量法算法步骤如下:
(1)对时间序列
(2)根据C-C算法, 计算嵌入维数
算法其余步骤及预测方法与小数据量法相同。
采用小数据量法及上述改进的算法对真实网络流量进行预测, 验证改进后算法在实际工作中的效果。
所分析局域网流量数据来自某高校核心交换机联通出口数据。测试时间为2014年3月1日至3月10日, 选取7∶ 00~23∶ 00用网高峰时段进行采样。采样周期30 s, 采样点数1760个。
用小数据量法估计出m=6;t=12;P=0.32;λ1=0.2079。则t0=1/λ1 =4.8,得到7个有效预测点,预测值见表5。采用改进型小数据量法估计出m=11;t=10;P=53;λ1=0.2128,则t0=1/λ1=4.7。λ1>0说明用网高峰时段局域网流量时间序列处于混沌状态。得到10个有效预测点, 预测值见表6。
对比表5与表6数据可知:小数据量法对局域网流量预测相对误差绝对值在5%以内, 改进算法预测的相对误差绝对值90%的点在3%以内, 说明改进算法预测精度更高, 同时有效预测点数也更多。
局域网流量预测对预判网络拥塞、病毒攻击等有重要意义, 基于混沌理论的局域网流量预测具有不用事先建立主观模型、预测精度高等优点。根据改进型小数据量法计算用网高峰时段局域网流量时间序列最大Lyapunov指数, 可以判断出该时间序列处于混沌状态, 为基于混沌理论的局域网流量预测提供了依据。改进型小数据量法使用C-C算法计算嵌入维数的延迟时间, 降低了估计嵌入维的复杂度和难度, 提高了计算速度, 也使两个参数的计算更准确。改进的平均周期利用了混沌时间序列的长度和具体值, 与混沌时间序列自身相关, 更具代表意义。实验结果表明, 基于改进型小数据量法的局域网流量预测速度更快, 精度更高, 预测点数更多。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|