基于Copula理论的无线传感器网络错误数据检测
摘要
无线传感器网络(WSNs)是监测和记录物理现象的有力工具。然而,传感器节点采集的感知数据质量常常受到噪声、错误、事件以及恶意攻击的影响。此外,这些数据在网络中的处理和传输可能会消耗无线传感器网络的可用资源,并迅速缩短网络寿命。因此,迫切需要检测错误数据,以确保数据的可靠性并保持无线传感器网络资源的高效利用。本文提出了一种基于Copula理论的无线传感器网络错误数据检测新方法。在真实传感器网络收集的真实数据集上的实验结果表明,有相当比例的数据属于错误数据。
关键词
无线传感器网络;藤;错误数据;异常值
1. 引言
无线传感器网络(WSN)由大量传感器节点组成,这些节点协同工作为了监测物理或环境条件,例如温度、湿度、光、声音、振动、压力、运动、污染物等。此特性为传感器网络提供了广泛的应用,包括军事、安全和健康等应用。
此外,传感器测量通常存在噪声且不可靠,容易出现不准确和不完整的问题,从而导致无法做出正确的决策。然而,研究表明,在实际监控应用中收集的数据有很大一部分实际上是错误的。例如,在英特尔伯克利研究实验室收集的数据中有19%是错误的;在[6]收集的数据中有51%是错误的,等等。
此外,大多数提出的传感器故障方法通过将历史传感器数据建模为标准,来检测错误数据,并根据该标准对每个未来数据实例进行评估,判断其为正常读数或错误数据[6]。
因此,必须确保网络中交换数据的质量,以做出正确决策并保持无线传感器网络资源的高水平。为实现这一目标,无线传感器网络需要一个鲁棒故障检测方案。
本文中,我们通过提出一种基于Copula理论的错误数据检测新方法来应对这些挑战。所提出的方法使我们能够建立一个模型,该模型将来将用作错误数据检测的标准。我们利用传感器数据的历史测量,并通过对这些数据应用藤理论,得到两类数据:正确数据和错误数据。正确数据将作为标准,用于评估未来每个新到达的数据实例,而错误数据将被剔除。
本文的其余部分组织如下。在下一节中,我们概述了相关工作。第3节描述了Copula理论的基本概念。第4节展示了所提出的方法来检测错误数据。第5节给出了仿真结果和性能评估。最后,第6节对全文进行了总结。
2. 相关工作
实际上,无线传感器网络中的错误数据检测技术是一个非常重要的研究领域。此外,已有若干模型被提出并用于以分布式或集中式方式检测传感器读数中的错误数据。
在[16]中提出了一种核密度估计器模型,用于在滑动时间窗口内近似传感器数据分布 W,通过计算每个值周围数据空间的密度来检测错误数据。然而,该方法依赖于单一阈值,不适用于多变量数据。
在[13]中,传感器数据测量中,通过超椭球体的几何形状对数据的正常行为进行建模。然后,该模型用于以分布式和集中式方式检测椭圆型故障数据。据报道,分布式方法更适合无线传感器网络,因为它相比集中式方法显著降低了通信开销。
在[17]中提出了一种广义模型,通过原始数据变换来区分错误数据与真实测量,其中定义了传感器测量的椭球边界。因此,根据测量值是否落在椭球边界内部或外部来估计真实测量和错误数据。然而,由于原始数据变换导致较高的计算复杂度,该方法不适合无线传感器网络。
在[9]中,基于从各个传感器节点收集的历史数据生成预测模型,通过根据历史值预测传感器值,并将其与特定实例的实际感知值进行比较来检测错误数据。将两者差值与动态阈值进行比较,以确定传感器值是否错误。
3. Copula理论介绍
在无线传感器网络中,检测具有单变量属性的错误数据可以很容易地通过观察单个数据属性相对于其他数据实例属性是否异常来实现。然而,在多变量无线传感器网络中,检测错误实例较为困难,因为各个属性单独来看可能并未表现出异常行为,但当它们组合在一起时却可能表现出异常行为。因此,利用传感器读数中不同属性之间的依赖关系,有助于克服这些困难,并提出高精度的检测方法。这正是我们决定采用 Copula理论方法的原因,因为它能够捕捉多变量数据中的依赖关系。
3.1 藤理论的数学基础
本文中,为了简便起见,我们仅应用二元Copula理论,因为多变量理论只是二元情形的扩展。为此,我们回顾一些后续有用的藤基本定义和定理。
3.1.1 藤定义
藤的概念由斯卡拉在1959年[15],以及1950年[10]中提出,其动机源于Frechet在s年代的工作。
形式上,一个二元Copula[23]是一个联合分布函数,其边缘分布在[0, 1]上是均匀的。
一个藤 C:[0, 1]² →[0, 1]是满足以下三个条件的函数:
- C(u, 0) = C(0, v) = 0 for each u, v ∈[0, 1],
- C(u, 1) = u and C(1, v) = v for each u, v ∈[0, 1],
-
C is a 2−increasing function, i.e., for each 0 ≤ ui ≤ vi ≤ 1,
C(v₁, v₂) − C(v₁, u₂) − C(u₁, v₂) + C(u₁, u₂) ≥ 0.
3.1.2 斯克莱尔定理(二元情形)
设 H(x, y)为具有边缘累积分布函数 F和 G的联合累积分布函数(CDF)。存在一个藤C,使得对所有实数(x, y),均有 F(x) = U和 G(x) = V,其中 U=(u₁,…, uₙ)和 V=(v₁,…, vₙ)是定义在区间I = [0, 1]上的两个均匀分布变量。函数 H(x, y)可表示为单个函数 C(u, v)的形式如下:
$$
H(x, y) = C(F(x), G(y)) \tag{1}
$$
如果 F和 G是连续的,则藤 C是唯一的;否则,C在(F的范围)×(G的范围)上唯一确定。反之,如果 C是一个藤,F和 G是累积分布函数,则 H(x, y) = C(F(x), G(y))是一个以 F和 G为边缘分布的联合累积分布函数。
示意图:如果我们有每个变量的边缘分布,只需使用具有所需依赖性属性的藤函数将它们连接起来,即可得到联合分布。图1展示了如何获得所有变量的联合分布函数。
3.2 经验copula
为了对随机变量之间观测到的相依性进行建模,我们可以使用经验连接函数结构来评估所选藤对于估计参数的适用性。
在给出经验copula公式之前,有必要引入秩的概念。给定一个随机变量 X的样本 x₁,…, xₙ,xᵢ的秩 Rᵢ定义为小于或等于xᵢ的观测值的数量。因此,X中最小的观测值的秩为1,而最大的观测值的秩为n。
设 U=(u₁,…, uₙ) 和 V=(v₁,…, vₙ) 为在I上均匀分布的两个变量 = [0, 1]。我们用 X、Y表示两个随机变量,例如 X=(x₁,…, xₙ) 和 Y=(y₁,…, yₙ),并设 Rᵢ 为 xᵢ 的秩,Sᵢ 为 yᵢ 的秩。
对于从(X,Y)中选取的特定样本(xᵢ, yᵢ),可以使用 xᵢ 和 yᵢ 在 x₁,…, xₙ 以及 y₁,…, yₙ 中的秩Rᵢ 和 Sᵢ 来近似对应的数对(uᵢ, vᵢ),方法如下:
$$
u_i = \frac{R_i}{n+1} \tag{2}
$$
$$
v_i = \frac{S_i}{n+1} \tag{3}
$$
因此,利用这些秩,我们可以为随机变量 X和 Y[7]构造一个经验分布函数。
正式地,经验藤的计算由以下公式[3]给出:
$$
C_n(u, v) = \frac{1}{n} \sum_{i=1}^{n} \mathbf{1}\left( \frac{R_i}{n+1} \leq u, \frac{S_i}{n+1} \leq v \right) \tag{4}
$$
函数 1 是指示函数,当 arg 为真时其值为 1,否则为 0。
3.3 藤的族类
根据藤所表达的相依结构,存在多种连接函数族:
- 小值依赖。
- 极值依赖。
- 尾部依赖。
- 正或负依赖。
我们有两个主要的藤家族,即阿基米德藤家族和椭圆藤家族。第一个藤家族可分为:
- 古贝尔藤:正相关,且在上尾部分更为显著。
- 弗兰克藤:正相关以及负相关。
- Clayton Copula:正相关性,尤其在低强度事件上。
- Copula HRT:高强度极端事件的依赖性(依赖结构与 Clayton Copula相反)。
第二类适用于对称分布,包括两种藤:高斯Copula和学生Copula。下文将简要介绍高斯Copula,因为在第5节中已证明,该类藤最符合经验copula。
高斯Copula源自多元高斯分布。令Φ表示标准一元正态分布,其公式如下:
$$
\Phi(x) = \int_{-\infty}^{x} \phi(t) dt \tag{5}
$$
其中 φ(t)是随机变量 t∼ N(µ, σ)的概率密度,其分布均值为 µ = 0,标准差为 σ = 1:
$$
\phi(t) = \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{t^2}{2}\right) \tag{6}
$$
并且我们有ΦΣ,m ,相关矩阵为 Σ的m维高斯分布,其对角线元素为1,非对角线元素的相关系数为 ρ ∈ (−1,1)。
那么,相关矩阵为 Σ的高斯m‐藤定义如下:
$$
C_\rho(u_1,…, u_m) = \Phi_{\Sigma,m}(\Phi^{-1}(u_1),....,\Phi^{-1}(u_m)) \tag{7}
$$
其密度为:
$$
c_\rho(\varphi(x_1),…, \varphi(x_m)) = |\Sigma|^{-1/2} \exp\left{-\frac{1}{2} X^T(\Sigma^{-1} - I_m)X\right}, \tag{8}
$$
其中 X=(x₁,...., xₘ) 和 U=(u₁,...., uₘ)。然后,通过使用 uᵢ= φ(xᵢ),我们可以等价地写出:
$$
c_\rho(u_1,…, u_m) = |\Sigma|^{-1/2} \exp\left{-\frac{1}{2} \zeta^T (\Sigma^{-1} - I_m) \zeta \right}, \tag{9}
$$
其中 ζ=(φ⁻¹(u₁)...., φ⁻¹(uₘ))ᵀ
因此,根据公式(7),二元高斯Copula定义为:
$$
C_\rho(u, v) = \Phi_\Sigma(\Phi^{-1}(u),\Phi^{-1}(v)) \tag{10}
$$
其中 Σ是相关矩阵,一个对角线为1、其余位置为相关系数 ρ 的 2 × 2矩阵。
ΦΣ 表示均值为零、协方差矩阵为 Σ 的二元正态分布的累积分布函数。然后,根据公式 (8) 并经过简化后,其联合二元密度由下式给出:
$$
c_\rho(\varphi(x_1), \varphi(x_2)) = \frac{1}{2\pi\sqrt{1 - \rho^2}} \exp\left{-\frac{x_1^2 - 2\rho x_1 x_2 + x_2^2}{2(1 - \rho^2)}\right} \tag{11}
$$
where X=(x₁, x₂) and U=(u₁, u₂) such as uᵢ= φ(xᵢ).
图2展示了具有值 ρ= −0.90的高斯Copula示例。
3.4 依赖图
依赖图可帮助我们以图形方式理解两个随机变量之间的相依结构。此外,我们通过均匀分布边缘分布(u, v)的散点图获得该依赖图,这些边缘分布来自样本或理论copula的模拟结果。在图3中,我们展示了一些连接函数族对应的经典依赖图。
3.5 如何选择最适合数据的藤
处理二元数据时,我们假设有一组有限的藤,并希望知道其中哪一个对数据的最优拟合。在这种情况下,我们必须在图形适配性和解析方法之间进行选择。
3.5.1 图形适配性
我们将经验依赖图与理论依赖图进行比较。
3.5.2 分析充分性
文献中提出了许多旨在找到与数据最优拟合的藤的方法,我们称此方法为拟合优度(GOF)检验,其中引用了柯尔莫哥洛夫‐斯米尔诺夫检验[11]。在此检验中,我们简单地将每个族的经验分布与理论分布进行比较,并检查它们是否来自同一分布。
4. 错误数据检测的提议方法
在本节中,我们将介绍基于Copula理论在无线传感器网络中进行错误数据检测的所提出方法。首先,我们将阐述该方法的基本思路。然后,我们将描述检测错误数据所需的步骤。接下来,我们将解释二元情形下的模型。
4.1 构建模型(离线)
图4所示的流程图描述了所遵循的过程,并总结了构建所提出模型所需的所有阶段,以确保可靠性并实现高效且高精度的检测。各个步骤中发生的不同阶段如下所述:
-
Step 1 :基于感知数据的历史测量,我们首先选择两个随机变量 X 和 Y 的 N 个样本,这两个随机变量代表感知数据的两个属性,例如温度和湿度。然后,令 D=(X, Y)为用于构建基于二元藤的提出的模型的数据集,其中包含 X=(x₁,…, xₙ) 和 Y=(y₁,…, yₙ)。
-
Step 2 :在此步骤中,我们计算 D的经验copula C₁。给定来自 D的随机样本(x₁,y₁),…,xₙ,yₙ),我们用 Rᵢ表示 xᵢ的秩,用 Sᵢ表示 yᵢ的秩。然后,我们使用公式 (4)计算 D的经验二元Copula C₁。
-
Step 3 :在此步骤中,我们需要找到最接近的藤C₂,该藤对经验藤 C₁实现最优拟合。在本例中,我们通过上文3.5.1节所述的图形适配性方法来实现。首先,基于训练数据集(xᵢ,yᵢ)中的秩,利用方程(2)和(3)导出所有 i ∈{1,...., n}对应的(uᵢ, vᵢ)对,并绘制其散点图;然后,将经验藤 C₁的依赖图与图3中列出的copula族的依赖图进行比较,以确定最优拟合理论藤 C₂所对应的最接近的 copula族。此外,为了估计藤参数,我们通过计算经验藤与每次使用新参数生成的理论藤之间的曲面差异,来校准理论藤与经验藤。最后,我们使用最小化该曲面差异的参数来校准理论藤 C₂。
-
Step 4 :一旦确定了藤族及其参数,我们便使用与 C₂相对 应的理论公式生成一个均匀分布样本Z={U, V},其大小为 U={u₁,…, uₙ}和 V={v₁,…, vₙ},即从与经验连接函数 C₁相同大小的理论copulaC₂中生成一组 N个样本。
-
Step 5 :在此步骤中,我们使用Eddy算法计算 Z的多边形H H₂,该多边形表示平面点集的边界点集合 B的凸包。从而,我们得到凸包的所有顶点。即,对于所有的,B= j ∈{1,...., k} (uⱼ, vⱼ) ∈ Z k (,)中的点,其中为 Z 的多边形H的顶点数量。
-
Step 6 :确定 D 中对应的边界点 B₂。在计算由理论 copula C₂ 生成的样本 Z 的多边形凸包的顶点子集 B后,对每个点(uⱼ,vⱼ)∈ B,我们使用逆变换采样[14]计算对应的点(xᵢ,yᵢ)∈ D。然后,对于(uⱼ,vⱼ) ∈ B的每个采样值,我们计算其在 D空间中的对应值(xᵢ,yᵢ),该值由 xᵢ= F⁻¹(uⱼ)和 yᵢ= F⁻¹(vⱼ)给出。
-
Step 7 :最后,所有落在 B₂之外的点都被视为错误数据。
5. 性能评估
5.1 结果与讨论
为了展示所提出方法的有效性,我们使用了英特尔实验室的数据集[2],该数据集包含从54个传感器每31秒采集一次的真实测量数据,并于2004年2月28日至4月5日期间部署在英特尔伯克利研究实验室。图5显示了该数据集中传感器节点的部署情况。我们选择节点编号16,在上述相同时间段内测试我们的方法。从节点16获取所有(温度, 湿度)对,共得到21249个样本。设 D=(X, Y)为由 X= temperature和 Y= humidity给出的数据集。
接下来,我们展示使用统计免费软件R[12] 所获得的结果。
为了对温度与湿度之间的依赖关系进行建模,我们首先绘制所有数据对(x, y)的散点图,x ∈ X和 y ∈ Y,如图6所示。通过分析该散点图,我们无法判断温度与湿度之间的依赖关系,也无法看出该数据集中存在异常情况 D。
我们首先按照第4节中提到的步骤构建模型,该模型将由传感器节点在在线检测过程中使用。
-
Step 1 :所选数据集 D=(X, Y)包含来自节点16的 N= 21249个(温度, 湿度) 对样本。
-
Step 2 :在这一步中,我们使用公式(4)计算数据集 D中样本(xᵢ, yᵢ)对应的对(uᵢ, vᵢ)的经验二元藤 C₁ D。通过绘制这些对的散点图,得到图7(a)。在该图中,可以明显看出用红色圈出的数据(区域A)需要从数据集中剔除,因为它们不符合大多数感知数据的行为特征。我们将属于该区域的所有数据视为错误数据。从图7(a)中去除区域 A后,得到图7(b),其表示经验copula C₁的20610对数据的散点图。
- Step 3 :在这一步中,我们需要找到最优拟合经验 copula C₁ 的藤 C₂。通过图形适配性分析3.5.1,我们得出结论:通过比较图7(b)中经验copula的依赖图与图2和图3中高斯Copula的依赖图,最优拟合经验copula C₁ 的藤是高斯Copula。现在我们知道,最优拟合经验copula C₁ 的理论copula C₂ 为高斯型,接下来我们需要估计用于将理论copula C₂ 与经验copula C₁ 进行校准的参数,即本例中的相关系数 ρ。为了估计相关系数 ρ 的高斯Copula C₂,对于 ρ在 −0.80和 −0.99之间的每一个值,我们计算经验copula C₁与从 C₂生成的 100个理论copula的面积平均值之间的面积差异,这些理论copula的样本大小与 C₁相同。最后,我们选择最小化该差异的 ρ。
如图8所示,使面积差异最小的 ρ是 ρ= −0.91,因此最优拟合经验copula C₁的藤是具有相关系数 ρ= −0.91的高斯Copula C₂。
-
Step 4 :我们从高斯Copula C₂ 中生成一个包含20610对(uᵢ , vᵢ) 的样本 Z ,相关系数为 ρ= −0.91。这些样本将与图2中的形状相同。
-
Step 5 :在这一步中,我们计算生成的样本 Z的凸包 H₂ ,该凸包表示高斯Copula C₂ 的边界点 B集合,以获得 k= 28点对(uᵢ , vᵢ) ,这些点对代表所计算凸包的顶点。通过查看图9,红色的点被选为样本 Z凸包的顶点,通过连接这些点,我们得到样本 Z的凸包,该凸包以蓝色绘制,仅用于说明。
- Step 6 :现在,我们得到了copula空间中的所有边界点 B。然后,对于copula空间中 B的每一个点,我们计算其在 D‐空间中的对应点。结果得到 D‐空间中的多边形 H,它表示边界点 B₂ ,如图10所示。
- Step 7 :最后,所有落在 B₂之外的点都被视为错误数据。
6. 结论
本文中,我们提出了一种基于Copula理论在无线传感器网络中高效检测错误数据的方法。我们在真实数据集上测试了该方法,并表明所收集的传感器数据测量值中有相当一部分是错误的。此外,基于正确数据建立了一个稳健模型,未来将作为标准以在线方式用于实时应用,以即时检测异常读数。这种方法在利用有限的网络资源(如内存和能耗)方面非常高效。
实际上,传感器节点仅存储边界点用于在线检测,从而保持较高的内存利用率;同时,网络中仅交换正常值,这降低了通信开销并保持较低的能耗。因此,网络生命周期得以延长。
基于Copula的错误数据检测
619

被折叠的 条评论
为什么被折叠?



