一种数据驱动的卫星健康状态判读模型
2024-03-12刘传鲁李常亮高伊萱章雷薛彬
刘传鲁 李常亮 高伊萱 章雷 薛彬
(航天科工空间工程发展有限公司,北京 100854)
随着卫星硬件性能的提升,卫星由在轨运行的简单传感器和数据发送接收器向集高精密电子计算机及自动控制等多种先进技术为一体的复杂航天器转变,其系统内载荷及平台内连接部件之间互相关联且紧密耦合,致使现在的工作状况异常特征往往具有微弱性、非线性、不确定性以及因果关系复杂等特点[1]。因此,当卫星上设备工作状况出现异常后,如何及时发现、定位以及处置,对提升在轨卫星生存能力和保障其使用寿命具有重要意义。
采用人工监测的方式对卫星系统运行状态进行实时监测,存在判读反应慢和受主观因素影响的问题,面对已经产生异常运行数据的卫星或者即将进入异常运行状态的卫星,受制于星地测控链路等因素,往往难以采取实时检测与处置措施,这对于卫星系统的安全性存在一定隐患。数字化技术的发展对卫星多种工作状况监测范围变广,产生的健康管理数据急剧增加,促进了以大数据为背景的智能判读发展,并逐渐成为故障诊断研究的主流[2]。基于数据驱动的判读模型从卫星运行过程中积累的大量数据中训练系统健康状态模型和判据,在很大程度上摆脱对人工特征设计与工程诊断经验的依赖,提升了监视发现异常问题并预判潜在风险的能力。当前传统数据驱动的判读方法分为无监督的聚类方法和有监督的分类方法。采用聚类方法的判读包含了通过分析拟合数据与异常数据,设计两者之间的差异,建立航天器故障诊断模型[3]。通过生成健康状态知识库,与健康状态的差异大小来定量描述卫星的健康状态,区分卫星异常状态的等级[4]。采用分类方法的判读是通过有监督的方式训练多分类模型对故障进行诊断[5]。卫星系统复杂性的快速增长同样给以数据驱动的传统智能诊断方法带来了极大地挑战,主要表现在:①表征卫星状态的参数越来越多,复杂的卫星参数间关系难量化且冗余参数多,关键参数难以确定;②现有智能判读方法可以定性确定是否故障状态却难以定量判读健康状态。
本文研究了可量化卫星网络系统参数间关联复杂关系的空间数据挖掘方法,卫星健康状态关键关联参数提取方法和卫星健康状态定量判读的方法。提出一种结合相关性聚类分析的数据处理机制和多分类器集成的健康状态判读模型。
1 数据提炼
数据提炼过程是在海量遥测管理数据中提炼出与故障关联的关键信息,生成训练卫星自主健康监测判读模型的知识库。挖掘方法包含了相关性分析、关键关联参数选择和聚类分析3个部分。其中,相关性分析是识别海量健康管理数据中各参数之间的关联关系,关联的强弱以及强弱的分布情况,为故障的关键关联参数提取提供依据;关键关联参数选择是在高维遥测数据中筛选出与故障高度相关且彼此之间低冗余的参数,其关键关联参数也作为智能判读模型的输入,避免了高维冗余参数输入模型造成的额外空间和时间开销;聚类分析是对健康状态关键关联参数样本划分为不同的状态,为模型训练提供健康状态样本知识库,以此实现故障的定量判读。
1.1 最大信息系数
相关性分析方法采用最大信息系数(MIC)。MIC是建立在互信息上的方法,其核心思想是如果两个变量之间存在某种关系,则可以在其散点图中用网格划分数据点来封装这种关系[6]。在处理高维健康管理数据时,相比于其他相关性度量方法如皮尔森(Pearson)相关系数[7],斯皮尔曼(Spearman)相关系数[8],距离相关系数(Dcor)[9-10],MIC最重要的优势是兼具通用性和均匀性,不仅可以检测出各种类型的关系,线性和非线性,单调和非单调,甚至是非函数类型的广泛关系,而且对于相同噪声水平的不同函数关系,可以给出相近的评估值,受异常值的影响较少。
给定二元变量数据集D,以及在横向划分数量为y与在纵向划分数量x满足的上限条件xy
(1)
式中:B(n)是关于样本量n的函数B(n)=nα,参数α的默认值为0.6[6],max 表示取最大值函数,M表示特征矩阵。
卫星遥测数据的参数样本为时间段t1~tn记录的状态值。如图1所示,当每个参数的样本量相同,那么既可以衡量单个载荷内部参数间的关联,也可以衡量载荷间参数的关联。若考虑单个载荷A内部参数间的关联,那么仅需要对载荷A的Ka个参数进行两两组合,并按相关性强弱进行排序选出强相关的参数。若考虑两个载荷及以上参数间的关联,如图1中两个载荷A与载荷B,其参数的个数分别为Ka与Kb,那么需要对K=Ka+Kb个参数进行两两组合,并量化参数之间的关系,其中识别过程如图2所示。
图2 强相关关系识别
1.2 关键表征参数选择
高维遥测数据是指在遥测终端接收到的实时数据,其维度高是典型特点。提取与故障高度相关且彼此间低冗余的参数,要求故障特征具有维度少、表征故障信息量丰富、故障特征与故障模式存在明确的关联关系。
本文对关键关联参数的选择分为3个阶段(见图3),其中第一阶段是通过分析特征本身特性对海量特征数据进行预筛选,降低后续两个阶段的计算量;第二阶段与第三阶段是基于最大信息系数MIC筛选高相关低冗余特征,第二阶段是度量特征与类别间的相关性,应用特征排序方法获得与不同特征与类别之间的强弱关系;第三阶段是冗余性分析阶段[11],综合考虑特征与类别间的强弱关系以及特征间的冗余性进行特征选择。
注:M、K为特征数。
健康管理数据特征维数高,其中有些特征值对于整体判读影响极小,且增加判读模型的复杂性。由于这一部分特征数据表现特点就是值的变动幅度小,为了降低时间成本,在进行MIC的相关性特征选择之前,采用计算简单快速的方差筛选方法,过滤掉与健康状态相互关联程度低的特征。
对于K-1个特征 (f1,f2,…,fK-1),计算每一个特征的方差,然后根据方差的大小进行排序,并按比例删除排名靠后的特征。
将进行方差过滤之后的特征子集,首先进行高相关特征的确定,在本文处理中,删除与指定关键特征目标变量Tv弱相关特征。分别计算选择特征(FS)中特征和关键特征Tv之间的相关性,若大于给定的阈值,则将其保留。
删除冗余特征基于近似马尔科夫毯。对于给定的两个特征变量fi、fj(i≠j)和目标变量Tv,fi是fj的近似马尔科夫毯当且仅当如下条件满足FMIC(fi,Tv) >FMIC(fj,Tv)且FMIC(fj,Tv) 聚类分析是对健康状态关键关联参数样本划分为不同的状态,进而对不同的工作状态进行区分识别,以此实现故障的定量判读。基于密度聚类算法在处理空间数据具有快速、有效处理噪声点和发现不同形状簇的特点[12],本文采用密度聚类算法(DBSCAN)对表述卫星运行状态的关键遥测参数数据进行聚类。 DBSCAN包含2个参数,即扫描半径(Eps)和最小包含点数(MinPts)。Eps描述了某一样本的邻域距离阈值,MinPts描述了某一样本距离为Eps的邻域中样本个数的阈值。 (1)任选一个未被访问(unvisited)的点p,找出与其距离在Eps之内(包括Eps)的所有点,若包含的点数不小于MinPts,则当前点与其附近点形成一个新簇C,将其中的所有点加入候选集N,标记p为已访问(visited); (2)对候选集N中所有未被访问(unvisited)的点q,检查其邻域,若包含的点数不小于MinPts,则将这些点加入N;如果q未归入任何一个簇,则将q加入C; (3)重复步骤(2),继续遍历N中的剩余点; (4)重复步骤(1)~(3),直到所有对象都归入了某个簇或标记为离群点。 在聚类算法中,作为输入的每一个卫星运行状态的关键遥测参数样本表示一个点,不同类簇结果对应了不同的实际工作状态。通常情况下,卫星运行状态可以分为正常、异常和故障。其中,正常状态的数量最多,异常状态的数量次之,故障状态数量最少。在本文故障模式即表示为异常状态和故障状态,不同状态的差异通过聚类结果的不同簇集表现。正常运行状态的数据簇内点数量多,异常运行状态和故障状态数据的簇内点数量少(在聚类结果上表现为离群点)。正常状态与异常和故障状态在数据上表现出的簇间距差异是定量描述卫星的健康状态,区分卫星异常状态的等级的理论依据。 判读模型采用4种分类方法集成对健康状态进行综合判读,较单一模型具备更高鲁棒性和预判的准确性。模型的训练数据是经过挖掘分析降维后的简化数据,这保证软件部署之后,软件的数据输入和计算的复杂性都大幅简化。 图4所示为生成模型的检测过程,其中关键关联参数通过1.1节中最大信息系数和1.2节中关键表征参数选择确定,关键关联参数数据将作为模型的输入。判读模型集成了4种方法,分别为神经网络(NNs)[13],逻辑回归(LR)[14],自适应提升(AdaBoost)[15],K最邻近法(KNN)[16]。每个方法都采用由1.3节DBSCN聚类的样本数据单独训练出一个最优分类器,在工作判读时,每一个分类器都有一个结果,最后集成作为输出。健康管理中的工作状况定量分为4种,其中第1种状态是故障,第2种状态是异常,第3和第4种状态是两种健康工作状态。在本文中的多个分类器的集成是结合投票机制和权重相结合的方式,4种分类器算法集成对4种健康状态的判读机制如下。 注:W为权重。 情形1:4个分类器的分类结果为同一个类别C1,那么判读结果是类别C1; 情形2:4个分类器的判读结果为两个类别C1和C2,且其中3个分类器分类结果为C1,那么判读结果是类别C1; 情形3:4个分类器的判读结果为两个类别C1和C2,且其中2个分类器分类结果为C1,2个分类器分类结果为C2,那么判读结果是训练过程中分类准确率最高的分类器分类结果; 情形4:4个分类器的判读结果为3个类别C1,C2和C3,且其中2个分类器分类结果为C1,那么判读结果为C1; 情形5:4个分类器的判读结果为4个类别C1、C2、C3和C4,那么判读结果是训练过程中分类准确率最高的分类器分类结果。 为了对本文所提出的数据驱动的卫星健康状态判读模型进行验证,采用某星的载荷遥测数据进行验证。其中用于训练的数据集有486个样本,测试数据集有1142个样本,样本特征个数为146个。在这里样本特征即是遥测参数,代表了统计中的随机变量。 首先对载荷遥测数据的训练数据集进行相关性分析,筛选健康状态的关键关联参数。采用MIC方法对146个特征的两两组合进行度量,相关性分布结果如图5所示,其中相关性主要集中在3个大部分:第1部分是强相关性的,相关性的值在0.8到1之间;第2部分的相关值是中等相关,值在0.4到0.6之间;第3部分是弱相关,值在0到0.1之间。 图5 载荷任意变量组相关性 作为通信载荷,其内部必然存在强相关的参数关系。从图5中的强相关参数的数量,也验证了这种预计的设想,通过对相关性的值为1的关系进行散点图观测,其中的关系主要呈现一种线性相关,侧面反映出这些特征之间存在明显的冗余,这种冗余在实际判读体现在以随机变量T表示故障变量,随机变量X与T相关,随机变量Y也与T相关,X和Y表示与故障相关的两个变量[17]。若X与Y也相关,那么这两个变量是相互冗余的,在高维数据中存在的类似大量相互冗余的参数即为高维冗余参数。 在本文以馈线链路发射机输出功率监测作为一个降维关键指标参数,相关性参数阈值设置为0.7,从146个特征中筛选出7个关键关联参数,关键关联参数即与馈线链路发射机输出功率监测强相关,而彼此之间相关性又极弱。7个与故障相关的参数分别为:T7检波2;馈线链路发射机A机电压模拟;T7检波7;接收+6V主份电压状态量;馈线链路开关加电;接收-6V主份电压状态量;馈线链路发射机输出功率监测。 以馈线链路发射机输出功率监测作为工作状态主要参考指标,其余6个参数特征都与其存在明显关联关系,6个参数特征之间彼此弱相关,表示出6个参数是非冗余特征。7个关键关联参数表示卫星载荷是否出现在轨故障的情况。例如,对于正常工作状态的数据,馈线链路发射机输出功率监测值为0的情况下,T7检波2与T7检波7显示值应为0;倘若馈线链路发射机输出功率监测值为0,T7检波2与T7检波7两个参数中任何一个参数显示值为非0,那么就是异常的数据。 部署在卫星上的判读模型越简单,那么对星上的计算资源和内存资源占用越少。判读模型中的超参数设置决定了其计算的复杂性,为了选择合适的超参数配置简化判读模型,在本节采用穷举遍历的方式来确定模型超参数。超参数作为一个未知常量,KNN超参数为近邻个数,AdaBoost超参数为基分类器的个数,NNs超参数为神经网络的层数和节点个数。在这里对KNN的超参数近邻个数,AdaBoost的超参数基分类器个数都在2至20之间进行遍历。NNs的超参数层数和节点个数分别在2至30之间遍历。其中超参数结果如图6所示。 图6 分类器的参数选择 根据图6(a)与图6(b)所示,其中KNN方法随着近邻个数增加,准确率没有改变;AdaBoost超参数基分类器个数随着基分类器个数的增加,准确率也没有改变;NNs的超参数层数和节点个数分别在2至30之间遍历,其中参数结果如图6(c)所示。当层数为3,每一层神经元个数为6时,准确率已经达到最大值。因此,KNN方法近邻个数选择2,AdaBoost超参数基分类器个数选择2,NNs的层数选择为3层。 为了模拟生成的判读模型部署在星上的性能,在ZYNQ7045ARM嵌入式开发平台上进行实验。实验测试数据集为不同时间产生的1142个样本,经过相关性降维和聚类后数据维度为7,每一个维度即是一个参数,每一个样本表示某个功能模块当前的一个工作状态,涵盖了故障,异常和正常的工作状态。首先对4种单独方法NNs,逻辑回归(LR),KNN,AdaBoost以及4种方法集成的方法集成(Ensemble)进行准确率的测试。 图7所示为5种方法对测试数据健康状态的预测结果。NNs、LR、KNN和AdaBoost中都存在将故障以及异常判读错误的情况,而Ensemble没有将故障以及异常判读失误的情况。对于4种状态的判读,误判出现最多的是在两种正常状态之间,其中标签为-1的状态是故障,标签为0的状态是异常,标签为1或2的状态是健康。 图7 5种方法对测试数据健康状态的预测 表1为训练样本与测试样本中4个类别的准确率,对于训练样本中4个类别的判读结果,NNs、KNN和集成分类器Ensemble的准确率都是最高值1。Ensemble仅在第4个正常类别没有达到1,其余均达到最大值。 表1 训练样本与测试样本4种类别的准确率 表2为5种方法的虚警率(FAR)和漏警率(MAR)结果,其中FAR是误报为故障的正常样本数目与正常样本总数目的比值。正常样本是状态1和2的两种健康状态样本;MAR为误报为正常的故障样本数目与故障样本总数目的比值。故障样本是状态-1和0的故障和异常状态。 表2 5种方法的虚警率和漏警率 由表2可知,对于虚警率,5种方法在训练样本上的值都是0,而在测试样本上,仅LR和Ensemble的值为0。对于漏警率,5种方法在训练样本上的值是0的方法是NNs、KNN和Ensemble,在测试样本上,仅LR为大于0的值0.015,其余方法的值都为0。由虚警率和漏警率越低,模型的判读效果越好。对于训练集和测试集,仅Ensemble模型的虚警率和漏警率都为0,可以得出集成模型的判读结果最好。 此外,数据库中每一组样本都有正常或异常的标签,集成模型对每一组样本进行判读,若预测结果与标签一致,则判断准确,经统计对每一组样本平均判读时间仅为15 ms,且准确率达98%。由于每一组样本可以看作某一个时间点卫星载荷工作记录的多个参数值,因此具备在星上有限的算力下,实现高效判读的能力。 针对卫星系统变得越来越复杂,其工作状况的健康状态也越来越难实时判读的问题,本文提出了一种数据驱动的判读模型,对卫星工作状况的健康状态进行实时定量判读。模型包含了数据处理和训练判读两个部分,其中数据处理部分作用是对数据的简化,降低数据判读难度,提高状态判读效率。首先是对特征进行相关性分析并提取关键关联参数,然后对关键参数数据聚类分析,划分出工作状况的数据,为多分类器提供训练知识库。训练判读部分是多分类集成,通过多个分类器的分类结果综合判读,以此来提升对健康状态判读的泛化能力。根据上述方法针对某卫星载荷的遥测数据对该模型有效性进行了验证,通过在载荷遥测训练数据中提炼出与故障关键关联参数测试数据对智能判读模型验证。模拟结果表明:该集成判读模型具有较好的卫星异常状态识别能力,有望为未来在轨卫星自主健康监测技术提供一种新型手段。1.3 聚类分析
1.4 判读模型生成
2 仿真结果与分析
2.1 相关性降维分析
2.2 模型超参数选择
2.3 模型性能评估
3 结束语