基于Python的高速动车组车载数据降维方法实现

2020-03-02 11:36孔海朋刘韶庆
软件 2020年1期
关键词:机器学习降维主成分分析

孔海朋 刘韶庆

摘  要: 通过主成分分析方法,给出了高速动车组车载数据的降维过程。基于第三方numpy库和机器学习sklearn库,分别通过Python代码实现了基于主成分分析的降维过程。通过对某高速动车组数据的降维分析,两种实现方式所得到的结果一致,都能够实现对高速动车组车载数据的降维。

关键词: 主成分分析;机器学习;降维

中图分类号: TP3    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.01.024

本文著錄格式:孔海朋,刘韶庆. 基于Python的高速动车组车载数据降维方法实现[J]. 软件,2020,41(01):114117

【Abstract】: The paper puts forward dimension reduction process of on-board data of high-speed EMU based on principal component analysis method. Based on the third-party numpy library and machine learning sklearner library, it realizes dimension reduction process based on principal component analysis through Python code. Through dimension reduction analysis of high-speed EMU data, results of two methods are identical, which can both achieve dimension reduction of the on-board data of high-speed EMU.

【Key words】: Principal component analysis; Machine learning; Dimension reduction

0  引言

随着中国高速铁路“八纵八横”伟业的快速发展,驰骋在中国大地上的高速动车组也越来越多,极大地改善了人们的出行方式,但也给高速动车组的运维带来了挑战。为确保高速动车组运行的安全性、经济性,大量的数据需要被采集,实时监控列车的运行状态。由于高速动车组系统设计复杂,需要采集和检测的数据量大,维度大。对于实时和离线分析工作带来了维度灾难,有可能导致计算量的剧增,并且无法收敛。因此,通过一种有效的方法,即能反映数据之间关联性的特征,又能将多维度的数据进行降维,辅助高速动车组运行状态在线和离线分析具有很重要的意义。

实现数据降维的方法种类众多,文献[1]对目前主流的数据降维方法进行了分类,包括:(1)线性、非线性方法;(2)监督、非监督方法;(3)全局、局部方法[1]。但目前主流的降维方法主要由三种[2]:

(1)主成分分析法(Principal Component Ana?lysis,PCA):能够反映数据特征的数据往往表现出较大的方差。因此PCA的本质就是查找数据集中方差较大的特征数据,忽略方差变化微小的数据。通过坐标系变换,新坐标轴的选择基于方差的大小顺序选择,最终选择能够体现大部分方差的新坐标系,从而实现数据的降维。

(2)因子分析(Factor Analysis,FA):被测试的数据集中往往包含某些观察不到的隐变量(Latent Variable),但这些隐变量往往和要分析的特征数据具有线性或非线性的关系。并且隐变量的数目一般会少于数据集的维度。因此可以通过分析隐变量实现数据的降维。

(3)独立成分分析(Independent Component Ana?lysis,ICA):该方法假设数据集是由相互独立的多个数据源生成,而数据集的维度远远大于数据源的数目,类似因子分析,同样可以实现数据的降维。

三种主流的降维方法中,PCA方法通用性强,并且对数据集的要求较少,应用最为广泛。孙平安和王备战介绍了主成分分析法的数据转换原理,并详细分析了PCA降维的处理过程以及维度选择方法。并成功在ORL(Olivetti Research Laboratory人脸数据库,诞生于英国剑桥Olivetti实验室)人脸图样本库中实现了人脸识别准确度分析[1]。王梓杰等提出了一种故障趋势预测方法,首先基于PCA实现原始轴承数据的特征降维,基于主成分时间序列数据,通过随机森林算法实现了故障趋势预测[3]。刘帆洨等基于PCA对旅客购票行为的特征属性进行降维分析,并通过聚类方法分析了高铁旅客购票行为的特征研究[4]。张晓涛和唐力伟等提出了一种基于半监督PCA-LPP流行学习算法的故障降维辨识方法[5]。文献[6-10]都利用了PCA对数据进行了降维,大大提高了数据分析效率,并成功应用于越来越多的领域。

本文的组织结构如下:首先给出了数据降维在高速动车组数据分析中的作用和意义,并分析了目前主流的数据降维方法。第二节给出了PCA的具体实现步骤。第三节对比和分析了基于Python的两种PCA实现方法。第四节给出了两种PCA方法的具体应用实例。最后对本文进行了总结。

1  主成分分析降维流程

主成分分析法, 是一种数据压缩方法,是机器学习中主流的降维方法[1,2]。PCA的本质是通过协方差分析数据维度之间的关系。

在概率论和统计学中,衡量两个变量的总体误差是通过协方差来实现。其定义如下:

其中, 和 分别为变量X和Y的期望。 为他们的协方差。协方差为正时,X和Y为正相关关系。反之,为负代表负相关。协方差矩阵由各个维度之间的协方差组成的矩阵。可知,协方差矩阵为方阵,且维度是样本的维度。

3  运行实例分析

由于动车组与运行安全息息相关,需对所有车轴、牵引电机等旋转部件进行速度采集监测。但所采集的速度信号相关性较高,在对车辆故障诊断时,需对其进行降维处理。本节基于第三节所述的PCA降维方法,针对高速动车组车载速度信号,进行降维分析。选取某列高速动车组车载速度信号,部分数据如表1所示。

3.1  按照主成分占比进行降维

分别采用第三节所述方法,选取贡献率占比99%以上的主成分进行降维。结果如图2所示。

基于运行结果,两种方法所得到的降维后的主成分贡献率相同。如表2所示。第一维主成分方差值为1.838819,第二维方差值为0.020056。前两个维度的贡献率占比99.18%。

3.2  按照指定维度进行降维

按照贡献率占比进行降维可以发现,第一维贡献率远远高于第二维。因此,以降维维度为参数,重新调用两种降维方法进行分析。结果如下表所示。

通过降维结果可以看出,无论以贡献率或降维维度为输入,两种方法运行结果相同,都能实现PCA降维。

4  结论

本文基于主成分分析法实现对高速动车组车载数据的降维。利用Python代码,分别通过第三方numpy库和机器学习sklearn库实现了主成分分析的降维过程。基于某列高速动车组所采集的车载速度数据进行降维分析,两种方式所得到的结果一致。通过numpy库的实现方式,更便于理解PCA的实现过程。通过sklearn机器学习库的实现方式,代码更简易。无论采用哪种方式,都可以实现对数据的降维。

参考文献

[1] 孙平安, 王备战. 机器学习中的PCA降维方法研究及其应用[J]. 湖南工业大学学报, 2019, 33(01): 80-85.

[2] Peter Harrington. Machine Learning in Action[M]. Manning, 2012

[3] 王梓杰, 周新志, 宁芊. 基于PCA和随机森林的故障趋势预测方法研究[J]. 计算机测量与控制, 2018, 26(02): 21-23+26.

[4] 刘帆洨, 彭其渊, 梁宏斌, 傅志坚, 张斌. 基于PCA-聚类分析的高铁旅客购票行为特性研究[J]. 交通运输系统工程与信息, 2017, 17(06): 126-132.

[5] 侯秀峰. 高速公路沥青路面使用性能评价[J]. 中国公路, 2017(12): 90-91.

[6] 刘鸿斌, 李祥宇, 杨冲. 基于PCA降维模型的造纸废水处理过程软测量建模[J]. 中国造纸学报, 2018, 33(04): 50-57.

[7] 姜健. 基于改进PCA算法的航空发动机状态诊断模型[J]. 燃气涡轮试验与研究, 2017, 30(02): 32-36.

[8] 王磊, 邓晓刚, 徐莹, 钟娜. 基于变量子域PCA的故障检测方法[J]. 化工学报, 2016, 67(10): 4300-4308.

[9] 姜健. 基于改进PCA算法的航空发动机状态诊断模型[J]. 燃气涡轮试验与研究, 2017, 30(02): 32-36.

[10] 譚念, 孙一丹, 王学顺, 黄安民, 谢冰峰. 基于主成分分析和支持向量机的木材近红外光谱树种识别研究[J]. 光谱学与光谱分析, 2017, 37(11): 3370-3374.

猜你喜欢
机器学习降维主成分分析
混动成为降维打击的实力 东风风神皓极
降维打击
主成分分析法在大学英语写作评价中的应用
前缀字母为特征在维吾尔语文本情感分类中的研究
江苏省客源市场影响因素研究
SPSS在环境地球化学中的应用
基于支持向量机的金融数据分析研究
抛物化Navier-Stokes方程的降维仿真模型
基于特征联合和偏最小二乘降维的手势识别