一种物联网传感器故障节点检测方法设计

2022-04-19 00:46王建文裴祥喜崔炳德王海晖
计算机仿真 2022年3期
关键词:聚类节点联网

王建文,裴祥喜,崔炳德,王海晖

(1.河北水利电力学院 计算机科学与信息工程学院,河北 沧州 061001;2.武汉工程大学 计算机科学与工程学院,湖北 武汉 430205)

1 引言

物联网具有低功耗、低成本、无线通信与测量等优点,被广泛地应用在智能农业、目标跟踪和环境监测等领域中,可以获取和跟踪网络中存在的对象信息和环境信息,用户在任何环境、地点和时间内都可以通过物联网获取相关数据,因此,物联网受到了人们极大的关注[1]。但是在存储能力和计算能力方面物联网存在一些劣势,传感器节点在工作过程中获取的能量来自于电池,节点容易出现能量不足的现象进而出现失效的状况[2]。物联网属于信息感知网络,局部数据的处理和传输结果都会受到传感器节点失效的影响,甚至会造成物联网崩溃失效。在上述背景下亟需对物联网传感器节点进行故障标记。

孙宇嫣[3]等人提出基于深度学习的物联网传感器节点故障标记算法,该算法在涌现原理的基础上根据物联网的逻辑连接和物理连接生成传感器节点故障样本,构建节点故障诊断模型,根据诊断结果实现节点故障标记,该算法没有对物联网传感器节点信息进行零均值归一化处理,导致算法存在计算复杂度高的问题。姜少飞[4]等人提出基于XGBoost特征提取的传感器节点故障标记算法,该算法利用XGBoost算法建立传感器节点故障分裂树,编码处理故障树中存在的叶子节点对应的位置,获得传感器节点的故障信息,实现标记,该算法没有对传感器信息进行分类处理,存在标记范围小的问题。除此之外,还有学者将SM-SVM方法应用至故障标记中,通过提取传感器节点信号的方均根值、偏度系数和峭度指标等特征,并对其进行归一化处理,通过支持向量机实现传感器节点的故障标记,该算法无法消除特征中存在的冗余数据,导致算法的虚警率较高。

为了解决上述算法中存在的问题,提出基于BDPCA聚类的物联网传感器节点故障标记算法。

2 传感器节点信息聚类处理

基于BDPCA聚类的物联网传感器节点故障标记算法利用BDPCA聚类方法对物联网传感器节点的信息进行聚类处理。

设采集的物联网传感器节点信息为M个N维的特征向量x=(x1,x2,…,xN)T,xk=(x1k,x2k,…,xMk)T,k=1,2,…,M,可用线性方程描述特征变量之间存在的关系。

采用BDPCA聚类方法对物联网传感器节点数据信息进行聚类处理的具体过程如下:

1)归一化、零均值化处理原始传感器节点数据特征向量xk=(x1k,x2k,…,xNk)T。采用BDPCA进行聚类处理的基础条件是零均值化,特征量之间存在的差异可以通过归一化处理得以消除[5]。

通过下述公式对物联网传感器节点信息进行零均值归一化处理:

(1)

其中:

(2)

(3)

2)设C代表的是传感器节点信息对应的协方差矩阵,可通过下式计算得到:

(4)

获取C对应的特征方程Cv=λv,其中,v代表的是由特征值构成的特征向量;λ代表的是C对应的特征值。通过求解特征方程,获得n个物联网传感器节点的特征值λi以及n个由特征值构成的特征向量vi。按照从大到小的顺序对物联网传感器节点的特征值进行排序λ1≥λ2≥…≥λn,获得对应的物联网传感器节点信息的特征向量v1,v2,…,vn[6]。

3)基于BDPCA聚类的物联网传感器节点故障标记算法利用主元选取方法获取物联网传感器节点信息的主元[7],并根据选取的主元对特征值和特征向量进行排序。

4)通过下式标准化处理序列中的前k个物联网传感器节点信息的特征向量:

(5)

式中,vbi即为标准化处理后的传感器节点信息特征向量。

3 物联网传感器节点故障标记算法

基于BDPCA聚类的物联网传感器节点故障标记算法,在粗糙集理论的基础上结合逻辑运算和区分矩阵对不同类别的传感器节点信息进行知识约简处理,消除传感器节点信息中存在的冗余属性,初步对传感器节点的故障进行定位,根据结果构建传感器节点的故障决策初表,对物联网传感器节点进行故障分类,在分类结果的基础上构建传感器节点的故障决策复表。并利用贝叶斯决策过程确定物联网传感器节点的故障,生成最终的决策表,实现物联网传感器节点的故障标记。

基于BDPCA聚类的物联网传感器节点故障标记算法利用粗糙集理论对物联网传感器节点信息进行约简的具体过程如下:

设S=(U,A,V,f)代表的是物联网传感器节点的决策表系统,与物联网传感器节点故障诊断决策系统相对应,其中,U={x1,x2,…,xn}代表的是论域,在物联网传感器节点故障标定过程中与被诊断的传感器节点构成的对象集相对应;A=P∪D描述的是传感器节点的属性集合,其中,子集P={a[i]|i=1,2,…,k}代表的是传感器节点的条件属性集,a[i](xj)描述的是在故障征兆属性a[i]中被诊断的传感器节点xj对应的值。子集D={d}代表的是传感器节点的决策属性集。

设定区分矩阵CD,其表达式如下:

(6)

式中,{m[k]|m[k]∈P∧m[k](xj)}。

将布尔函数引入区分矩阵中,构建区分函数△,用布尔变量a描述物联网传感器节点的属性[8]。如果a(x,y)={a1,a2,…,ak}≠∅,则用∑a(x,y)表示布尔函数a1∨a2∨…∨ak;如果a(x,y)=∅,则将布尔常量的值设定为1,通过上述分析构建区分函数:

(7)

用贝叶斯决策过程确定物联网传感器节点故障的过程为:用[x]描述传感器节点对象,并对其进行ri决策,用P(wj|[x])描述[x]的状态为wj时对应的概率,可通过下述全概率公式计算物联网传感器节点[x]在决策ri下的风险条件R(ri|[x])[9]:

(8)

式中,λ(ri|wj)代表的是传感器节点采取决策ri时产生的风险。

用τ(x)描述物联网传感器节点的决策规则,用R描述在规则条件下物联网传感器节点的期望总体风险,R(τ(x)|[x])描述在决策规则τ(x)下物联网传感器节点对应的条件风险率,在此基础上,对物联网传感器节点的总体风险R进行计算:

(9)

为了使物联网传感器节点的总体风险最小,需要最小化每个传感器节点在物联网中的条件风险率R(τ(x)|[x])。

如果存在两种以及以上的决策条件可以最小化物联网传感器节点的条件风险,需要根据实际标定条件选取决策条件[10]。

设u代表的是存在故障的传感器节点,w代表的是传感器节点的故障类型,利用w将传感器节点划分为存在故障的节点w′和不存在故障的节点w′′,并用正域pos(w)描述存在故障需要替换或维修的传感器节点构成的集合,用负域neg(w)描述存在故障但不需要处理的传感器节点构成的集合。

在故障表现[x]下每种传感器节点都存在以下决策可能:

1)r1=[x]→pos(w);

2)r2=[x]→neg(w)。

令A={r1,r2},设λ(ri|w)代表实际存在故障的传感器节点在ri决策条件下对应的风险,λ(ri|w′)代表实际没有故障的传感器被判定为存在故障时,在ri决策条件下对应的风险,P(w|[x])代表在故障现象[x]下传感器节点不存在故障的概率。

可利用全概率公式计算在故障现象[x]下传感器节点采取ri决策时对应的条件风险概率R(ri|[x]):

R(ri|[x])=λ(ri|w)+λ(ri|w′)

(10)

最小风险规则可根据贝叶斯决策过程获得:

1)r1:[x]→pos(w),R(r1|[x])≤R(r2|[x]);

2)r2:[x]→neg(w),R(r2|[x])≤R(r1|[x])。

如果在实际标定过程中无法确定物联网传感器节点的故障类型,此时对物联网传感器节点不标定的风险小于对物联网传感器节点标定的风险。针对正常不存在故障的传感器节点,进行标定的风险较小。

基于上述分析通过下述公式实现物联网传感器节点的标定:

aprα(w)=pos(w)∪P(w|[x])

(11)

式中,aprα(w)代表的是物联网传感器节点存在故障的概率,当概率较大时对其进行标记,实现物联网传感器节点故障标记。

4 实验与分析

为了验证基于BDPCA聚类的物联网传感器节点故障标记算法的整体有效性,需要对基于BDPCA聚类的物联网传感器节点故障标记算法进行测试。

将虚警率作为指标对基于BDPCA聚类的物联网传感器节点故障标记算法(算法1)、基于深度学习的物联网传感器节点故障标记算法(算法2)、基于XGBoost特征提取的传感器节点故障标记算法(算法3)和基于SM-SVM的传感器节点故障标记算法(算法4)进行测试,虚警率越高,表明算法的节点故障标定结果误差越大,不同算法的测试结果如图1所示。

图1 不同算法的虚警率

对图1进行分析可知,采用算法1对物联网传感器节点进行故障标记时,在多次实验中的虚警率均在10%以下,采用算法2对物联网传感器节点进行故障标记时,在多次实验中的虚警率均在30%附近波动,采用算法3对物联网传感器节点进行故障标记时,在多次实验中的虚警率虽然低于算法2,但也高达25%。采用算法4对物联网传感器节点进行故障标记时,获得的虚警率最高,均在40%以上。对比算法1、算法2、算法3和算法4的测试结果可知,算法1的虚警率最低,表明采用该算法可精准地实现物联网传感器节点的故障标记,因为该算法在故障标记之前对物联网传感器节点信息进行了零均值归一化,提高了信息的标准化,利用处理后的信息对节点故障进行标记,降低了算法的虚警率。

将计算复杂度作为指标,对上述算法进行测试,测试结果如表1所示。

表1 不同算法的计算复杂度

根据表1中的数据可知,在多次迭代中采用算法1对物联网传感器节点进行故障标记时的复杂度均在1%左右,远远低于算法2、算法3和算法4对物联网传感器节点进行故障标记时的复杂度。因为算法1对物联网传感器节点进行故障标记之前,消除了传感器信息特征向量之间存在的冗余数据,减少了数据计算量,进而降低了算法对物联网传感器节点进行标定时的计算复杂度。

分别采用算法1、算法2、算法3和算法4对物联网传感器节点进行标记,对比不同算法的标记范围,测试结果如图2所示。

图2 不同算法的标记范围

图2中的渐变区域面积越大表明算法的标记范围越大,根据图2可知,算法1获取的渐变区域面积远远大于算法2、算法3和算法4获取的渐变区域面积,表明算法1的标记范围远远大于其他算法的标记范围。因为算法1采用BDPCA聚类方法对物联网传感器节点信息进行了聚类处理,可以对不同类型的物联网传感器节点进行故障标记,进而提高了算法1的标记范围。

5 结束语

当传感器节点在物联网中出现故障时,通过节点获取的数据存在误差,物联网根据误差数据会作出错误的决策和判断,信息的准确性在高精度应用领域中是极为重要的,因此,需要对物联网传感器节点进行故障标定。目前物联网传感器节点故障标记算法存在虚警率高、计算复杂度高和标记范围小的问题,提出基于BDPCA聚类的物联网传感器节点故障标记算法,对物联网传感器节点信息进行聚类处理,再通过贝叶斯决策实现故障节点的标记,解决了目前方法中存在的问题,为物联网的安全稳定运行奠定了基础。

猜你喜欢
聚类节点联网
脐橙连上物联网 扫码便知“前世今生”
一种傅里叶域海量数据高速谱聚类方法
基于RSSI测距的最大似然估计的节点定位算法
“身联网”等五则
《物联网技术》简介
基于数据降维与聚类的车联网数据分析应用
《物联网技术》简介
分区域的树型多链的无线传感器网络路由算法
一种基于能量和区域密度的LEACH算法的改进
基于模糊聚类和支持向量回归的成绩预测