1. 引言
状态估计是导航[1]、目标追踪[2]、系统识别、最优控制等[3]研究领域的重要关注之一,是获取系统动态行为的重要理论与关键技术。对于线性系统,卡尔曼滤波器(KF)是利用最小二乘思想提供状态估计问题最优递归解的线性滤波器。但现实中大多数系统均为非线性系统,从而使得KF的应用具有较大的局限性。为了解决非线性条件下的状态估计问题,许多改进的卡尔曼滤波器相继涌现,例扩展卡尔曼滤波器(EKF) [4]、无迹卡尔曼滤波器(UKF) [5]、正交卡尔曼滤波器(QKF) [6]等。
上述滤波器大都依据最小均方误差(MMSE)原则所设计的,当系统遭受的噪声符合高斯分布时,它们的估计精度较高。然而,由于MMSE原则只捕捉到了噪声的二阶统计特征,当系统遭受的噪声为非高斯噪声时,此类算法对异常值表现较为敏感从而使得算法的估计性能大大降低[7]。为了解决这一问题,学者们提出了一些基于非MMSE原则的滤波器。例如,基于Huber的卡尔曼滤波器(HKF) [8]通过采用Huber函数将残差有界化从而抑制了异常值对于状态估计的影响。最大相关熵卡尔曼滤波器(MCKF) [9]是基于信息理论学习(ITL) [10]中的最大相关熵准则(MCC)提出的。实验结果表明,其在复杂非高斯噪声干扰下展示了良好的性能,优于传统的滤波方法。
需要指出的是基于ITL的滤波器性能在很大程度上依赖于核函数及其选择的参数。目前,大多数此类滤波器仍采用高斯核函数。然而,在一些实际应用场景例如敏捷目标跟踪[11]、多路径估计等,系统通常遭受到重尾非高斯噪声的干扰。对于重尾噪声,基于高斯核的滤波器难以选择适当的核带宽而往往无法充分捕捉其重尾特性;此外,在执行过程中奇异矩阵的出现通常会导致算法的崩溃,从而可能导致估计精度的显著下降。因此,高斯核函数作为代价函数并非最优选择,探索其他类型的核函数以克服高斯核函数固有的不足具有重要意义。文献[12]中提出了一种基于Cauchy核函数的最大相关熵卡尔曼滤波器(CKKF)。与使用高斯核函数的MCKF相比,CKKF在处理多维非高斯噪声时表现更优。同时,当选择不同的Cauchy核带宽时,CKKF的性能始终保持稳定。最近,基于S-t分布提出了一种新的核函数:S-t核函数[13]。与高斯核函数不同,S-t核函数具有两个参数,可以分别控制核函数的形状和带宽,从而其更有效地捕捉噪声的重尾特性。在适当选择核函数参数的情况下,当噪声为重尾非高斯分布时,STKKF的状态估计精度优于传统算法。
另一方面,分布式滤波可以在多个节点上并行处理信息,其相较于集中式滤波具有显著的优点,包括提高系统的鲁棒性、降低通信负担、提升可扩展性等。但目前部署的网络通常是开放的。尽管已经采取了大量保护措施,但数据泄露和网络攻击等问题仍然无法避免[14]。这种情况往往会导致巨大的经济损失、负面的社会影响,甚至对国家安全构成威胁。近年来,研究者提出了几种隐私保护方法,如同态加密[15]、水印[16]和注入扰动策略等。状态饱和[17]是实际系统中普遍存在的一种现象,通常由系统状态的物理限制所引起。如果未能妥善处理状态饱和,滤波器的性能可能会迅速下降。综上所述,本文针对一类状态和非线性系统,旨在设计一种基于状态分解和S-t核函数的隐私保护分布式最大相关熵滤波算法,以增强其在非高斯环境下的鲁棒性以及数据分享的隐私性。研究面临的主要挑战包括:1) 如何选择适当的隐私保护策略设计状态饱和下的熵滤波器;2) 如何分析滤波算法的隐私性。本文系统地解决了上述挑战,给出了变量分解下的方差上界的迭代计算规则,并结合传统的定点迭代技术设计了一种新型的分布式熵滤波算法,主要贡献如下:
1) 基于分解的状态,设计了一种针对状态饱和非线性系统的分布式滤波器;
2) 基于S-t核函数的损失函数和定点迭代规则,给出了私有估计与公共估计的误差协方差矩阵的上界及其分布式最大相关熵滤波器增益。
2. 问题描述
本文考虑的传感器网络由n个传感器节点组成,节点之间的通信描述为有向图
,其中
为节点集,
代表边连接集,
表示传感器节点间的加权邻接矩阵。对于所有节点
,如果
,则有
,即节点i可以接收到来自节点j的信息;否则
,即节点i不能接收到来自节点j的信息。显而易见,矩阵元素
反应了节点i与节点j之间连接的紧密程度。最后,记第i个传感器的邻居传感器集为
,邻居的个数为
。
考虑一类带有状态饱和的离散随机线性系统,其动力学行为可描述为
(1)
式中
和
分别表示待估计的状态变量和传感器i的测量输出;
和
为互不相关的非高斯噪声,它们的均值均为0且对应的协方差矩阵分别为
和
;随机变量
是均值为0方差为1的噪声序列,描述了系统遭受的乘性噪声。进而,考虑到实际工程系统通常运行在一个有限的范围内,即系统遭受状态保护,故引入非线性映射
是一描述受状态饱和影响。具体地,对于向量
,定义
,其中
。这里,
代表饱和水平。A,G和
分别代表系统矩阵和测量矩阵。
为了监控上述目标的动态行为,理想的滤波器可设计为:
(2)
其中
和
分别代表
时刻第i个传感器的一步状态预测和一步估计,
代表来自于邻居的理想一步估计。正标量
代表一致性增益,其中
,
是通信拓扑图的拉普拉斯矩阵的特征值。矩阵
为待设计的滤波器增益。不失一般性,初始状态假设满足
。
由(2)不难发现,分布式滤波器的实现依赖于邻居信息的交互。然而,开放的网络可能导致信息的泄露,从而被外部恶意攻击者利用,造成不必要的损失。为了保证数据传输的隐私性,对传输的估计值
进行状态分解:
(3)
其中
,
是滤波器i的动态私钥,满足提前确定的变化规则,该规则与其邻居共享,并不被窃听所获取。需要指出的是,滤波器i的邻居j将根据该动态私钥传输信息对应的估计值
。根据这一规则,滤波器i仅能够收到邻居分解后的信息。为此,实际设计的滤波器为
(4)
其中
为外部窃听者可以听到的、邻居之间实际交换的数据。
对于外部窃听者来说,它可以使用网络中传输的部分数据来构建自己的状态估计,其迭代规则如下所示:
(5)
其中
代表外部窃听者的估计值。
注1:在上式中,
表明了窃听者是利用从其他节点获取的信息来调整其预测值。
针对系统的饱和约束,有如下引理。
引理1 [13]:假设函数
如下式所定义,则有:
其中
。
记
,
。考虑到系统的饱和特性,由引理1一定存在一个满足
矩阵
使得
和
在高斯噪声下,卡尔曼滤波算法实现了最小均方误差准下的最优估计。然而,当系统中的
和
均为服从非高斯分布时,传统的卡尔曼滤波算法并不能得到最优估计。特别地,当噪声呈现重尾分布式或存在野值的时候,可能造成滤波性能的衰减。针对这一问题,本文采用了基于高斯核函数的最大熵准则提高滤波器的滤波性能。为此,系统(1)中的测量可写为
(6)
其中
对该向量求方差,可得
(7)
其中
代表一步预测协方差矩阵;
为
的Cholesky分解矩阵。为了对向量
进行归一化处理,将式(6)两端同时乘以
,得到
(8)
其中
,以及
对于这一分解,不难发现
,即将
化为白噪声。此外,由于系统的分布式特性,精确的方差矩阵
是难以获得的。一个可行的方法是寻找一个较小的上界加以替代。根据最大熵原则,同时为了更好地捕获噪声中的重尾特征,本文使用S-t核函数来代替高斯核函数[13],采用的损失函数如下:
其中
为带宽或者核宽度,v用于控制Student’s t核函数的形状,其他向量为
在该指标中,
和
是一组权重矩阵,在实现白化处理的同时,实现了状态估计稳定和状态估计准确的权衡。
综述所述,本文的设计目标如下
1) 借助于估计误差方差,获得理想的权重矩阵
;
2) 设计合适的滤波增益矩阵
获得最优估计值
,使得
(9)
基于MCC下的滤波器增益计算
本节致力于设计基于MCC原则的分布式隐私保护滤波器。为此,记
代表先验协方差矩阵和后验协方差矩阵。进而,
和
相应的分解可以表示为:
结合引入的状态分解规则和引理1,两组误差动态可表示为:
(10)
和
(11)
明显地,误差动态(10)是由私钥分解部分驱动产生的,可称之为私有误差动态;误差动态(11)是由公钥分解部分驱动生成的,可称之为公共误差动态。对比窃听者的估计策略,不难发现其窃听不准确的原因正是由于私钥分解部分的缺失。
对于状态分解后的一步预测协方差矩阵和误差协方差矩阵满足如下关系:
(12)
和
(13)
定理1 假设分解误差动态(即私有误差动态(10)和公共误差动态(11))的私有和公共估计误差协方差
和
的初值满足
和
,先验误差协方差
和
的初值满足
和
。分布式隐私保护滤波器(4)的先验协方差矩阵和后验协方差矩阵的上界分别为
(14)
其中
、
、
和
满足如下递推矩阵约束
(15)
和
(16)
这里,
。
证明:根据方差的定义,计算可得
(17)
同理可得
(18)
另一方面,让我们分析系统的二阶矩,可知
又根据[18]得
因此通过结合两式我们得到:
接下来,让我们处理(17)中的交叉项,不难有
(19)
综上,可得
的上界为:
(20)
最后根据[19]可得到分解后的一步预测协方差矩阵和误差协方差矩阵。 证毕■
定理2 假设分解误差动态(即私有误差动态(10)和公共误差动态(11))的私有和公共估计误差协方差
和
的初值满足
和
,先验误差协方差
和
的初值满足
和
。如果滤波增益取
那么,分布式隐私保护滤波器(4)的先验协方差矩阵和后验协方差矩阵的上界满足(14),其中
证明:令
可得
上式可以化简为:
移项可得
,其中
即对应的权重矩阵取作
。因此,最优估计值
可以直接由下式得到
由此可得该定理成立。
最后,本文设计的算法的具体实现步骤如下表1所示。
Table 1. Algorithm pseudocode
表1. 算法伪代码
步骤1 |
参数初始化。给定初始值
令
|
步骤2 |
收集
;通过(5)和(14)计算
和
,
,
;通过对
和
的Cholesky分解计算
和
; |
步骤3 |
记
为固定点迭代步骤t处的估计值,并令
作为初始迭代值; |
步骤4 |
令
;当
或
时;更新迭代步骤
; 1) 计算向量
,以及
; 2) 计算矩阵
和
; 3) 计算矩阵
,
; 4) 计算滤波增益
; 5) 使用以下公式更新估计值
; 6) 计算迭代精度
; |
步骤5 |
记
;通过(15)更新
,
和
,结束算法。 |
3. 隐私性分析
由于状态分解策略对于外部窃听者来说是未知的,因此利用类似于定理1的方法,可得窃听端的先验误差协方差矩阵和后验协方差矩阵为:
(21)
对应的上界为:
(22)
接下来,让我们比较窃听者的估计误差协方差与正常滤波器的误差协方差之间的关系。具体地,由 (14)、(15)和(16)可得
以及
鉴于状态分解的复杂性,文本只讨论一类特殊的分解规则的隐私性,即
且取
。在这种情况下,我们不难有
(23)
如果
,对比(22)和(23),不难有
。因此,窃听者估计的状态的有效性低于正常的滤波器。因此,系统的隐私性是可以满足的。对于更一般的状态分解情形,即
且取
时,如果分解策略使得
,
那么
所采用的状态分解算法可能会降低系统的隐私性。反之,系统的隐私性的隐私性将被增强。因此,理想的分解策略应当满足
是不增的。最后,不难发现矩阵
反映了系统的估计性能,矩阵
反映了系统的安全性能。因此,可以引入调节参数
构建了一个综合估计和安全性能的复合指标
。这时,
可以被称作是风险水平。当
接近于零时表明系统对隐私性的关注较小,这将会造成较大的安全风险。
4. 仿真实验
在本节中,通过仿真算例来验证所提出的具有状态分解的安全分布式估计算法的有效性。所采用的微电网包含两个分布式发电机组,其物理参数与文献[19]中的一致。此外,系统中部署了4个互联传感器,其中加权邻接矩阵为
在不失一般性的情况下,所考虑的电力系统的初始状态平均值和设计的估计器分别选为
,并且取
,
为Matlab随机生成的矩阵,另外共识系数
,S-t核函数中两个参数分别取做
,
,高斯核函数的参数取为
,其它参数设置为
,
,
,
和
。通过使用Matlab软件生成变量分解参数
服从均匀分布
,四对随机序列
(
)的变化见图1,并且该序列无法被窃听者识别。
本文涉及的过程噪声和测量噪声是与[20]类似的高斯混合噪声:
其中
,并且上述随机变量满足以下分布:
Figure 1. Decomposition coefficient
图1. 分解系数
图2展示了系统在状态饱和时算法使用高斯核函数(红线)和S-t核函数(蓝线)估计系统状态的仿真结果,其中上标i (
)表示状态向量的第i个分量。图3展示了基于两种核函数下的系统状态估计的均方误差(MSE)。在该图中,MSE的定义为[21]:
其中,该式中T = 100代表独立实验的数量。
图2和图3展示了使用S-t核函数的算法的估计精度要高于使用高斯核函数的算法的估计精度。另外,除了算法的估计精度外,我们还要对系统的安全性进行分析。为此,假设外部窃听者使用估计方案(5),并且假设窃听者除了无法获得时变参数的分解参数外,其他所有参数(包括设计增益)都能够轻易获得。实验结果如图4所示,该图展示了窃听者在估计器1和4的状态估计过程中,与真实系统状态之间的差异。
Figure 2. The estimation of the 1st and 4th components of the state variable by estimators 1 and 4
图2. 估计器1、4对状态变量的第1个和第4个分量的估计
Figure 3. The MSE of the estimator 1 for the first component of the state variable using the Gaussian kernel function and the S-t kernel function
图3. 估计器1对状态变量的第1个分量分别使用高斯核函数与S-t核函数的MSE
Figure 4. The estimation of the 1st and 4th components of the state variable by an external eavesdropper
图4. 外部窃听者对状态变量的第1个和第4个分量的估计
5. 结语
基于状态饱和与状态变量分解,本文提出了一种新的以S-t核函数的分布式安全状态估计算法。本文根据状态分解规则系统地分析了私有估计误差协方差矩阵与公共估计误差协方差矩阵之间的关系。同时,利用新的S-t核函数构造区别于高斯核函数的代价函数进而构建了估计器的增益,以优化整个估计过程。状态变量分解的引入有效保障了数据传输的安全性,防止外部窃听者从中提取敏感信息。最终,结合系统状态饱和的特征利用Matlab进行仿真实验,验证了所提出算法在安全性和有效性方面的优越性能。
基金项目
国家自然科学基金(No. 62303322);上海市教委创新基金(No. XJ2024111)资助。