| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 基于PCA的故障诊断方法(matlab) -> 正文阅读 |
|
[数据结构与算法]基于PCA的故障诊断方法(matlab) |
1. PCA原理分析PCA的原理主要是将原始数据进行降维。其具体工作原理参照:CodingLabs - PCA的数学原理 2. 数据预处理?训练数据集(只有正样本)为维数据,即有n个采样值,每个采样值有m个特征。 2.1 数据归一化将数据X针对每个特征归一化为均值为0,均方根为1的数据。 其中: 3. PCA降维3.1 首先求取协方差矩阵协方差矩阵的公式为: 计算出来的协方差矩阵为特征m*m维矩阵。 3.2 求取特征值和特征向量求取协方差矩阵R的特征值和特征向量,并将特征值按照从大到小的顺序排列 将特征向量按照特征值重新排列后得到: 3.3 选择合适的k个特征进行PCA降维可以选择特征值累计大于85%的前k个特征进行PCA降维 令前k个从大到小的特征值构成对角矩阵,k个对应的特征向量组成将为矩阵。即: PCA降维后,样本数目仍为n个采样,但是特征数目变为k,降维公式为: 将X进行重构后得到的X‘的矩阵的计算公式为: 4. 求取统计量限值4.1?统计量4.1.1?统计量的计算公式:其中是置信度,是服从第一自由度为k,第二自由度为n-k的F分布,通常取0.01。 另外强调一点是:n是训练数据集的采样数,k为PCA后选择的特征的数量。 ?4.1.2? 计算测试数据的统计量计算测试数据每个采样值的值。假设测试样本中的一个采样值为1*m的一个采样值,该采样值同样经过训练样本的均值和方差进行归一化(注意此处均值和方差使用训练样本的均值和方差,而不是选择训练数据的样本和方差),其计算公式为: 另外的计算公式也可以简化为: 其中表示对角矩阵中的每个元素取-1/2指数,表示2范数的平方。 4.1.3 故障判定如系统正常运行,则样本的值应该满足T,否则则认为出现故障。 4.2 SPE统计量(也称Q统计量)4.2.1 SPE控制量限值的计算其中: 是标准正态分布的置信极限。 4.2.2 计算测试数据的SPE值测试数据选择和计算相同的采样值,同样做相同的归一化处理。 4.3.3 判断是否发生故障?如果系统正常运行,则样本的SPE值应满足,否则,可认定发生故障。 5. matlab实现
?训练数据为自己创建的x1,x2,x3和x4,其中x4是和x2,x3相关的变量。测试数据和训练数据完全一致,只不过在第50个数据后在x2上添加了故障。 得到的结果如下: 从上图可以明显看出测试数据在第50个数据开始,T2和SPE值都超限,证明发生故障。? ?通过贡献图分析,可以看出变量2为故障发生点,与实际情况相符。对于故障发生点还有更精细的方法。此处不做深究。 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 7:25:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |