河网中具有时空关系的异常事件在线检测

时间:2022-08-18 11:02:27

河网中具有时空关系的异常事件在线检测

摘要:当网络异常事件发生时,传感器节点间的时空相关性往往非常明显。而现有方法通常将时间和空间数据性质分开考虑,提出一种分散的基于概率图模型的时空异常事件检测算法。该算法首先利用连通支配集算法(CDS)选择部分传感器节点监测,避免监测所有的传感器节点;然后通过马尔可夫链(MC)预测时间异常事件;最后用贝叶斯网络(BN)推测空间异常事件是否出现,结合时空事件来预测异常事件是否会发生。与简单阈值算法和基于贝叶斯网络算法对比,实验结果表明该算法有高检测精度、低延迟率, 能大幅降低通信开销,提高响应速度。

关键词:异常事件检测;马尔可夫链;贝叶斯网络;时空事件;连通支配集

中图分类号: TP393

文献标志码:A

0引言

随着传感器技术的快速发展和无线通信技术的日益成熟,无线传感器网络被广泛应用到生态科学观察、环境监测、灾难预警以及国防军事等领域[1]。 通常来说,为了能够尽快针对网络异常作出相应的补救措施,需要实时检测对系统应用造成影响的一切突发事件,包括物理现象、污染物监测等,然后作出预警提示。传感器部署在河网中实时监测水中不同的物质,例如氯的浓度,水中游离氯的含量过高是水质污染最重要的原因[2],所以选择监测游离氯浓度来判断异常事件的发生。传感器能产生大量的数据流,需要实时分析传感器的监测值来检测异常事件,特别是那些能造成河网水环境污染的异常事件。本文主要研究河网中水环境污染的异常事件检测,如果河网中发生污染异常事件,异常事件会大范围传播,从而造成更严重的破坏。很多之前的工作已经作过相关研究,这些方法能充分利用时间和空间之间的关系,动态记录事件的传播路径,能达到高精确度和低误报率。考虑到模拟数据的不确定性和简化真实世界的复杂性是概率图模型(Probabilistic Graphical Model, PGM)[3]的主要优点,本文选择概率图模型来模拟时间和空间数据,提出一种分散的基于概率图模型的时空异常事件检测算法,分别检测时间和空间事件。

一阶马尔可夫链[4]是离散时间点上的一个有限或者可数的事件序列(E1, E2, …)集合。在任何时间,过程未来的行为仅仅取决于当前的状态,马尔可夫链覆盖了无线传感网,所有传感器节点单独经过马尔可夫链预测未来的状态,因此可以用马尔可夫链模拟时间。同时,贝叶斯网络(Bayesian Network, BN)是一个有向无环图,节点表示随机变量,边表示随机变量间的有向依赖,它能吸收不同来源的知识并编码数据不确定的关系,所以贝叶斯网络是模拟空间关系的一个不错的选择。

除了模拟节点间的时空关系检测异常事件,该算法动态追踪事件的传播路径,用连通支配集(Connected Dominating Set, CDS)算法[5]选择重要的节点作为骨干节点在线监测。网络图中的CDS可以作为虚拟骨干的有效结构,而较小的CDS意味着用更少的骨干节点参与消息转发,有利于降低能耗,用骨干节点代替监测所有节点,因此改善响应速度。

1相关研究

最近几年,对异常事件检测的研究在无线传感网络领域已经得到很多关注。传统的无线传感网络异常事件检测方法可以大致分为3类:基于阈值的检测方法、基于模式的检测方法和基于学习的推理检测方法。

基于阈值的方法是最基本的事件检测方法,当传感值超过阈值或者落在一定的阈值范围,便认为发生了异常事件。文献[6]采用两个阈值,其中较高的阈值能降低误报率,较低的阈值保证检测精度。两个阈值将节点集合分为三个子集R1、R2、S,其中R1为大于较高阈值的节点集合,R2为大于较低阈值小于较高阈值的节点集合,S为除了R1和R2外的剩余节点集合。节点划分到Rl,则有事件发生,节点划分完后,如果其邻居节点属于Rl,则本地节点受其影响,也属于Rl。

基于模式的方法是研究者利用模式匹配的技术来解决无线传感网中异常事件检测的问题。模式匹配技术中专家定义特定的模式然后看是否与传感器读数相符合来检测异常事件。文献[7]整合了基于模式的方法与传感网内查询处理框架。不同于简单阈值方法,基于模式的方法将事件抽象成传感数据的模式,将异常事件检测问题转化成模式匹配问题。

基于推理方法也有很多研究成果,这类方法通过对传感数据时间或空间相关性建模,对事件发生的可能性作出推理。由于传感数据时间或空间上是相关的,利用这些相关性,可以消除传感数据固有的不确定性,从而降低事件检测的错误率,所以,推理的事件检测方法十分有前途。在这一类方法中,概率图模型的方法,如马尔可夫随机场(Markov Random Field, MRF) [8]和贝叶斯网络(BN) [9]应用得最多。由于传感器节点通常高密度部署,附近的传感器通常有相似的读数, MRF用来模拟邻居传感器节点的空间关系预测异常事件发生。文献中用MRF模拟空间背景和可观测量的随机交互,该方法严格依赖于观测值的独立假设确保计算真实性。BN用来检测地下煤矿的异常事件,在文献中作者使用贝叶斯网络作为一种无监督的学习工具,用它来作为地下煤矿气体的检测工具。由于贝叶斯网络模型可以学习周期性基线气体的浓度,从而减少了由于平线阈值而引起的误报。

上述方法都单独局限于时间或空间域的推理和学习,而时间和空间联合推理和学习提及很少。而现实世界里,传感器都是按一定空间关系布局,传感数据则是按一定时间周期采集的,因此,传感数据已表现出强烈的时空相关性,这样的时空关系对事件检测的准确性至关重要。因此本文提出一种有效的异常事件检测方法,该方法不仅检测时间异常,而且检测空间异常,追踪异常事件的传播路径,与之前的工作有很大的不同。

2无线传感网中的时空相关性模型

本文提出一种分散处理的方法来检测无线传感网中的时空异常事件,这种方法充分利用概率图模型在动态模拟中的优点。概率图模型融合了概率论和图论的内容,为了解决模拟真实世界的不确定和复杂性的问题。用概率论为数据提供了概率性的表示,也为利用推断模型提供一种方式,通过结合专家知识和历史数据确定基本的概率。用基于图的表示来编码复杂的高维空间分布,图的节点是随机变量,图的边表示节点之间通信的交互概率。因此本文提出一种基于PGM的分散的时空异常检测算法,利用基于学习方法的马尔可夫链发现时间事件,用贝叶斯网络推测空间事件的出现概率。

一阶马尔可夫链是离散时间点上的一个有限或者可数的事件序列(E1,E2,…)的集合,在任何时间,过程未来的行为仅仅取决于当前的状态。可以用马尔可夫链模拟时间,所有的传感器节点单独的经过马尔可夫链,预测下一时刻的状态。同时,贝叶斯网络是一个有向无环图,节点表示随机变量,边表示随机变量间的有向依赖。它能吸收不同来源的知识并编码数据不确定的关系,所以贝叶斯网络是模拟空间关系的一个不错的选择。

2.1时间相关性模型

一阶马尔可夫链是离散时间点上的一个有限或者可数的事件序列(E1,E2,…)的集合,在任何时间,过程未来的行为仅仅取决于当前的状态,与之前的状态无关。

定义1马尔可夫链[4]是具有m个顶点(状态)S和有向边A组成的有向图。

1)S={N1,N2,…,Nm}

2)A={Lij|i∈1,2,…,m, j∈1,2,…,m}每一条边Lij=〈Ni,Nj〉标上转换概率Pij=P(St+1=Nj|St=Ni)=P(Nj|Ni)。

在这个过程,马尔可夫链模拟时间过程,覆盖了无线网的通信图,所有传感器节点单独经过马尔可夫链,利用状态之间转移概率预测事件发生的状态及其发展变化趋势。

2.2空间相关性模型

用贝叶斯网络(BN)来模拟传感器网的空间相关性[10]。

定义2BN的结构图G是一个有向无环图,其节点表示随机变量Si,连接两个节点的有向边表示随机变量间是有因果关系的。

河网结构如图1 所示,图2表示河网传感器网络分布图,图中节点Si为部署在河道中的传感器,假设河网的拓扑结构可以用连通图G=〈V,E〉表示,定义节点边数作为节点的度。V表示部署在河网的传感器节点的集合,E表示连接传感器的边,连接传感器节点的单跳通信链路代表有向图的边(Si,Sj)∈E。传感器节点部署在河道中来监测水质,每个传感器有一个唯一的编号,从1到S。传感器能感知各种各样的属性,例如残余氯的含量、氢离子浓度指数(PH)、温度等。研究表示,水中游离氯的含量过高是水质污染最重要的原因。所以选择检测游离氯的含量来判断异常事件是否发生,定义传感器i在时间戳t的观测值为Sti。

河网传感器的空间分布用贝叶斯网络表示,把每个传感器看作贝叶斯网络的一个节点,河流的流向看作贝叶斯网络边的方向,可以把传感器网络看成是一个有向无环的贝叶斯网络。贝叶斯网络学习参数的训练数据由S元组(statet1,statet2,…,statets)组成,stateti代表Sti的状态。可以从历史数据集中产生从时间戳1到τ时间序列的很多训练数据(St1,St2,…,Sts),然后用极大似然估计算法来学习得到贝叶斯网络的参数。

3时空异常事件检测

本文提出的分散的时空异常检测算法,首先利用连通支配集算法选出骨干节点,只检测在每个时间戳传感网中骨干节点的状态,而不是检测所有传感器节点,所以缩小了检测的范围。然后,检测骨干节点是否发生时空异常事件,用基于学习方法的马尔可夫链来分析骨干节点是否有时间异常发生:如果没有异常发生,继续检测下一个时间戳的数据;如果骨干节点发生了时间异常,将骨干节点的孩子节点加入到检测的候选集里。将发生时间异常的骨干节点通过贝叶斯网络学习获得的预期状态与观测状态作比较,看是否偏离了学习获得的空间关系,如果发生空间异常,时空异常计数器加1。在下一个时间戳,扩大检测范围,包括骨干节点和候选集中的节点,继续检测是否发生空间异常或时间异常。最后当骨干节点及它的候选集节点时空异常的数目达到阈值θ时,便认为发生时空异常事件。

3.1选择骨干节点

选择合理的骨干节点有多种比较常见的策略,本文构建连通支配集选择骨干节点。目前,在无线网络研究中提出了许多构建连通支配集CDS的算法,本文利用Dai等[11]提出的Rule K算法,选择合适的通信半径构建CDS,满足网络连通性覆盖的要求。

利用Rule K算法构建连通支配集CDS,Rule K算法包括两部分:标记过程(Marking Process)和剪枝规则(Pruning Rule)。

1)标记过程。标记过程的基本思想是初始化时,所有节点都是非支配节点;然后每个节点u与在其通信半径内Ru的邻居交换各自邻居的信息,此时节点u根据2跳邻居信息,判断是否存在2个不能直接相互通信的邻居节点v和w,即是否存在d(u,v)≤Ru和d(u,w)≤Ru,但d(w,v)>min{Rw,Rv}的情况:若存在,则节点u作为候选支配节点参与构建CDS; 否则表明节点u可以被其他节点控制,不作为CDS节点。

2)剪枝规则。在标记过程中,只要两个邻居节点之间不能直接相互通信,节点u就作为候选支配节点。然而在实际网络中,节点部署密度比较大,有可能存在其他支配节点也可以使两个邻居节点之间进行通信。所以,通过标记过程得到的候选支配节点数量过多,候选支配节点需要根据剪枝规则,减少支配节点集的数量。

剪枝规则的基本思想是如果候选支配节点u的K个邻居节点可以通过其他支配节点进行通信,那么从CDS中删除节点u得到的节点集仍是CDS,因此从候选支配节点集中删除节点u,节点u成为非CDS节点。

选择连通支配集中的节点作为骨干节点,这种策略能保证未被选择的节点能从它的邻居节点中发现至少一个骨干节点,所以当异常事件发生在未被选择的非骨干节点附近时,能尽快地传播到骨干节点,迅速检测到异常的发生,减少损失。构建连通支配集选择骨干节点的伪代码如下所示。

Rule K 算法伪代码。

程序前

Input:sensing range Ru, sensor nodes set V,(u,v,w) ∈V,Neighbors(u)(N(u))

Output: bone nodes set

Ⅰ marking process

1

S=

2)

for u∈V do

3)

N(u)=; marker(u)=false;

4)

BroadcastMsg(id(u),Ru);

//node u broadcast a msg with range Ru

5)

construct 2hop neighbor list for node u;

6)

end

7)

for u∈V do

8)

if (w∈N(u)∧v∈N(u)∧wN(v)) then

9)

marker(u)=true; S=S∪{u};

10)

end

Ⅱ pruning process

11

for u∈V and marker(u)=true

12)

BroadcastMsg(id(u), marker(u),Ru);

13)

if (w∈N(u)∧(marker(w)=true)∧energy(u)

energy(w)) then

14)

Vu′=Vu′∪{w}

15)

if ((N(u)-Vu′)N(Vu′)) then

16)

marker(u)=false; S=S-{u};

17)

end;

18)

return bone nodes set S;

程序后

3.2时间异常事件检测

基本上来说,马尔可夫链的结构图由状态和通过训练数据学习得到的状态转移概率定义。 本文中,状态的转换概率(如P(LH))通过学习过程估算,通过计算训练数据的每个转移状态在所有转移状态中会出现的次数。另外,马尔可夫链中的状态通过统计过程决定。假设统计数据是正态分布的,证明传感器的检测值是正态分布的。

如图3所示,传感网中的马尔可夫过程是一个3状态马尔可夫链,马尔可夫链由具有3个状态S={Low,Medium,High}和有向边Lij=〈Ni,Nj〉的有向图组成。每一条边Lij标上转换概率Pij=P(Nj|Ni)。传感器监测的游离氯浓度被量化成3种状态:Low(低浓度)、Medium(浓度适中)和High(高浓度)。图3 表示3种状态之间的转换过程,图4表示某一时刻N1传感网的节点状态,图5表示在一段时间间隔N1~N5,游离氯浓度的状态转换。每个传感器流单独经过马尔可夫过程,首先定义当前的状态,然后预测下一步的状态。

传感器偏离正常时间行为可以看作是噪声(由于传感器发生故障)或者作为一个时间异常事件。由于偏离频繁地出现,所以否定了噪声这一可能性,因此,连续出现的偏离可以看作时间异常事件。当经过马尔可夫链时,如果预测的骨干节点传感器状态有一段时间序列τ与实测的传感器状态不一致时,认为发生了时间异常。

3.3空间异常事件检测

贝叶斯网络训练数据由S元组(statet1,statet2,…,statets)组成。stateti代表Sti的状态。可以从历史数据集中产生很多训练数据,然后可以用极大似然估计算法来学习得到贝叶斯网络的参数。

利用贝叶斯网络来模拟传感器之间的空间相关性,下面给出一个例子,看如何利用贝叶斯网络模拟空间关系,河网传感器的网络拓扑如图6 所示。箭头的方向标签表示水的流向,上游节点和下游节点之间存在因果关系,所以用贝叶斯网络模拟河网的拓扑结构。以图6中1,2号传感器S1、S2为例,游离氯浓度有低、中、高三种状态,分别为状态1、状态2、状态3。数据的范围是[0,1]。根据状态的定义,在区间[0,0.3)的状态标签值为状态1,而[0.3,0.7] 的状态标签值为状态2,(0.7,1] 的状态标签值为状态3。训练阶段从历史数据集中产生大量训练数据,然后可以用极大似然估计算法来学习得到贝叶斯网络的参数。训练阶段过后,对每个传感器,能得到如表1和表2所示的条件概率表。表1表示1号传感器为状态1、状态2、状态3对应的概率分别是0.6、0.3和0.1,表2表示2号传感器的条件概率表,P(S2=state1|S1=state1)=0.7,此概率表达式表示当传感器S1为状态1,传感器S2也为状态1的概率。在推理阶段,如果传感器S1在某些时间戳的状态值是0.24,也就是在状态1,那么传感器S2的值更可能是状态1,如果传感器S1的状态值是0.8,也就是在状态3,根据S2条件概率表P(S2=state2|S1=state3)=0.5,传感器S2的值更可能是状态2而不是状态1或状态3。如果S2的观测值不属于那个状态,则认为真实值偏离了学习获得的空间关系,有空间异常发生。

3.4时空异常事件检测

检测异常事件并发现河网中游离氯的扩散过程是一个充满挑战的问题,本文方法只检测在每个时间戳传感网中骨干节点的状态,而不是检测所有传感器节点,所以缩小了检测的范围。在这个过程,首先看河网中骨干节点是否有时间异常事件发生,然后再看构建的贝叶斯网络中骨干节点是否有空间异常事件发生,最后判定有时空异常事件发生,时间和空间相关性模型将互相协调来检测时空异常事件。

如何定义发生了时空异常事件?如果对应的传感器状态X^(s,t)既偏离了学习获得的空间关系,也偏离了时间关系,便认为发生了时空异常事件。具体的时空异常事件检测算法描述与伪代码如下。

步骤1首先检测河网中构建的连通支配集中骨干节点在某个时间戳的数据,看骨干节点是否有时间异常事件发生。当经过马尔可夫链时,如果预测的骨干节点传感器状态X^(s,t+τ)有一段时间序列τ与实测状态X(s,t+τ) 不一致时,认为发生了时间异常。

步骤2如果骨干节点发生了时间异常,将发生时间异常的骨干节点的孩子节点作为候选集。如果没有发生时间异常,继续检测骨干节点下一个时间戳状态。

步骤3将发生时间异常的骨干节点及其候选集的节点通过贝叶斯网络学习获得的预期状态与观测状态作比较,看是否Sti偏离了学习获得的空间关系。

步骤4如果骨干节点SE与SI(SE为传感器节点预测值,SI为观测值)不同,发生空间异常,由于时间异常,时空异常计数器的值加1。

步骤5如果候选集中的节点被检测出有空间异常,那么该候选节点的孩子节点也加入到候选集。同时检测发生空间异常的候选集中节点是否有时间异常,如果有,时空异常计数器加1,同理,继续检测候选集中节点是否有空间异常,如果有,检测时间异常,发生时间异常,时空异常计数器加1。

步骤6当骨干节点及它的候选集时空异常的数目达到阈值θ时,便认为发生时空异常事件。

在这个算法中定义IDLE和TMPE这两个系统状态,特定的事件下能互相转换响应。最初,检测从骨干节点开始,节点状态由IDLE系统开始,对t∈T,节点经过马尔可夫链,预测下一步的状态,P(L|X)、P(M|X)、P(H|X)初始状态转移概率从训练数据估计,记录在一个3×3的矩阵M里。M矩阵是这个算法的输入数据。当算法执行,矩阵更新,每一步的数据存放在更新矩阵UM。每一步,传感器将UM中数据的状态与预测状态对比,决定是否有偏离发生。当骨干节点传感器记录的偏离的数量超过一个时间序列长度τ,认为发生时间异常事件,广播这条信息给它的孩子节点,然后将系统状态变为TMPE。

在TMPE系统状态的传感器,将发生时间异常的骨干节点及其候选集的节点通过学习获得的预期状态与观测状态作比较,看是否Sti偏离了学习获得的空间关系。如果发生了空间异常,时空异常计数器加1。当骨干节点及它的候选集时空异常的数目达到阈值θ时,证明游离氯的浓度超标,声明发生时空异常事件。

时空异常检测算法的伪代码如下:

程序前

State Trans. Sys.:({IDLE, TMPE},{(IDLE, TMPE), (TMPE, IDLE)})

Local data: Transition probability of states;

transition probability matrix M(i, j);

counter of temporalexception Tp, initialized to Tp=0;

classify sensed values: s X={l, m, h};

updated transition probability matrix UM(i, j);

set of states X={l, m, h} corresponds respectively to low,

medium, and high;

P(x=X) probability of being in low, medium, or high states given

sensed values in Markov chain;

length of temporal exception sequence τ

static variables: seedSet, candidateSet, Threshold θ, counter

SI=computeState(sti)

SE is the result of BN inference based on other observations

Initialization: All nodes in state IDLE

IDLE

1

When time step elapsed

2)

State Clasify(s)

3)

set UM:=M×UM

4)

let a:=1

5)

if X=m then

6)

let a:=2

7)

if X=h then

8)

let a:=3

9)

let Pr(l|X):=UM(a,1)

10)

let Pr(m|X):=UM(a,2)

11)

let Pr(h|X):=UM(a,3)

12)

if Xt+1≠Max(Pr(xt)) then

13)

set TP=Tp+1

14)

if TP≥τ then

15)

broadcast(msge,"temporalevent", id)

16)

TMPE IDLE

17)

Receiving (msge,"temporalevent", id)

18)

send (msge,"Data", s) to id

TMPE

19

Receiving (msge,"temporalevent", s)

20)

send (msge,"Data", s) to id

21)

Receiving (msge,"Data", s)

22)

if SI !=SE && TP≠0

23)

counter++and add children of seed to candidate Set

24)

for nodes in candidateSet

25)

if SI!=SE && TP≠0

26)

counter++and add children of nodes to candidate Set

27)

end if

28)

if counter larger than a threshold

29)

Shout “Spatiotemporal event!”

30)

IDLE TMPE

程序后

4实验和分析

4.1实验环境

通过模拟实验来评估提出的分散的异常事件检测算法。用EPANET 2.0[12]来模拟图1 和图2 的河网拓扑结构。用Matlab和EPANET工具包,编写一个污染物模拟器来监测模拟传感网中的异常事件。定义了游离氯的初始浓度参数、位置、开始时间、污染过程的时长后,EPANET能实时模拟游离氯的传播过程。本文在污染物模拟器仿真平台上实现了提出的分散的时空检测算法并与简单阈值算法[6]、基于贝叶斯网络异常事件检测算法[9]进行对比。

主要通过以下两个指标对异常事件检测算法的性能进行评估:

1) 分析算法的检测准确度,检测效果评价指标包括准确率、召回率和F1分值,分别定义如下:

准确率=A/C

召回率=A/B

F1=2×准确率×召回率准确率+召回率

其中:检测某个事件的传感节点数为C,A在集合C中为实际感知该事件的传感器节点数,B为感知该事件的所有传感节点数。可见,召回率用于评价系统感知事件的所有能力又称查全率,而准确率则用于评价系统感知事件准确的能力,两者相辅相成,从两个不同侧面较为全面地反映了系统性能。F1值是一个把准确率和召回率结合起来的指标。

2) 分析算法的有效性,主要从算法的平均延迟时间来验证。算法的平均延迟时间是检测到异常事件发生需要的平均时间延迟,算法的平均延迟时间越短表示算法的效率越高。

4.2实验结果与分析

1)算法准确度分析。

提出的分散的时空异常事件检测算法与简单阈值算法和基于贝叶斯网络的方法在相同的实验条件下进行算法的性能比较。简单阈值算法是应用最广泛的异常事件处理技术,算法简单,计算复杂度低。基于贝叶斯网络的方法,只考虑传感器节点间的空间关系而未考虑节点间时间关系。

图7对比了提出的分散的时空异常事件检测算法与简单阈值算法和基于贝叶斯网络方法的检测准确率、召回率和F1分值。取区域内传感器节点数分别为100、200、300、400、500。由图7(a)可以看出本文算法的精确度与传感网中节点密度无关,一直高于其他两种算法。分散的时空异常检测算法具有高检测精确度是因为能结合节点的时间和空间特性综合考虑,空间上考虑邻居节点的状态,时间上考虑一段时间间隔内的传感器读数,综合考虑判断异常事件是否发生,减小误报率。相反,简单阈值技术仅仅根据阈值来判断异常事件是否发生而未考虑邻居节点的情况。而基于贝叶斯方法仅仅考虑传感器节点间的空间关系,而忽略了每个节点传感器监测数据间的时间关系。由图7(b)表示当传感网密度低时,本文算法的召回率低于简单阈值算法,这是由于简单阈值算法监测异常事件仅仅基于当前的检测值,可能把时间异常偏差或者噪声数据检测为一个事件,而这些都是无意义的事件,所以网络中节点数目少时,简单阈值算法的召回率更高一些。为了更全面地研究算法的性能,F1分值综合考虑了准确率和召回率如图7(c)所示,综合来看,本文算法比其他两个算法更有优势。本文算法准确率、召回率和F1分值等指数均高于一般的异常事件检测算法,结果表明,本文算法可用于实时性较强的无线传感网的时空异常事件的检测。

2)算法有效性分析。

相同的监测区域选取不同数量的节点,如100、400和900,在相同的实验环境中执行本文算法、简单阈值算法和基于贝叶斯网络方法。如图8所示,相同的传感网密度环境下,本文算法的平均延迟时间比简单阈值算法和贝叶斯网络算法少,随着传感器节点数的增加,3种算法的平均时间延迟都显著增加,但是本文算法的平均延迟时间的增长速度比其他两种算法慢,其中贝叶斯网络算法平均时延的增长速度最快,因为该算法要考虑空间邻居节点的读数,消息传递数量大。实验结果表明:随着传感器节点数目增加和传感网节点数目增加,通信开销增大,但是由于本文算法用连通支配集算法选择骨干节点,能降低通信开销,所以检测平均延迟时间短。而基于贝叶斯网络方法和简单阈值算法,需要检测所有节点,通信开销大,平均延迟时间长,所以本文算法效率更高。

从上述2个指标的实验结果可以看出,本文算法在相同网络环境下检测精度和检测效率比简单阈值算法和基于贝叶斯网络的方法都要高,对于有时空特性的异常事件在检测效率精度和效率都比较有优势,所以本文算法可用于实时性较强的河网时空异常事件的检测。

5结语

本文在论述时空事件模型的基础上,提出了一种分散的时空异常事件的检测方法。该算法利用马尔可夫链模拟时间关系预测传感器下个时间戳的状态,利用贝叶斯网络模拟空间关系,进行空间预测。实验证实本文算法比简单阈值算法和基于贝叶斯网络算法表现更好,检测精度高、延迟率低并且通过连通支配集选择骨干节点,降低了通信开销,提高了响应速度。然而在对阈值的设定,贝叶斯网络和马尔可夫链参数的设定上还需要继续优化,另外,本文监测变量只有游离氯浓度这一个指标,而影响水质有7个基本因素[13],未来工作可以多设置几个监测变量,能提高检测的精确度。

参考文献:

[1]TANG H, XIE J, LU Y, et al. Wireless sensor network theory and application[M].Beijing: Posts & Telecom Press, 2010: 2-3, 143-146.(唐宏,谢静,鲁玉芳,等.无线传感器网络原理及应用[M].北京:人民邮电出版社,2010:2-3,143-146.)

[2]ELIADES D G, LAMBROU T P, PANAYIOTOU C G, et al. Contamination event detection in water distribution systems using a modelbased approach[J]. Procedia Engineering, 2014, 89: 1089-1096.

[3]KOLLER D, FRIEDMAN N. Probabilistic graphical models: principles and techniques[M]. Cambridge: MIT Press, 2009:72-75.

上一篇:以“梦”之名 奔跑在航天“高速”路上 下一篇:基于HBase的地理分布副本管理机制