本发明涉及一种传感器故障检测方法,特别涉及一种基于ica与knn的多源传感器故障检测方法。
背景技术:
在工业领域,传感器作为信息获取的源头,其所输出数据的准确性和可靠性极为关键,具有较高准确性和可靠性的输出值是在线监测和控制工业生产过程的必需条件。多源传感器将多种不同类型的敏感单元集成或复合在一起,用于测量多个被测量。与传统的单源传感器相比,具有更小体积小、且功能较全的多源传感器得到更快的发展和更广泛的应用。
由于多源传感器内部包含的敏感元件数目的增多和复杂信号调理电路的存在,发生故障的概率相对较高。一旦传感器发生故障,其所输出的数据将无法正确反映实际测量结果。若该错误数据用于控制和决策,将影响系统的正常运行,有时甚至会发生灾难。因此,在努力提高传感器可靠性的同时,也希望能及时检测传感器的故障状态,以便尽快修复或更换传感器,尽快恢复系统的正常运行。
传统多源信号故障检测包括基于主成分分析(pca)和基于核主成分分析(kpca)等方法。pca方法假设数据符合线性和高斯分布特征,但是实际传感器工作过程中所输出的数据往往不满足上述特征,容易导致故障检测准确度下降的问题。kpca方法能够解决信号的非线性问题,但是它需要进行复杂的非线性特征提取,因此并不适用于实时性要求较高的故障检测场景。
近年来,k最近邻法(knn)在故障检测方面得到了广泛应用,基于knn进行故障检测是直接利用传感器正常工作条件下的过程数据,选取临近k个数据建立故障检测模型。与pca方法相比,knn方法建模过程不需要对信号进行线性和高斯分布假设;与kpca方法相比,knn方法不需要复杂的非线性特征提取等数据预处理步骤。但该方法需要在数据的原始空间进行距离运算,在信号维度较高时所需要的计算量和存储空间较大,影响了故障检测的实时性。
技术实现要素:
本发明的目的是为了解决现有的传感器故障检测实时性差的问题,而提出一种基于ica与knn的多源传感器故障检测方法。
一种基于ica与knn的多源传感器故障检测方法,所述的方法包括以下步骤:
步骤一、在正常工作状态下,通过多源传感器收集多组训练样本数据;
步骤二、对训练样本数据进行中心化和标准化的数据预处理;
步骤三、采用fastica算法对经过数据预处理后得到的训练样本进行ica分解,得到独立成分分量、合成矩阵和分离矩阵;
步骤四、按照各个独立成分分量的负熵值由大至小的顺序进行排序,把负熵值大于非高斯度阈值的独立成分分量作为主部,并确定对应主部的分离矩阵;
步骤五、将作为独立成分分量的主部作为新的训练样本数据集;
步骤六、计算新的训练样本数据的统计量;
步骤七、通过卡方分布计算步骤六的统计量的控制线;
步骤八、对获得的待检测实时数据进行中心化和标准化的数据预处理;
步骤九、计算待检测实时数据所对应的独立成分分量;
步骤十、计算待检测实时数据的统计量;
步骤十一、判断步骤十得到的实时数据的统计量与步骤七确定的显著度水平的控制线的大小关系,若为大于关系,则确定多源传感器存在故障;否则传感器正常工作。
本发明的有益效果为:
本发明提出一种基于ica与knn的多源传感器故障检测方法,利用独立成分分析(ica)对多源传感器的输出数据进行特征提取,得到能够描述信号特征的若干独立成分(ic),利用knn在独立成分空间建立故障检测模型进行多源传感器的故障检测。由于信号的独立成分能够准确描述信号的特征,且信号的独立成分空间维度远小于原始空间的维度,因此能够在保证多源传感器故障检测准确度的前提下,显著提高故障检测的实时性。
传统的基于knn进行故障检测是直接利用传感器输出的包含所有维度的数据进行故障检测,即在维度为m(m为敏感单元数量)的空间寻找最近的k个近邻。在本发明提出的故障检测算法中,如式(10)所示,对于统计量
附图说明
图1为本发明方法的流程图;
具体实施方式
具体实施方式一:
本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述的方法包括以下步骤:
步骤一、在正常工作状态下,通过多源传感器收集多组训练样本数据;
步骤二、对训练样本数据进行中心化和标准化的数据预处理;
步骤三、采用fastica算法对经过数据预处理后得到的训练样本进行ica分解,得到独立成分分量、合成矩阵和分离矩阵;
步骤四、按照各个独立成分分量的负熵值由大至小的顺序进行排序,把负熵值大于非高斯度阈值的独立成分分量作为主部,并确定对应主部的分离矩阵;
步骤五、将作为独立成分分量的主部作为新的训练样本数据集;
步骤六、计算新的训练样本数据的统计量;
步骤七、通过卡方分布计算步骤六的统计量的控制线,并确定显著度水平的控制线表示方法;
步骤八、对获得的待检测实时数据进行中心化和标准化的数据预处理;
步骤九、计算待检测实时数据所对应的独立成分分量;
步骤十、计算待检测实时数据的统计量;
步骤十一、判断步骤十得到的实时数据的统计量与步骤七确定的显著度水平的控制线的大小关系,若为大于关系,则确定多源传感器存在故障;否则传感器正常工作。
具体实施方式二:
与具体实施方式一不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤一中通过多源传感器收集多组训练样本数据的过程为:
对于具有m个敏感单元的多源传感器,正常工作状态下收集的n组训练样本数据为:
具体实施方式三:
与具体实施方式二不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤二中对训练样本数据进行中心化和标准化的数据预处理的过程为:
通过式(2)进行中心化处理:
式中,m表示敏感单元个数;xij表示第i组收集的训练样本中第j个敏感单元的数据;i表示训练样本的序号;j表示敏感单元的序号;
之后,再通过式(3)进行标准化处理:
式中,σj表示第j个敏感单元的训练样本数据的标准差。
具体实施方式四:
与具体实施方式三不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤三中采用fastica算法对经过数据预处理后得到的训练样本进行ica分解,得到独立成分分量、合成矩阵和分离矩阵过程为:
采用fastica算法对步骤二中经过数据预处理后得到的训练样本进行ica分解,得到式(4)中所示的分离矩阵w:
式中,x_train表示正常工作状态下收集的n组训练样本数据;s表示独立成分分量,a表示合成矩阵。
具体实施方式五:
与具体实施方式四不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤四中按照各个独立成分分量的负熵值由大至小的顺序进行排序,把负熵值大于非高斯度阈值的独立成分分量作为主部,并确定对应主部的分离矩阵过程为:
按照各个独立成分分量的负熵值按照由大至小的顺序进行排序,把负熵值大于非高斯度阈值σmin的独立成分分量作为主部sd,对应主部分离矩阵为wd。
具体实施方式六:
与具体实施方式五不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤五中将独立成分分量的主部作为新的训练样本数据集的过程为:
将独立成分分量的主部sd作为新的训练样本数据集:
式中,snp表示sd中的元素;p表示主部中所包含的独立成分分量的数量,且一般来说p<<m。
具体实施方式七:
与具体实施方式六不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,步骤六所述的计算新的训练样本数据的统计量过程为:
按照式(6)计算第i个训练样本数据sd(i)=[si1,si2,...,sip]的统计量
式中,
具体实施方式八:
与具体实施方式七不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,步骤七所述的通过卡方分布计算步骤六的统计量的控制线,并确定显著度水平的控制线的表示方法的过程为:
通过卡方分布(chi-squaredistribution)计算上述统计量的控制线,将显著度水平为α的控制线确定为
具体实施方式九:
与具体实施方式八不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤八中对获得的待检测实时数据进行中心化和标准化的数据预处理过程为:
设待检测实时数据为x(q)=[xq1,xq2,...,xqm],对待检测实时数据通过(7)进行中心化处理:
式中,xqj表示第q个检测样本中第j个敏感单元的数据;
之后,通过式(8)进行标准化处理:
式中,σj表示第j个敏感单元的训练样本数据的标准差。
具体实施方式十:
与具体实施方式九不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,步骤九所述的计算待检测实时数据所对应的独立成分分量的过程为:
通过式(9)计算x(q)所对应的独立成分分量s(q):
s(q)=wd×x(q)(9)。
具体实施方式十一:
与具体实施方式十不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤十中计算待检测实时数据的统计量的过程为:
通过式(10)计算待检测实时数据的统计量
式中,
具体实施方式十二:
与具体实施方式十一不同的是,本实施方式的一种基于ica与knn的多源传感器故障检测方法,所述步骤十中判断步骤九得到的实时数据的统计量与步骤七确定的显著度水平的控制线的大小比较,若为大于关系,则确定多源传感器存在故障;否则传感器正常工作的过程为:
判断待检测实时数据的统计量
如果
否则传感器工作正常。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。