基于时间序列的异常检测研究

合集下载

基于自编码器的时间序列异常检测算法

基于自编码器的时间序列异常检测算法

基于自编码器的时间序列异常检测算法基于自编码器的时间序列异常检测算法异常检测是一种重要的数据挖掘技术,用于发现数据中的异常点或异常行为。

在很多实际问题中,我们需要对时间序列数据进行异常检测,例如金融数据中的交易异常、制造业中的设备故障等。

传统的基于统计方法的异常检测算法通常是基于平均值、标准差等统计量来判断数据是否异常,但是这种方法容易受到噪声的影响,而且很难适应复杂的时间序列模式。

近年来,随着深度学习技术的发展,基于自编码器的异常检测算法逐渐成为了研究热点。

自编码器是一种神经网络模型,通常由编码器和解码器两部分组成。

编码器将输入数据压缩到一个低维特征空间中,解码器将该特征空间的向量解码为原始数据。

在自编码器中,目标是最小化重构误差,即使解码器生成的输出与原始数据的差距最小。

通过训练自编码器模型,我们可以学习到时间序列数据的复杂模式,并且能够在一定程度上抑制噪声的影响,从而提高异常检测的精度和鲁棒性。

具体地,基于自编码器的时间序列异常检测算法可以分为以下几个步骤:首先,我们需要将时间序列数据进行预处理,例如去掉异常值、进行缺失值插值等。

然后,我们可以将时间序列数据分成固定长度的时间窗口,每个时间窗口都被视为一个样本。

接着,我们可以设计自编码器模型,并对其进行训练。

在训练过程中,我们可以使编码器将时间窗口压缩到一个低维向量中,同时使解码器尽量还原原始的时间序列数据。

我们可以使用均方误差(MSE)作为损失函数,并通过反向传播算法来更新模型的参数。

在模型训练完成后,我们可以使用已经学习好的编码器来对新的时间序列数据进行编码。

通过计算原始数据和编码器输出之间的重构误差,我们可以判断这个时间窗口是否异常。

如果重构误差大于某个阈值,则认为该时间窗口中可能存在异常点。

最后,我们可以通过一些后处理手段来进一步提高异常检测的准确率和召回率,例如利用滑动窗口平滑重构误差、设置动态阈值等。

总之,基于自编码器的时间序列异常检测算法是一种有效的异常检测方法,无论是对于传统领域还是新兴领域,都具有广泛的应用前景。

时间序列中的数据异常检测算法实现与比较

时间序列中的数据异常检测算法实现与比较

时间序列中的数据异常检测算法实现与比较随着数据科学的兴起,数据异常检测成为了数据分析中重点研究的问题之一。

在大量数据中,有可能存在着数据异常(outliers),它们可能是数据采集过程中的噪声,也可能是数据本身的异常。

检测和处理这些数据异常可以避免错误的分析结果和预测值,进一步提升数据分析的准确性和可靠性。

在时间序列中,每个数据点都有一定的时间顺序关系。

那么如何对时间序列的数据异常进行检测呢?下面将介绍时间序列数据异常检测的算法实现与比较。

一、基于统计方法的异常检测算法统计方法是常见的异常检测算法之一,利用常规统计方法对数据进行分析,判断其是否超出正常范围。

常用的统计方法包括均值、标准差、中位数等。

1. 均值检测方法均值检测方法考虑的是潜在的偏差。

先算出时间序列样本的均值,然后计算每个样本值与均值之间的差值,如果差值超过了预设的阈值,就认为该样本值是一个异常值。

均值检测方法的基本思想是把数据集看成一个整体,在这个整体中如果有数据点偏离了均值就认为这是一个异常。

2. 离群值检测离群值检测算法是一种广为使用的统计方法,基于定义数据点与群体的偏离程度。

方法的核心是对数据点进行聚类或分类,然后对每个聚类或分类结果的中心点以及每个点与中心点的距离进行计算,找到距离较大的点,将其识别为异常点。

二、基于机器学习的异常检测算法机器学习在异常检测中的应用越来越广泛。

通过机器学习算法的训练,可以有效的发掘并识别出数据的异常值,进一步提升数据分析的准确性和可靠性。

1.随机森林随机森林是一种决策树的集合模型,可以有效的应用于异常检测问题。

随机森林的基本原理是,对于训练数据进行预处理和特征提取,然后利用随机子采样和特征选择的方式,实现对数据的分类。

对于每个数据点,首先对其所在的叶子节点进行判断,然后根据随机的验证集进行评估,如果评估值超出阈值,则将数据点识别为异常。

2. KNN算法k最近邻算法是另一种常见的机器学习算法,主要的思想是由k个最相似的点构建一个模型,然后对每个样本进行预测。

基于时间序列分析的网络流量异常检测

基于时间序列分析的网络流量异常检测

基于时间序列分析的网络流量异常检测李彦【摘要】A network traffic anomaly detection model based on time series analysis is proposed to detect the network traffic anomaly accurately and ensure the network normal operation. The wavelet analysis is used to decompose the network traffic ac-cording to the similarity of the network traffic data, so as to divide it into the components with smaller scale. And then the gray model and Markov model of the time series analysis method are used to perform the network traffic anomaly detection for the high-frequency component and low frequency component respectively, their results are fused with the wavelet analysis, and analyzed with the simulation experiment of the network traffic anomaly. The results show that the time series analysis model has simple working process, increased the detection rate of the network traffic anomaly, its false alarm rate is lower than that of other net-work traffic anomaly detection models, and can obtain better real-time performance of the network traffic anomaly detection.%为了准确检测出网络流量的异常现象,保证网络的正常工作,提出基于时间序列分析的网络流量异常检测模型.根据网络流量数据间的相似性,采用小波分析对网络流量进行分解,划分为更小尺度的分量,然后采用时间序列分析法——灰色模型和马尔可夫模型分别对高频分量和低频分量进行网络流量异常检测,并采用小波分析对它们的检测结果进行融合,最后采用网络流量异常仿真实验进行分析.结果表明,时间序列分析模型的工作过程简单,提高了网络流量异常检测率,误检率要低于其他网络流量异常检测模型,获得更优的网络流量异常检测实时性.【期刊名称】《现代电子技术》【年(卷),期】2017(040)007【总页数】4页(P85-87,91)【关键词】网络系统;流量异常检测;灰色模型;小波分析【作者】李彦【作者单位】景德镇陶瓷大学信息工程学院,江西景德镇 333403【正文语种】中文【中图分类】TN915.07-34;TP391随着计算机技术的不断发展和成熟,网络上的业务种类越来越多,如视频,图像等,网络成为了一种主要的通信载体[1]。

时序数据中的异常检测算法研究

时序数据中的异常检测算法研究

时序数据中的异常检测算法研究时序数据是指数据按照时间顺序排列的数据集合,例如某产品每天的销售数量或某城市每小时的空气污染指数。

时序数据中,异常数据点往往是我们需要关注的,这些异常数据点往往揭示了某种异常情况。

因此,在时序数据中进行异常检测是非常重要的,它可以帮助我们发现和解决问题,提高决策的准确性和效率。

本文将介绍时序数据中的异常检测算法,并比较它们的优缺点。

1. 滑动窗口算法滑动窗口算法是指以固定时间窗口大小为单位,依次遍历时序数据,检测样本是否超出窗口大小范围。

该算法的基本思路是将数据集合划分为若干个大小相同的窗口,每个窗口内包含固定大小(例如100个数据点)的数据。

每次移动一格窗口,检测新加入的数据点是否超出窗口大小范围。

如果超出,则被视为异常值。

滑动窗口算法的优点是算法实现简单,且可以快速发现某一时间段内的异常点。

缺点是如果窗口大小设置不合理,会导致漏报和误报。

2. 离群点检测算法离群点检测算法是指通过对时序数据进行分析和建模,检测数据中的异常点。

该算法通常基于统计模型或机器学习方法,在数据分布上寻找与其他数据点明显不同的数据点,这些数据点可以被视为异常点。

当前常用的离群点检测算法包括单变量离群点检测、多变量离群点检测、基于密度的离群点检测等。

单变量离群点检测算法主要是通过分析单个数据属性的统计分布特征,检测数据中与其他数据点明显不同的数据点。

多变量离群点检测算法是通过分析多个数据属性之间的关系,建立多元统计模型,发现与其他数据点明显不同的数据点。

基于密度的离群点检测是通过确定数据点的密度,识别在密度较低区域内的数据点,这些被视为异常点。

离群点检测算法的优点是可以通过多种方式识别异常点,不受窗口大小的限制。

缺点是算法实现较为复杂,需要较高的计算能力和存储空间,同时还需要完善的模型选择和参数设置流程。

3. 深度学习算法深度学习算法是指通过建立深度神经网络模型,对时序数据进行训练和学习,检测数据中的异常点。

异常检测中的时间序列分析技术

异常检测中的时间序列分析技术

异常检测中的时间序列分析技术第一章引言1.1 研究背景异常检测是数据分析领域的一个重要问题,它在很多领域具有广泛的应用,如金融领域的欺诈检测、制造业中的质量控制、网络安全中的入侵检测等。

时间序列数据作为异常检测的一种重要形式,具有时间相关性和时序性的特点,需要针对其特殊性开展专门的分析技术。

1.2 问题定义时间序列异常检测旨在发现与给定时间序列模式不符的突变点或异常情况。

这些异常可能包括孤立的异常点、连续的异常区域或周期性的异常行为,需要借助时间序列分析技术进行准确的检测。

第二章常用的时间序列分析技术2.1 基本概念时间序列分析是一种通过对数据中的时间因素进行建模和预测的方法。

时间序列由数据点按时间顺序组成,具有明显的时间先后关系。

2.2 平稳性检验平稳性是进行时间序列分析的前提条件,平稳的时间序列具有恒定的均值和方差。

平稳性检验可以通过统计方法和图形方法进行,如单位根检验、自相关函数和偏自相关函数分析等。

2.3 自回归移动平均模型自回归移动平均模型(ARMA)是一种常用的时间序列建模方法。

它使用时间序列的过去值和随机误差项来描述当前值的行为,可以通过最大似然估计进行参数估计。

2.4 长短期记忆网络长短期记忆网络(LSTM)是一种能够对时间序列数据进行建模和预测的循环神经网络。

LSTM网络通过引入门控机制解决了传统循环神经网络中的梯度消失和梯度爆炸问题,能够捕捉时间序列中的长期依赖关系。

第三章时间序列异常检测方法3.1 基于统计模型的方法基于统计模型的时间序列异常检测方法通过建立时间序列的统计模型,比较观测数据与模型预测值之间的差异来检测异常。

常用的方法包括ARMA模型、季节性模型和自适应模型等。

3.2 基于机器学习的方法基于机器学习的时间序列异常检测方法通过训练一个分类器来区分正常数据和异常数据。

常用的算法包括支持向量机、决策树、随机森林和神经网络等。

3.3 基于深度学习的方法基于深度学习的时间序列异常检测方法利用深度神经网络模型自动地学习数据中的隐含特征。

时序异常检测方案

时序异常检测方案

方案实施流程
▪ 模型训练与评估
1.使用训练集对模型进行训练,学习正常的数据模式。 2.使用验证集对模型进行评估,评估模型的准确性、召回率和 F1分数等指标。
▪ 异常检测与结果解释
1.将训练好的模型应用于实际数据,进行异常检测。 2.对检测结果进行解释,明确异常数据的特征和含义。
方案实施流程
模型监控与更新
异常检测效果评估
▪ 兼容性评估
1.不同数据源的兼容性:评估模型在不同数据源上的性能表现 。 2.不同环境的兼容性:测试模型在不同运行环境下的稳定性和 性能表现。
▪ 用户体验评估
1.界面友好性:评估用户使用模型的便捷性和舒适度。 2.结果可解释性:模型输出的异常检测结果应易于理解和解释 ,提高用户信任度。 以上评估主题涵盖了模型性能的各个方面,可以帮助全面了解 时序异常检测方案的性能表现。
机器学习方法
机器学习方法
监督学习
1.通过标记的训练数据来训练模型,使其能够对新的数据进行 预测或分类。 2.常用的算法包括支持向量机、决策树和神经网络等。 3.需要大量的标记数据,对于标注数据成本较高的情况可能不 适用。
无监督学习
1.利用无标记的数据进行训练,模型会自己学习数据的结构和 特征。 2.常见的算法包括聚类分析和降维分析等。 3.可以用于发现数据中的隐藏模式和结构,但结果的解释性可 能不如监督学习。
▪ 数据预处理
1.数据清洗:清除异常值、缺失值和错误数据,保证数据质量 。 2.数据标准化:将数据规范化到统一的数值范围,消除数据特 征间的量纲影响。 3.数据转换:将数据转换为适用于异常检测模型的输入格式。
▪ 模型选择与参数配置
1.选择合适的异常检测模型,如统计模型、机器学习模型或深 度学习模型。 2.根据数据集特点和业务需求,调整模型参数,优化模型性能 。

面向多变量时间序列的异常检测方法综述

面向多变量时间序列的异常检测方法综述

面向多变量时间序列的异常检测方法综述随着科技的不断发展,多变量时间序列的数据越来越常见。

如何从这些数据中提取有用的信息,已成为许多领域的研究重点。

在这些数据中,异常数据通常包含了许多实质性的信息。

因此,异常检测在很多应用中成为了一个重要的任务。

然而,在面对多变量时间序列数据的时候,异常检测的问题变得更加困难。

本文将对当前多变量时间序列异常检测的研究方法进行综述,并讨论未来的研究方向。

一、定义与特性多变量时间序列数据是指由两个或以上的变量组成的时序数据,它们通常是互相影响的。

例如,在图像,金融,气象,社交网络等领域,多变量时间序列数据都是常见的。

异常检测是指在数据中寻找不遵循预定义模型或过去行为的样本。

其中,异常点可能是真实的不寻常的数据或者是误差、损坏或者其他的噪音干扰。

为了判断一个数据点是否为异常,我们需要考虑它与其它样本的差别以及和历史数据的关联。

二、基本方法(1)统计方法这是最简单的异常检测方法之一。

它通常通过建立一个实体的或经验的概率分布模型来对多变量时间序列进行建模。

然后可以在此基础上利用概率模型计算每个新的观测值的异常分数。

例如,Mahalanobis距离可以用于检测多元正态分布中的异常点。

此方法实现简单,容易解释,但是不能处理复杂的非线性关系。

(2)时间序列分析这种方法通常使用时间序列分析技术来建立模型并预测数据。

问题被看作是一个回归问题,而异常值被视为超出预测值的观测值。

例如,ARIMA模型可以被用于处理时序相关的多变量数据。

此方法比较灵活,提供了更完整的分析框架,但是需要较为准确的时间序列分析结果。

(3)机器学习方法机器学习方法通常通过学习过往数据的特征进行建模。

其中,异常点被视为是不符合学习模型的数据点。

例如,基于神经网络的异常检测方法已在多种场景中应用。

此方法针对复杂的非线性多变量数据是比较有效的。

(4)深度学习方法深度学习方法是神经网络在多变量时间序列数据中应用的扩展。

它与传统的机器学习方法比较,可以自动发现数据中的特征,从而在处理高维、复杂的数据方面更加高效。

基于时间序列的异常检测算法

基于时间序列的异常检测算法

基于时间序列的异常检测算法时间序列分析是一种建模技巧,它通常用于根据过去的数据来预测未来的趋势。

在实际应用场景中,我们经常需要对数据进行异常检测,以发现与正常模式不符的异常行为。

基于时间序列的异常检测算法是一种常见的方法,它是将数据按照时间发生的顺序排列起来,然后对每个时间点的数据进行处理和分析。

下面将介绍几种常见的基于时间序列的异常检测算法。

一、统计模型统计模型是基于统计学原理和概率理论的方法,它通过建立合适的时间序列模型来描述数据的分布特征。

具体地,我们可以将数据分为训练集和测试集,在训练集上建立模型,并通过测试集来检验模型的预测能力。

如果某个时间点的实际数据与预测值之间的差异较大,那么就可以认为在该时间点发生了异常事件。

常见的基于统计模型的异常检测算法包括ARIMA模型、指数平滑模型等。

ARIMA模型是一种建立在时间序列自回归和移动平均模型的基础上的方法,可以较好地解决非平稳时间序列的建模问题。

指数平滑模型则是一种适用于平稳和逐渐平稳时间序列的建模方法,它可以有效地抑制噪声和异常点的干扰。

二、机器学习模型机器学习模型是一种基于数据驱动的模型,它通过学习历史数据的模式来发现数据中的异常事件。

具体地,我们可以使用分类、聚类等机器学习算法对数据进行训练,并通过测试集来评估模型的性能。

常见的基于机器学习模型的异常检测算法包括支持向量机、神经网络等。

支持向量机是一种常用的分类算法,在异常检测中可以将正常数据和异常数据分别视为两类进行分类。

神经网络则是一种针对复杂数据建模的方法,它可以自适应地捕捉数据的特征,从而发现异常事件。

三、聚类模型聚类模型是一种基于数据相似性的方法,它可以将数据分为若干个簇,从而发现数据中的异常事件。

具体地,我们可以使用聚类算法对数据进行分组,然后通过计算每个数据点与其所属簇的距离,来衡量该数据点的异常程度。

常见的基于聚类模型的异常检测算法包括K均值聚类、DBSCAN聚类等。

K均值聚类是一种简单且易于实现的算法,它通过随机选择簇心,并计算每个数据点到簇心的距离,从而不断调整簇心的位置,直至达到最小化平均距离的目标。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

世界软件工程大会 基于时间序列的异常检测研究 王桂兰,王振奇,罗贤金 信息与网络管理中心,华北电力大学,保定 071003中国. E-MAIL:yu_bing_2000@163.com 摘要 随着网络环境的不断恶化,各种病毒、木马不断影响网络的安全。通过网络通信异常状况的检测和分析,可以有效地发现在网络中存在的问题。本文讨论了网络流量数据预测及网络异常检测,采用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形式:

其中,yt是负载的观察时间序列,at是高斯白噪声,及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模型时,序列要求为零,如果该序列不为零,需要通过转换将该序列转化为均值为零的序列。 在这种情况下,首先取对数序列,然后取其反向差分序列。具体步骤如下: yk log( y k)

yk=yk-yk-1

分析上述的变换序列,我们可以得到图4中所示的结果。 如图4中所示,两个根都在单位圆外,满足回归和平滑的要求。 3.3.2 白噪声测试 在此过程中我们可以确认,残差e是白噪声的体现。如果剩余序列不是白噪声序列,那么仍有一些有用的信息存在于残差序列并没有被提取。所以我们需要进一步改进模型。测试通常集中在随机测试变化后的残余序列上,即当滞后K≥1,样本序列的自相关系数应近似于0。

图4.ARMA(1,1)模型的参数估计 残差序列的自相关函数:

其中n是用于计算rk的观测值,m是最大滞后值。 如果样本n的值很大,则m值可取n/10。当n较小时,m值可取n/ 4。 图5.残差序列的自相关图 测试统计:

为零假设的下,Q服从;;χ2(m-p-q)分布。1-α(一般取α=0.05或0.10)已经给定,如果Q≤χ2(m-p-q的)不能拒绝残差序列相互独立的原始假设,则通过测试;否则则该模型未能通过测试。 在图5中的残余序列的样本大小为n,所以最大滞后值m可以取12/4 =3。当k = 3时,我们得到测试的统计Q值为0.3904,从行PROB读出的第一个拒绝原始假设的错误的概率是0.532,换言之,残留序列是独立的或是白噪声的概率很大。所以不能拒绝序列为相互独立的,则通过了测试。 4. 指数平滑模型 这里是指数平滑模型,它可以识别网络中大的波动并且将他们从所观察到的时间序列中删除,使网络的位置量可以更准确的预测。 为简单起见,我们仅计算一个小时,hj表示在该时间内J的形象(即时间点i在时间序列中)。 确定各点的期望值,表示为E(hj),指数平滑模型允许积累期望值而不需要额外的资源(例如内存)来存储先前值。当一个峰值是实际增加值,而不是一个异常时,它也可以快速学习调整。该模型在时间序列上至少需要两点,并且被递归定义如下: E(h2)=h1, E(hj+1)=αhj+(1-α)E(hj) for i>1(Eq. 6) 换句话说,一个点的期望值是以前的值和先前的预期值的线性组合。在实践中(公式6)被用来计算‘在飞’的期望,应用(公式6)每个新的数据点和下一点的期望也被更新。 方差hi(任意随机变量),记作VAR(hi),定义为: Var(hi)=E([hi-E(hi)] )(Eq. 7). 换句话说,方差是预测值和期望值之间差值平方。扩展平方项并计算E(E(X))= E(X),得到:

因此,借由预测平方值序列的模型,可以很容易获得方差。用其他指数平滑模型来模拟预计平方值:

当计算E(HJ)时,预计平方值也可以用观测值的加权总和来表示。 要确定一个值是否是一个异常,用该值与预期值之间的差异来测量标准偏差,记为SD,这是一个简单的方差平方根,表示为: SD(hi)= {square root over (Var(hi))} (Eq. 10). 当超过2个标准偏差值偏离预期值时。该值被认为是一个异常值。 一旦检测到异常,他们也可以利用的时间序列模型来取代。直观地说,当一个值偏离期望值,超过一些常数(可能非整数)的标准偏差数,该值被期望值取代。去除异常时,方差的平方值也被取代,但是预期的平方值不会被使用,它会被预期值平方的平均预期值和实际异常值取代(下文描述);这个过程确保在时间序列上的变化(即,该值不是一个异常),它不会删除太多的错误异常值。

5. 系统的实现 网络流量预测和异常检测系统由数据采集组件,网络流量预测部分和异常检测部分组成。图6是系统结构图。异常检测组件从数据采集组件和交互的网络流量预测组件接受输入,提供一个输出。输入通常是与数据集相关的历史时间序列。异常检测组件利用输入的数据切片来确定异常。输出是从输入端检测到的异常。

相关文档
最新文档