PCA故障诊断的Python实现

本篇介绍一个我做过的案例!PCA的理论基础就不介绍了(如果有需要请点击这里)

这篇文章主要是介绍一下程序的效果,完整程序请点击这下载!!!!!!!!!!!!!!!!!!!!!!!!!

1.程序执行完的效果图

                                                                                      图1 T^2统计量

                                                                                            图2 SPE统计量

结论:从以上两个图中可以清晰的看出有些测试点在基线(红线)的两侧,根据PCA诊断原理,我们能分析出:

T^2统计量和SPE统计量同时位于基线的上方才属于正常,否则属于故障。可以分析出前6个测试点属于正常,其他的属于故障。

2.主元的特征向量

3.测试点故障统计

本测试数据集为24*6大小,即一共24个测试点,其中6个正常点,18个故障点。在这将正常点认为是0,故障点认为是1.并将其保存在一个label文件中。

 

 

 

注:本文如若有错误或者涉及版权问题或原文链接错误,请指正,必会马上修改。

PCA异常检测是一种使用主成分分析(Principal Component Analysis,PCA)方法进行异常检测的技术。在Python中可以使用numpy、pandas和matplotlib等库进行数据处理和可视化。 首先,读取数据可以使用pandas的read_csv函数,例如: ``` import pandas as pd data = pd.read_csv('task1_data.csv') ``` 然后,对数据进行预处理,包括归一化等操作。接下来,使用PCA进行降维,可以通过设置n_components参数来指定目标维度值,例如将数据降维到8维: ``` from sklearn.decomposition import PCA pca = PCA(n_components=8) x_pca = pca.fit_transform(x_norm) ``` 在降维后,可以计算各成分投影数据方差和方差的比例: ``` var = pca.explained_variance_ var_ratio = pca.explained_variance_ratio_ ``` 对于比例占比,如果前两个维度的占比和接近0.8-0.9,可能信息已经足够了。但需要具体情况具体分析,看对结果有影响的重要信息是否有保留下来,因为并不是说不到0.8就不行。可以使用print函数输出结果: ``` print(var) print(var_ratio) print(sum(var_ratio)) ``` 以上就是使用PCA进行异常检测的Python代码实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python机器学习之异常检测与主成分分析](https://blog.csdn.net/weixin_55579895/article/details/123508174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值