2024年3月10日发(作者:)
面向电力大数据日志分析平台的异常监测集成预测算法
倪震;李千目;郭雅娟
【摘 要】随着电力企业网络技术的发展,传统和新生的日志处理系统已不能满足大
数据状态下的日志分析要求,为了实现系统日志异常分析的目标,该文提出一种基于
时间序列的系统异常数量集成预测算法和面向该算法的评价体系.该算法对多种分
类预测算法进行集成,对收集到的日志数据进行分类预测,进而实现了以综合最优的
准确度预测系统的异常数量,评价体系很好地支持了该算法的工作,算法增强了日志
分析平台的安全性.%In view of that the traditional or the new log processing
system can not meet the requirements of the log analysis in the current
situation of big data entirely with the development of power enterprise
network technology,an algorithm for estimating the number of systems
based on time series and the evaluation system are presented to realize
the system for the algorithm. The algorithm integrates multiple
classification prediction algorithms to classify the collected log data, and
then realize the purpose of forecasting the number of anomaly systems
with the best accuracy. The evaluation system also supports that the
algorithm can increase the security of the log analysis platform.
【期刊名称】《南京理工大学学报(自然科学版)》
【年(卷),期】2017(041)005
【总页数】12页(P634-645)
【关键词】日志分析;异常监测;大数据平台;集成预测算法
【作 者】倪震;李千目;郭雅娟
【作者单位】南京理工大学 计算机科学与工程学院,江苏 南京210094;南京晓庄学
院 信息工程学院,江苏 南京210017;南京理工大学 计算机科学与工程学院,江苏 南
京210094;国网江苏省电力公司 电力科学研究院,江苏 南京211100
【正文语种】中 文
【中图分类】TP393.08
异常监测技术根据不同的分析对象分为多种,其中基于异常历史的异常监测技术和
基于系统状态监测的异常监测技术应用最为广泛。基于异常历史的异常监测技术主
要采用收集系统异常历史数据的方式,如系统异常日志等,进而采用基于数据挖掘等
机器学习的异常分析方法,揭示历史异常与即将到来的系统异常之间可能潜在的关
联性,对未来可能出现的异常进行预测判断。而基于系统状态监测的技术则主要考
虑系统异常状态下某些参数必然会发生变化,通过监控系统的运行状态和参数的变
化来监测异常,预测下次系统故障的发生。
随着大数据时代的到来,数据收集量呈爆炸式增长,各种传统的日志分析手段和方法
已不能满足现实需求,因此很多面向大数据的日志分析平台应运而生。
单一分析系统日志的方法不仅需要复杂的分布式数据挖掘技术,而且失效预测的召
回率普遍不高。针对这些问题,付晓毓等提出一种将记载集群系统负载变化的作业
日志与系统日志结合起来分析,进而进行失效预测的方法[1]。刘燕利用Map
Reduce计算模型进行分布式计算,并结合分布式文件系统进行分布式存储,利用分
而治之的策略分析企业云计算平台中产生的海量数据,监控云计算集群中服务器的
运行状态,并从海量数据中挖掘有价值的资源[2]。田曲波提出错误预测需要一个基
本的框架,框架包括日志的预处理、基础预测器和联合预测器,其中基于错误特性的
基础预测器有两个——基于同类型错误发生时间间隔的时间预测器和基于错误之
间关联关系的关联预测器以及基于基础预测器的联合预测器[3]。在面向电力系统
的特殊应用背景下,以上方法有可借鉴之处,但依然不能有效满足电力系统的需求。
本系统采用分布式处理机制达到实时监测系统日志的目的,并且利用大数据平台分
布式存储和数据计算分析的能力,实现网络数据分布式存储。系统包括网络数据采
集器、分布式实时数据传输通道、分布式日志处理平台、网络数据协议特征库和大
数据平台,系统技术架构如图1所示。
系统主要功能和处理流程如下:
(1)数据经由分布式实时数据传输通道传送。网络数据采集器负责采集网络设备上
的网络数据包,经过分布式实时数据传输通道,将数据包实时队列化发送给分布式日
志处理平台;
(2)分布式日志处理平台对获得的数据包进行实时处理。分布式日志处理平台对接
收到的网络数据包进行实时数据解析,并通过网络数据协议特征库进行数据特征匹
配,将匹配确认为异常的网络日志数据发送给大数据平台进行存储;
(3)大数据平台对存储的网络日志数据进行聚类分析、分类训练并动态更新所述网
络数据协议特征库。
整个系统的网络拓扑结构如图2所示。
该系统以Cloudera CDH为大数据平台的基础支撑软件,采用分布式流处理Spark
Streaming平台对网络数据包进行数据解析、特征匹配及访问统计。该系统的集
群由5个节点构成,每个节点配置24核CPU、127GB内存和10块磁盘。开发环
境基于Eclipse,程序代码为Java,上层数据的查询与展现采用了Restful API,可以在
浏览器中方便地发出查询数据的指令、实时地获取查询结果并展现在浏览器中。采
用TcpDump采集数据,通过配置交换机把一个或多个端口的数据转发到某一个端
口进而实现网络监听,同时不影响正常程序的运行。采用Apache Kafka对采集的
数据进行实时传输,将数据发送到Spark Streaming分布式流平台实时处理,分析的
结果存储在大数据平台,通过大数据平台的MapReduce、Hive、Mahout等组件,
使用支持向量机和贝叶斯构造的分类器进行分类训练,对网络数据协议特征库更新。
在该平台上进行的日志分析实验表明,日志分析系统在监测正确率和耗费时间等指
标上都可以接受,但在网络流量异常情况下,流量属性的统计特性变化趋势微小化。
为了更好地对系统日志进行分析,实现异常监测,本文提出一种面向大数据日志分析
平台的基于时间序列的集成预测算法(Ensemble prediction algorithm based on
time series,EPABT),该算法可以实现一段时间中的系统异常数量预测。
本文选择数据挖掘中的多种基于时间序列的模型集成算法来建立预测模型,并采用
两种模式进行验证:一种模式是把数据集拆分为训练集合及测试集两个部分,以最后
一个月的数据作为测试集,以剩下的数据作为训练集,通过训练测试实现异常监测的
功能;第二种验证模式是通过基于时间窗口的告警日志实现预测功能,使用两级时间
窗口,将其中的各种告警事件的统计量用于描述网络运行特征,并以此作为故障预测
的决策特征。相应地采用了两套评价体系:一套是传统的时间序列分析方法中常用
的错误代价函数,包括均方差(MSE)、平均绝对误差(MAE)、平均绝对比率误差
(MAPE)等。另一套评价体系则采用了预测的准确率(Precision)、召回率(Recall)和
F-值(F-Measure)作为评价指标。
第一种验证方式较容易理解,根据本文提出的集成学习算法,提出了一个基于基本预
测方法的改进的解决方案,图3显示了这种新型的集成预测系统的架构[4]。
该平台的主要工作流程包括以下3个步骤:
(1)对网络系统的历史数据进行分析、转化以及预处理(Data preprocessing)。筛
选去除无关数据及属性,将有用的原始数据转换为预测模型可用的格式。这一步骤
主要由系统中数据预处理模块完成;
(2)根据数据特性进行模型选择及训练(Model selection and training)。由于网络
系统的动态特性,模型选择及训练会使用最新的数据定期重复执行。当模型训练完
成后,系统会保存所有模型的相关参数并且更新已有模型;
(3)使用训练好的单个模型对未来容量及请求进行预测并通过集成学习方法
(Ensemble learning)降低预测结果的方差(Variance)。集成学习使用所有可用模
型进行预测,根据模型的历史预测记录决定每个模型的预测权重。此外,集成学习还
会使用一些非时间序列分析的方法进行预测校正。
第二种验证方式则要通过建立时间轴,将其划分为一定大小的时间窗口,再统计时间
窗口中的告警信息并根据历史告警信息与故障的关系来完成故障预测。
在异常监测过程中,根据确立的监测目标,将时间窗口中的告警信息作为样本特征,而
将预测结果是否出现故障或具体设备的编号作为类标号。这样,故障预测的过程也
可以等价于数据挖掘中的分类问题。由于分类预测技术已经得到广泛应用并且已有
很多成熟的性能优秀的分类预测算法,所以本文选择了与第一种验证模式相同的集
成分类预测算法来建立故障预测模型。
将时间轴划分为一定大小的时间窗口,故障预测的目标是判断预测时间窗口内是否
有故障事件发生。时间轴划分如图4所示。
如图4所示,本文对时间窗口的定义如下:单位时间窗口的大小为Δ;预测时间窗口是
指预测是否有故障事件发生的单位时间窗口,窗口大小为Δ;当前时间窗口是指预测
时间窗口的前一个单位时间窗口,窗口大小为Δ;观测时间窗口是预测时间窗口之前
的n个单位时间窗口,包括当前时间窗口在内,窗口大小为Δ×n;样本窗口为对单位
时间窗口更小的划分,窗口大小为δ,单位时间窗内样本窗口数量为Δ/δ。
典型的时间序列预测方法有滑动窗口平均数预测、自回归分析、人工神经网络、支
持向量回归机和基因表达式编程[5-7]。
2.1.1 滑动窗口平均数预测
滑动窗口平均数预测是最简单的时间序列预测方式。本质上讲,它是一种通过计算
整个数据集中某一子集的平均数来进行分析的有限脉冲响应滤波器。在使用滑动窗
口平均数预测时,需要设定一个固定长度为n的滑动窗口。设预测时间点为t,那么
时间点t的预测值为
式中:MAt-1表示在时间点t的移动平均值。如果采用增量计算,那么滑动窗口平均
数可以计算
滑动窗口平均数预测的优点是计算简便,但是如果时间序列的变化不稳定,其预测效
果会大打折扣。此外,如何正确选择滑动窗口的长度也是一个难题。如果n选择过
大,则预测值变动会被低估;如果n选择过小,过往历史就没有充分利用。
2.1.2 自回归预测
自回归预测(Auto-regressive,AR)模型是一种统计上的预测时间序列方式[8],本质
上是一种随机过程(Stochastic process)分析方法。自回归分析的一个基本假设是
输出变量线性依赖于其过往历史值。其模型可以表示为
φtv(t-i)
式中:c为一常数,εt为随机误差值,φt为自回归模型的参数。式(3)意即,假设当前值
与历史值存在自相关关系,通过历史值即可预测当前值。由此可知,滑动窗口平均数
预测模型实际上为自回归预测模型的一个特例,即该模型的所 有参数均为1/n。
自回归预测的优点是模型容易理解,计算简单。但是它的缺点也相当明显。首先,时
间序列数据必须存在线性关系或可由线性关系近似。其次,自回归预测只能应用于
受自身历史因素影响较大的时间序列,不能普遍适用于所有类型的时间序列。
基于自回归模型的改进的模型还有自回归移动平均(Auto-regressive moving
average,ARMA)模型。自回归移动平均模型把移动平均模型(MA模型)以及自回归
模型结合为一体。ARMA模型可以表示为ARMA(p,q),其中p为AR模型的相关参
数个数,q为MA模型的相关参数个数。例如ARMA(n,m)可以表示为
式中:φi为AR模型相关参数(共n项),θi为MA模型相关参数(共m项)。
除ARMA模型外,基于自回归预测模型的改进模型还有差分自回归滑动平均(Auto-
regressive integrated moving average,ARIMA)模型、自回归条件异方差
(Auto-regressive conditional heteroskedas-ticity,ARCH)模型等。这些模型在
AR模型的基础上做了改进,在特定场合具有更高的准确性。关于模型的训练,一个
简单的方法为采用梯度下降算法求出参数的最优组合。
2.1.3 人工神经网络
如前所述,如果数据中存在复杂的非线性关系,自回归预测很难正确拟合出数据之间
的关系。为了更加有效地对存在非线性关系的数据进行预测,人工神经网络
(Artificial neural network,ANN)是合适的模型。
人工神经网络是一种模仿生物神经网络的数学模型,是一种能够找出数据输入输出
之间复杂关系的数据挖掘算法。从结构上讲,人工神经网络含一些“人工神经元”,
这些神经元被分为若干层次并且相邻两层的神经元存在关联。一个典型的人工神经
网络一般有3个层次:输入层(Input layer)、隐层(Hiddenlayer)和输出层(Output
layer),其中隐层可以为0到多层。
图5展示了3层人工神经网络的拓扑结构,其中包括一层隐层。
如图5所示,每层的神经元数量分别为4、4和1,其中输入层和隐层各包含一个偏
差神经元(偏差神经元的值固定为为从第k层第j个神经元输出到第k+1层第i个
神经元的值的权重表示第k层第i个神经元的值,如果为输入层,则该值直接由数据
得到,否则该值由上一层神经元计算得到(偏差神经元除外)。设第k+1层计算神经
元为则其值可由式(5)得到
ak+1=g(θ(k)a(k))
式中:θ(k)为第k到第k+1层的神经元权重矩阵为第k层所有神经元的向
量,θ(k)=[θ0]T。例如,图5中隐层的神经元可由式(6)得到
式中:g(z)=表示变量z的Sigmoid函数。这个函数的作用是把值域为整个实数域
的z转换到(-1,1)的开区间。
假设图5所示为一个已训练好的神经网络(所有神经元关联的权重值θij已通过对
训练集的学习得到),那么其输出可以表示为
式中为从输出层获得的隐层输出。
关于神经网络的学习,较常用的方法为梯度下降算法。设j(θ)为具有K个输入神经
元的神经网络的错误函数
式中:θ为权重的矩阵表示表示真实值与预测值的差值。
鉴于人工神经网络在学习整个训练样本集后对权重进行更新,加之神经网络拓扑结
构复杂,当训练集的数据规模偏大时,采用一般的梯度下降算法效率较低,训练时间极
长。为了加快训练速度,一个更加实用的方法是随机梯度下降(Stochastic gradient
descent)法,这种方法可使每一个训练样本通过梯度下降进行权重更新。
2.1.4 支持向量回归机
支持向量机(Support vector machine)是一种精度较高的解决分类问题的监督学
习算法。在一个二类(训练集只具有正类和负类两类)分类问题中,它通过对训练样本
进行分析得到具有良好划分功能的决策超平面。由于该算法总是倾向于寻找具有最
大边距(Margin)的决策超平面,因而对测试样本有良好的普适性(Generalization)。
支持向量回归机(Support vector regressor machine)是支持向量机的一个变种,
它的基本原则是:将训练机数据的特征通过非线性变换Φ(又称核函数)从n维空间
映射到更高维的m维空间Γ,然后再在该空间中做线性回归,基本思想可以表示为
f(x)=ωΦ(x)+b 且Φ:R→Γ ω∈Γ
式中:ω=[ω1,ω2,…,ωm]T为原样本映射后的m(m > n)维空间 中各个特征的权
重,b为一阈值。若去掉该公式中的映射函数Φ,则式(9)为一般的线性回归表达式。
因此,高维空间中的线性回归与低维空间(原样本的n维空间)中的非线性回归的映
射关系如图6所示。
给定一个训练好的支持向量回归机模型,预测值可以在O(m)的时间内被计算出来。
例如给定时间序列的数据v=v(t-m),v(t-n+1),…,v(t)(假设已经正规化到区间[-1,1]),
则第t+1时间点的预测值v(t+1)=ω·Φ(v)+b。
模型训练的目标是在给定核函数时最小化式(9)计算得到的预测错误
‖ω‖2
式中:xi为训练样本,yi为训练集中的实际值,C(·)为代价函数,λ‖ω‖2用于控制模型
的复杂度,惩罚增加模型复杂度的过大的权重值。
对于大多数的代价函数C(·),可以通过Quadratic programming的方法来优化。
关于代价函数,常见的候选为ε-intensitive代价函数和Huber代价函数。
2.1.5 基因表达式编程
基因表达式编程(Gene expression progra-mming)是一种起源于生物学领域的新
型仿生学算法,它继承了传统遗传算法(Genetic algorithm)和遗传编程(Genetic
programming)的优点。基因表达式编程在未知先验经验的函数发现以及时间序列
分析方面具有良好表现。
基因表达式编程之所以能够表达任意复杂的表达式,是由于它以“染色体”对表达
式进行编码。从结构上讲,一个“染色体”是由一个数组表示;而从逻辑上讲,一个
“染色体”表达一个表达式树(Expression tree)。图7显示了一个简单的表达式,
以及对应的数组和表达式树。
对于模型的训练,基因表达式编程通过种群进化的模式来优化模型。一个种群往往
具有40-100个“染色体”,这些“染色体”的表达式具有很强的多样性。种群中
的染色体通过“复制”(Replication)、“变异”(Mutation)、“杂
交”(Recombination)、“反转”(Inversion)等操作,在评估函数(Fitness
function)的引导下进行进化,如图8所示。
鉴于单个预测模型很难准确预测,本文采用集成学习的策略,结合不同预测模型的预
测能力[9-12]提出一种基于时间序列的集成预测算法(Ensemble prediction
algorithm based on time series,EPABT)。集成学习的策略在数据挖掘的分类问
题中已被广泛应用。在分类问题中,数据样本被认为是独立同分布的(Independent
and identically distributed,i.i.d.)即样本被认为是从相同的分布中独立抽取的。然
而对于时间序列分析问题,样本间存在强烈的时间维度的关联。此外,由于时间序列
分析问题的类标(即需要预测的值)是连续值,因此无法使用类似于分类的投票机制来
获取最终结果。对于时间序列分析集成学习,集成学习策略主要通过预测评估标准
来更新每个预测器的权重[13-15]。
在集合预测中,采用5个不同的时间序列预测技术,其算法名称和相关描述如表1所
示。
为了能够集成上述方法的预测结果,本文提出一种加权线性组合策略。假设预测算
法p∈P在时间点t的预测结果为且它在时间点t对应的权重为则在时间点t针对
某个日志的预测值为
且
初始状态,t=0,所有预测算法对预测结果的贡献程度都相同,比如基于集成算法的权
重更新策略与传统分类基本策略不同。在分类的预测场景中,结果只能表示为“正
确”或“不正确”,而集成算法权重更新的目的,恰恰是提升那些分类结果正确的分
类器的权重。在预测的场景中,预测结果是连续值且预测算法的权重直接影响集成
算法的结果。
为了实现集成预测算法权重的更新,利用每个预测值和真实值v(t)之间的差异,预测
算法i在时间点t的相对误差可表示为
式中或表示由预测评估成本函数MAE,LSE,MAPE计算出来的预测算法i或p的预
测成本。
相对误差没有归一化,因此,不能在预测算法的更新权重中使用。由于最终的预测结
果是多个预测算法的线性组合,对权重进行归一化
根据这个权重更新策略,可以保证每个时间点的最优预测算法的权重增加[16-20]。
为了应对电力工控系统异常数量预测的应用场景,本文提出一种非对称错误代价函
数(Asymmetric error cost,AEC)来评估预测错误。AEC是一种非对称的异质错误
代价函数,由于过高预测和过低预测是两种不同的代价构成,分别表示为和其中v(s)
表示在未来时间点s时的异常数量,而表示在未来时间点s时的异常预测数量。因
此,总的代价函数可表示为
式中:β是用于调整两种代价权重的参数,通过β值的变化可人为调整过高预测和过
低预测的代价构成权重。
AEC是一种泛化的错误代价函数,可以满足本文应用场景的需求。AEC的表现方式
根据具体应用而改变,定义的P函数和R函数满足非负性和一致性两个属性:
(1)非负性。对于任意的非负的v(s)和都存在和
(2)一致性。如果则应当保持正负的一致性;同理,如果则也应当保持正负一致性。
在面向电力工控系统的异常数量预测过程中,假设准确预测的代价为Cnormal,过低
预测的代价为Cunder,过高预测的代价为Cover,通常情况下,Cunder是不确定的,
但是可以确定的是Cunder≫Cnormal,则AEC代价函数中的P函数可以描述为
而AEC代价函数中的R函数可表示为
综合式(14)、(15),可以得到AEC代价函数的具体衡量标准
本文使用电力工控网络系统大数据分析平台收集到的告警日志数据集进行实验分析。
经过筛选和预处理后,有效数据量为88 531条,涵盖了系统3个月跨度的数据信息。
告警日志数据主要包括:
(1)级别:表示异常信息的紧急程度,共有提示、次要、重要、紧急4个等级,按紧急
程度从低到高依次表示为L1、L2、L3、L4。在本文研究中,异常预测的目标便是预
测L4级别异常的出现;
(2)名称:描述告警信息的具体类型,主要包括链路断开、开放式最短路径优先(Open
shortest path first,OSPF)接口状态改变、OSPF邻居状态改变、设备离线等;
(3)告警源:表示发出告警信息的具体设备编号,从0开始编号,分别为设备0、设备
1、……、设备80等;
(4)定位信息:描述发生故障的设备或接口的位置信息,如接口索引=1接口名称
=Gigabit Ethernet0/0等;
(5)发生时间:表示记录该告警信息的时间,精确到秒,如02/16/2016 07:35:06。
通过对原始的异常日志进行分析,发现其中存在大量的非法记录、冗余记录、衍生
告警、闪断式告警等噪声数据,在进行预测前,设计了对应的过滤方法将原始告警日
志中的噪声数据进行有效过滤。
在分类预测模型的建立过程中,特征项的选取起着至关重要的作用。对类别区分度
较高的特征项可以有效提高分类的精度及性能;而对类别没有区分度的特征项,不仅
无法提高分类器的分类效果,而且还会提高特征空间的维度,降低分类器的效率。为
了尽可能选出那些对类别区分度较高的特征项,建立性能良好的分类器,本文首先对
预测目标及告警日志的特点进行分析。
当前时间窗口最能代表网络系统当前的运行状态,而且最接近预测时间窗口,因此以
当前时间窗口中各个级别告警事件以及各种类型的告警事件为特征项。提取的特征
项包括:当前时间窗口内提示级别告警事件的数量、次要级别的告警事件的数量、
重要级别告警事件的数量及紧急级别的告警即故障事件的数量,以及当前时间窗口
中各个类型告警事件的数量。
除了以本文提出的非对称错误代价函数为评估标准外,为了验证集成预测算法的效
能和评估标准的准确性,还采用了其他传统的评估标准。第一种预测模式采用常见
的错误代价函数作为预测评估标准。传统的时间序列分析方法使用的错误代价函数
通常为均方差(MSE)、平均绝对误差(MAE)、平均绝对比率误差(MAPE)等。从本
质讲,这些错误代价函数都是对称代价函数,即错误代价函数同等对待方法的过估计
(Over-estimation)及不足估计(Under-estimation)。这些函数的出发点是衡量时
间序列分析方法的几何误差以及在训练时引导方法以几何误差最小的形式趋近真实
值。这些函数从广义上讲普适于大多数时间序列预测问题。各代价函数为
MSE=(observedt-predictedt)2
MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更
好的精确度,其中observedt表示测量值,predictedt表示预测值。
平均绝对误差MAE是绝对误差的平均值,它能更好地反映预测值误差的实际情况
式中:fi表示预测值,yi表示真实值。
MAPE值越大,说明预测值与原始值差别越大,也即预测效果越差,MAPE的绝对值越
小精度越高
第二种测试模式采用的评估标准是:准确率(Precision)、召回率(Recall)和F-值(F-
Measure)
Precision=
Recall=
F-Measure=
式中:TP(True positive)为正确预测的异常数,FP(False positive)为非异常预测的异
常数(误报),FN(False negative)为没有预测到的故障数(漏报)。
由于本实验是基于时间序列预测,因此时间序列的时间粒度选取是影响预测效果的
一大因素。时间序列是将原始数据集中的请求按照一定的时间粒度进行聚类再根据
时间排序所得。时间粒度选取的不同会给时间序列预测带来不同的难度。
图9显示了不同时间粒度聚类得到的时间序列。其中X轴表示时间粒度,Y轴表示
异常量。由图9可知,时间粒度选取越大,每个时间点上的异常量就越大。
对于大的时间粒度,由于基数的巨大,即使是小的预测偏差也可能使预测的绝对误差
巨大,从而造成较大的预测错误。选取过小的时间粒度同样不适于时间序列分析。
过小的时间粒度会使每个时间点上的数据缺乏统计显著性(Statistical significant)。
另外,这样聚类出的时间序列在多项指标上显示出了不规则性。表2给出不同时间
粒度聚类的各个时间序列的变异系数、偏度以及峰度。
变异系数衡量了时间序列的易变性,变异系数值越高,时间序列越容易随时间改变。
偏度衡量了时间序列的不对称性,越大的偏度值表明时间序列越不对称。峰度衡量
了时间序列的方差,越大的峰度表明时间序列值的分布越不规则。由表2可知,当以
小时作为时间粒度时,时间序列的不规则性远远超过以周和天作为时间粒度的时间
序列。综上所述,根据观察和初步分析,案例采用以天为时间粒度的时间序列。
第一种监测模式将数据集拆分为训练数据集和预测数据集。这是由于集成学习中所
使用的预测模型多为基于监督的学习(Supervised learning),因此数据集被拆分为
训练集及测试集两个部分。以最后一个月的数据作为测试集,剩余数据作为训练集。
该对比试验使用多种预测方法来进行比较,其中包括随机预测、滑动平均、自回归
预测、神经网络、基因表达式编程、支持向量回归机,以及集成学习。图10显示了
各预测方法基于多种衡量标准的总预测代价值(在一个月的测试集上总的预测错误)。
从图10可以看出,集成学习的方法总是最优或接近最优这个结论。基于3个月测试
数据的预测结果显示,不同数据集中胜出的预测模型各不相同。但是集成学习方法
总是接近最优模型。这是由于集成学习预测策略总是倾向于通过先验经验增大表现
最好的预测模型的贡献比例,从而使整个集成学习模型的表现趋于最优模型。有理
由相信,集成学习方法总是可以带来更加准确且稳定的预测结果。
图11-13为滑动平均、自回归模型、神经网络、基因表达式编程、支持向量机和
集成学习算法分别使用平均绝对误差、均方差和平均绝对比率误差指标进行评估的
结果。
从图11-13可以看出,集成学习算法始终是最优的方法,或与某项最优方法的效果等
同。总体上看,集成学习算法集成了众家之长,可以作为最准确的方法来使用。
第二种监测验证方法以时间窗口为单位进行故障预测。在实验过程中,单位时间窗
口的划分分别为:1 h、6 h、12 h和 24 h。通过时间窗口的不同划分,可以得到4
个不同的实验数据集作为实验的基础。这样便可以在不同的时间窗口下,研究分析
不同预测模型的预测性能。结果如图14所示。
从图14实验结果可以看出,随着时间窗口增大,整体上各个算法的预测准确率都呈
上升趋势,同时在各个阶段,集成算法的预测准确率也保持了较高的水平。为了进一
步验证本文集成算法和评估体系的效果,采用某一时间段的真实异常数量和各算法
的预测结果进行比较,如图15所示。从图15不难看出,基因表达式编程取得了较好
的效果,其次是神经网络,但总体而言都不能最大程度地实现异常数量的预测,比较而
言,集成算法明显汲取了各算法的优点,如图16所示。
本文针对电力工控网络系统的特点设计了一个基于大数据平台的日志分析系统。在
系统的使用过程中,发现日志预测中存在的弊端和对异常数量预测的需求,进而提出
了一种基于时间序列的集成预测算法。该算法通过对多种分类预测算法进行集成,
对收集到的日志数据进行分类预测,实现了以综合最优的准确度预测系统异常数量
的目的。通过实验验证,集成预测算法取得了更好的预测准确率和效果,总体上看,集
成算法的准确性在各种不同的评价指标中都有优势,与最好效果的算法达到相似的
水平。该集成算法可为电力工控网络系统的安全风险监测提供保障。
【相关文献】
[1] 付晓毓,任睿,詹剑锋,等.一种基于日志结合分析的集群系统失效预测方法[J].高技术通
讯,2016,26(6):519-527.
Fu Xiaoyu,Ren Rui,Zhan Jianfeng,et al.A log co-analysis based failure prediction method
for large-scale cluster systems[J].Chinese High Technology Letters,2016,26(6):519-527.
[2] 刘燕.基于Map/Reduce框架的分布式日志分析系统的研究及应用[D].长春:东北师范大学信息
科学与技术学院,2011.
[3] 田曲波.基于日志分析的超级计算机错误预测方法研究[D].武汉:华中科技大学软件学院,2010.
[4] 李涛.数据挖掘的应用与实践[M].厦门:厦门大学出版社,2013.
[5] Han Jiawei,KamberMicheline,Pei Jian,等.数据挖掘:概念与技术[M].范明,孟小峰 译.北京:机
械工业出版社,2012.
[6] Agrawal R,Srikant algorithms for mining association rules[M]//Readings in
database systems(3rd ed.).San Mateo,US:Morgan Kaufmann Publishers Inc,1998.
[7] Ning P,Cui Y,Reeves D ing intensive intrusion alerts via correlation[J].Lecture
Notes in Computer Science,2003,2516:74-94.
[8] Tan Pangning,Steinbach Michael,Kumar Vipin.数据挖掘导论[M].范明,范宏建,译.北京:人民
邮电出版社,2011.
[9] Jiang Y,Perng C S,Li T,et analytics for capacity planning and instant VM
provisioning[J].IEEE Transactions on Network & Service Management,2013,10(3):312-325.
[10] Oliner A J,Aiken A,Stearley detection in system logs[C]//Eighth IEEE
International Conference on Data ,Italy:IEEE Computer Society,2008:959-964.
[11] Liang Y,Zhang Y,Jette M,et ne/L failure analysis and prediction
models[C]//International Conference on Dependable Systems and
elphia,US:IEEE,2006:425-434.
[12] Liang Y,Zhang Y,Xiong H,et e prediction in IBM blueGene/L event
logs[C]//IEEE International Conference on Data gton DC,US:IEEE,2007:583-
588.
[13] 黄伟,陈昊,郭雅娟,等.基于集成分类的恶意应用检测方法[J].南京理工大学学报,2016,40(1):35-
40.
Huang Wei,Chen Hao,Guo Yajuan,et malware detection approach using
ensemble classification[J].Journal of Nanjing University of Science and
Technology,2016,40(1):35-40.
[14] Yule G a method of investigating periodicities in disturbed series with special
reference to Wolfer’s sunspot numbers[J].Philosophical Transactions of the Royal Society
B Biological Sciences,1927,226(226):267-298.
[15] Taylor H M,Karlin introduction to stochastic modeling(Third Edition)[M].San
Diego,US:Academic Press,1998:6-10.
[16] Percival D B,Walden A t methods for time series
analysis[M].Cambridge,UK:Cambridge University Press,2016.
[17] Box G E P,Jenkins G series analysis:Forecasting and control[J].Journal of the
Operational Research Society,1971,22(2):199-201.
[18] Engle R gressive conditional heterosce-dasticity with estimates of the
variance of United Kingdom inflation[J].Econometrica,1982,50(4):987-1007.
[19] Bottou -scale machine learning with stochastic gradient
descent[J].Proceedings of COMPSTAT,2010:177-186.
[20] Cortes C,Vapnik t-vector networks[J].Machine Learning,1995,20(3):273-297.


发布评论