基于时间序列的异常检测研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
世界软件工程大会
基于时间序列的异常检测研究
王桂兰,王振奇,罗贤金
信息与网络管理中心,华北电力大学,保定
071003中国. E-MAIL:yu_bing_2000@
摘要
随着网络环境的不断恶化,各种病毒、木马不断影响网络的安全。通过网络通信异常状况的检测和分析,可以有效地发现在网络中存在的问题。本文讨论了网络流量数据预测及网络异常检测,采用ARMA模型的网络流量预测,利用平滑指数模型的网络异常检测。ARMA 模型为异常检测提供预期值,同时,平滑指数模型修复历史流量数据,可以使下一次流量预测更准确。网络流量预测和网络异常检测系统已经被开发出来,利用它可以发现网络异常并发送警报,从而提高了网络的稳定性和健壮性。
1.绪论
随着网络规模的不断扩大和网络复杂性的日益增加,基于TCP / IP协议的互联网,已经成为一个全球性的信息基础设施,是现代生活不可或缺的内容,它的崩溃可能会导致巨大的经济损失。例如,2001年7月Code-Red蠕虫病毒在不到9个小时的时间里,感染了25万台计算机,直接经济损失达260亿美元;2003年1月,SQL Slammer蠕虫病毒爆发,在开始的5分钟内导致了9.5至1.2亿美元的损失。网络采集过程中,蠕虫病毒导致的网络拒绝服务和网络不当配置现象,严重影响了网络的正常运行。如何有效地管理现代化的大型网络,使他们更高效、可靠和安全地运行是网络维护面临的一个迫切的问题。
近年来,异常检测,作为数据挖掘的一个分支,正受到越来越多的关注和研究。这些研究一般可分为五大类:基于分布方法,基于深度方法,基于聚类方法,基于距离的方法和基于密度的方法。基于分布和深度方法的异常检测是统计学中采用的主要方法。基于分布的方法设定数据组是已知的,根据上述的数据分布对于每个对象采取“不一致”测试,如果该对象不符合分布方式,它就被认为是异常的。这就是本文所采取的方法。
在本文中,网络历史流量的时间序列是已知的分布,只有当前时刻的流量是预测值,如果实际值未通过“不一致”的测试,那么它就被认为是异常的。同时,在历史数据的时间序列中异常值将会由实际值所替代。因此,以后的预测将更加准确。在这里,一个实用的系统被
应用以实现网络流量预测和异常检测,在这个系统中的网络流量预测借助于ARMA预测模型,一致性分析使用了平滑指数模型。一旦一个数据被识别为异常值,系统会报告管理员,然后可以采取必要措施,保证网络的正常运行。
本文的结构如下,第2节介绍了ARMA模型及其应用,第3节介绍了基于校园网络负载系统的ARMA模型,第4节给出了一个用于发现异常,提高预测的准确度的平滑指数模型,第5节介绍了系统的结构,第6节作出总结和介绍我们今后的工作。
2.ARMA模型预测过程
对于一个具有平稳时间序列的网络负载数据,因为历史数据和未来数据的特性是彼此相似的,历史数据可以作为参考,以制定一个适当的ARMA模型。在本节中介绍了普遍适用的ARMA模型,它是由自回归模型(AR)和滑动平均模型(MA)组成的线性组合。图1所示为这种模型的识别过程,可以大致分为三个步骤,包括系统建模,参数估计和适应性的验证。
图1.ARMA模型识别过程
2.1.建模过程
在统计学中,滑动自回归平均模型(ARMA),有时也被称为Box-Jen-kins模型而迭代
Box-Jenkins法通常用于评估他们,ARMA模型通常是适用于时间序列数据。
一个负载系统通常表示为下列ARMA形式:
其中,y t是负载的观察时间序列,a t是高斯白噪声,及B是延迟算子,如,
。在图1左边,其中是AR部分的参数,且是AR的阶数。在图1的右侧,
其中,是MA部分的参数,并且是MA的阶数。
在这项研究中,使用的样本自相关函数和偏自相关函数的信息作为预估模型阶数的参考。
2.2.参数估计
随着模型的构建,相关的参数需要提前预估。这项工作可以借助于基于梯度的方法,其中,参数被预估以便于历史数据的拟合误差的平方和具有零梯度。
2.3.适应性的验证
当模型参数估计完成后,即对于模型的适应性进行验证。在此过程中对于下面列出的三个项目进行验证:
1)气象参数的预估显然不为零,换句话说,序列参数为零。
2)剩余误差是白噪声过程的体现。
3)拟合模型是适当的。
上述项目确认之后,所构建的模型将会准备进行负载预测。然而,如果该模型没有通过这些测试,上述过程应再次重复进行,直到找到适当的模型。
3.系统建模
每隔一小时,收集一次校园网的输出流量,构成一个时间序列。图2描述的是一个负载数据的时间序列图形。横轴是时间;垂直轴是流量数据,单位是字节。
图2.网络负载的时间序列图
3.1.自相关和偏相关分析
通过Eviews软件进行自相关和偏自相关的分析,结果如图3所示(在接下来的页面)。根据图3所示,我们可以看到,相关系数的序列快速演变为随机时间间隔序列和一段残余序列,显示该序列是稳定的。只有光滑的时间序列才可以直接构建成一个ARMA模型,否则必须采取适当的处理,使该平稳序列能满足要求。这里的序列是稳定的,所以可以直接建立ARMA模型。
图3.自相关和偏自相关图
3.2.ARMA模型预估
应用ARMA(P,Q)模型,我们需要先确定参数p和q。根据自相关和偏相关函数,我们可以判断他们。图2表明,偏相关系数逐渐趋近为零,则p=1 。当k = 1,2或3时,自相关系数显然不为零,则q = 1或2 。所有系统可以采用ARMA(1,1)或ARMA(1,2)模型。为了使问题尽可能简化,我们采取的是ARMA(1,1)模型
3.3.适应性验证
现在我们验证上面选择的ARMA模型的适应性,如果该模型符合2.3中的3条规则,它就可以通过验证。
3.3.1 估计参数的适应性验证
在应用ARMA模型时,序列要求为零,如果该序列不为零,需要通过转换将该序列转化