孔海朋 劉韶慶
摘 ?要: 通過(guò)主成分分析方法,給出了高速動(dòng)車組車載數(shù)據(jù)的降維過(guò)程?;诘谌絥umpy庫(kù)和機(jī)器學(xué)習(xí)sklearn庫(kù),分別通過(guò)Python代碼實(shí)現(xiàn)了基于主成分分析的降維過(guò)程。通過(guò)對(duì)某高速動(dòng)車組數(shù)據(jù)的降維分析,兩種實(shí)現(xiàn)方式所得到的結(jié)果一致,都能夠?qū)崿F(xiàn)對(duì)高速動(dòng)車組車載數(shù)據(jù)的降維。
關(guān)鍵詞: 主成分分析;機(jī)器學(xué)習(xí);降維
中圖分類號(hào): TP3 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.01.024
本文著錄格式:孔海朋,劉韶慶. 基于Python的高速動(dòng)車組車載數(shù)據(jù)降維方法實(shí)現(xiàn)[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 ?引言
隨著中國(guó)高速鐵路“八縱八橫”偉業(yè)的快速發(fā)展,馳騁在中國(guó)大地上的高速動(dòng)車組也越來(lái)越多,極大地改善了人們的出行方式,但也給高速動(dòng)車組的運(yùn)維帶來(lái)了挑戰(zhàn)。為確保高速動(dòng)車組運(yùn)行的安全性、經(jīng)濟(jì)性,大量的數(shù)據(jù)需要被采集,實(shí)時(shí)監(jiān)控列車的運(yùn)行狀態(tài)。由于高速動(dòng)車組系統(tǒng)設(shè)計(jì)復(fù)雜,需要采集和檢測(cè)的數(shù)據(jù)量大,維度大。對(duì)于實(shí)時(shí)和離線分析工作帶來(lái)了維度災(zāi)難,有可能導(dǎo)致計(jì)算量的劇增,并且無(wú)法收斂。因此,通過(guò)一種有效的方法,即能反映數(shù)據(jù)之間關(guān)聯(lián)性的特征,又能將多維度的數(shù)據(jù)進(jìn)行降維,輔助高速動(dòng)車組運(yùn)行狀態(tài)在線和離線分析具有很重要的意義。
實(shí)現(xiàn)數(shù)據(jù)降維的方法種類眾多,文獻(xiàn)[1]對(duì)目前主流的數(shù)據(jù)降維方法進(jìn)行了分類,包括:(1)線性、非線性方法;(2)監(jiān)督、非監(jiān)督方法;(3)全局、局部方法[1]。但目前主流的降維方法主要由三種[2]:
(1)主成分分析法(Principal Component Ana?lysis,PCA):能夠反映數(shù)據(jù)特征的數(shù)據(jù)往往表現(xiàn)出較大的方差。因此PCA的本質(zhì)就是查找數(shù)據(jù)集中方差較大的特征數(shù)據(jù),忽略方差變化微小的數(shù)據(jù)。通過(guò)坐標(biāo)系變換,新坐標(biāo)軸的選擇基于方差的大小順序選擇,最終選擇能夠體現(xiàn)大部分方差的新坐標(biāo)系,從而實(shí)現(xiàn)數(shù)據(jù)的降維。
(2)因子分析(Factor Analysis,F(xiàn)A):被測(cè)試的數(shù)據(jù)集中往往包含某些觀察不到的隱變量(Latent Variable),但這些隱變量往往和要分析的特征數(shù)據(jù)具有線性或非線性的關(guān)系。并且隱變量的數(shù)目一般會(huì)少于數(shù)據(jù)集的維度。因此可以通過(guò)分析隱變量實(shí)現(xiàn)數(shù)據(jù)的降維。
(3)獨(dú)立成分分析(Independent Component Ana?lysis,ICA):該方法假設(shè)數(shù)據(jù)集是由相互獨(dú)立的多個(gè)數(shù)據(jù)源生成,而數(shù)據(jù)集的維度遠(yuǎn)遠(yuǎn)大于數(shù)據(jù)源的數(shù)目,類似因子分析,同樣可以實(shí)現(xiàn)數(shù)據(jù)的降維。
三種主流的降維方法中,PCA方法通用性強(qiáng),并且對(duì)數(shù)據(jù)集的要求較少,應(yīng)用最為廣泛。孫平安和王備戰(zhàn)介紹了主成分分析法的數(shù)據(jù)轉(zhuǎn)換原理,并詳細(xì)分析了PCA降維的處理過(guò)程以及維度選擇方法。并成功在ORL(Olivetti Research Laboratory人臉數(shù)據(jù)庫(kù),誕生于英國(guó)劍橋Olivetti實(shí)驗(yàn)室)人臉圖樣本庫(kù)中實(shí)現(xiàn)了人臉識(shí)別準(zhǔn)確度分析[1]。王梓杰等提出了一種故障趨勢(shì)預(yù)測(cè)方法,首先基于PCA實(shí)現(xiàn)原始軸承數(shù)據(jù)的特征降維,基于主成分時(shí)間序列數(shù)據(jù),通過(guò)隨機(jī)森林算法實(shí)現(xiàn)了故障趨勢(shì)預(yù)測(cè)[3]。劉帆洨等基于PCA對(duì)旅客購(gòu)票行為的特征屬性進(jìn)行降維分析,并通過(guò)聚類方法分析了高鐵旅客購(gòu)票行為的特征研究[4]。張曉濤和唐力偉等提出了一種基于半監(jiān)督PCA-LPP流行學(xué)習(xí)算法的故障降維辨識(shí)方法[5]。文獻(xiàn)[6-10]都利用了PCA對(duì)數(shù)據(jù)進(jìn)行了降維,大大提高了數(shù)據(jù)分析效率,并成功應(yīng)用于越來(lái)越多的領(lǐng)域。
本文的組織結(jié)構(gòu)如下:首先給出了數(shù)據(jù)降維在高速動(dòng)車組數(shù)據(jù)分析中的作用和意義,并分析了目前主流的數(shù)據(jù)降維方法。第二節(jié)給出了PCA的具體實(shí)現(xiàn)步驟。第三節(jié)對(duì)比和分析了基于Python的兩種PCA實(shí)現(xiàn)方法。第四節(jié)給出了兩種PCA方法的具體應(yīng)用實(shí)例。最后對(duì)本文進(jìn)行了總結(jié)。
1 ?主成分分析降維流程
主成分分析法, 是一種數(shù)據(jù)壓縮方法,是機(jī)器學(xué)習(xí)中主流的降維方法[1,2]。PCA的本質(zhì)是通過(guò)協(xié)方差分析數(shù)據(jù)維度之間的關(guān)系。
在概率論和統(tǒng)計(jì)學(xué)中,衡量?jī)蓚€(gè)變量的總體誤差是通過(guò)協(xié)方差來(lái)實(shí)現(xiàn)。其定義如下:
其中, 和 分別為變量X和Y的期望。 為他們的協(xié)方差。協(xié)方差為正時(shí),X和Y為正相關(guān)關(guān)系。反之,為負(fù)代表負(fù)相關(guān)。協(xié)方差矩陣由各個(gè)維度之間的協(xié)方差組成的矩陣。可知,協(xié)方差矩陣為方陣,且維度是樣本的維度。
3 ?運(yùn)行實(shí)例分析
由于動(dòng)車組與運(yùn)行安全息息相關(guān),需對(duì)所有車軸、牽引電機(jī)等旋轉(zhuǎn)部件進(jìn)行速度采集監(jiān)測(cè)。但所采集的速度信號(hào)相關(guān)性較高,在對(duì)車輛故障診斷時(shí),需對(duì)其進(jìn)行降維處理。本節(jié)基于第三節(jié)所述的PCA降維方法,針對(duì)高速動(dòng)車組車載速度信號(hào),進(jìn)行降維分析。選取某列高速動(dòng)車組車載速度信號(hào),部分?jǐn)?shù)據(jù)如表1所示。
3.1 ?按照主成分占比進(jìn)行降維
分別采用第三節(jié)所述方法,選取貢獻(xiàn)率占比99%以上的主成分進(jìn)行降維。結(jié)果如圖2所示。
基于運(yùn)行結(jié)果,兩種方法所得到的降維后的主成分貢獻(xiàn)率相同。如表2所示。第一維主成分方差值為1.838819,第二維方差值為0.020056。前兩個(gè)維度的貢獻(xiàn)率占比99.18%。
3.2 ?按照指定維度進(jìn)行降維
按照貢獻(xiàn)率占比進(jìn)行降維可以發(fā)現(xiàn),第一維貢獻(xiàn)率遠(yuǎn)遠(yuǎn)高于第二維。因此,以降維維度為參數(shù),重新調(diào)用兩種降維方法進(jìn)行分析。結(jié)果如下表所示。
通過(guò)降維結(jié)果可以看出,無(wú)論以貢獻(xiàn)率或降維維度為輸入,兩種方法運(yùn)行結(jié)果相同,都能實(shí)現(xiàn)PCA降維。
4 ?結(jié)論
本文基于主成分分析法實(shí)現(xiàn)對(duì)高速動(dòng)車組車載數(shù)據(jù)的降維。利用Python代碼,分別通過(guò)第三方numpy庫(kù)和機(jī)器學(xué)習(xí)sklearn庫(kù)實(shí)現(xiàn)了主成分分析的降維過(guò)程?;谀沉懈咚賱?dòng)車組所采集的車載速度數(shù)據(jù)進(jìn)行降維分析,兩種方式所得到的結(jié)果一致。通過(guò)numpy庫(kù)的實(shí)現(xiàn)方式,更便于理解PCA的實(shí)現(xiàn)過(guò)程。通過(guò)sklearn機(jī)器學(xué)習(xí)庫(kù)的實(shí)現(xiàn)方式,代碼更簡(jiǎn)易。無(wú)論采用哪種方式,都可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的降維。
參考文獻(xiàn)
[1] 孫平安, 王備戰(zhàn). 機(jī)器學(xué)習(xí)中的PCA降維方法研究及其應(yīng)用[J]. 湖南工業(yè)大學(xué)學(xué)報(bào), 2019, 33(01): 80-85.
[2] Peter Harrington. Machine Learning in Action[M]. Manning, 2012
[3] 王梓杰, 周新志, 寧芊. 基于PCA和隨機(jī)森林的故障趨勢(shì)預(yù)測(cè)方法研究[J]. 計(jì)算機(jī)測(cè)量與控制, 2018, 26(02): 21-23+26.
[4] 劉帆洨, 彭其淵, 梁宏斌, 傅志堅(jiān), 張斌. 基于PCA-聚類分析的高鐵旅客購(gòu)票行為特性研究[J]. 交通運(yùn)輸系統(tǒng)工程與信息, 2017, 17(06): 126-132.
[5] 侯秀峰. 高速公路瀝青路面使用性能評(píng)價(jià)[J]. 中國(guó)公路, 2017(12): 90-91.
[6] 劉鴻斌, 李祥宇, 楊沖. 基于PCA降維模型的造紙廢水處理過(guò)程軟測(cè)量建模[J]. 中國(guó)造紙學(xué)報(bào), 2018, 33(04): 50-57.
[7] 姜健. 基于改進(jìn)PCA算法的航空發(fā)動(dòng)機(jī)狀態(tài)診斷模型[J]. 燃?xì)鉁u輪試驗(yàn)與研究, 2017, 30(02): 32-36.
[8] 王磊, 鄧曉剛, 徐瑩, 鐘娜. 基于變量子域PCA的故障檢測(cè)方法[J]. 化工學(xué)報(bào), 2016, 67(10): 4300-4308.
[9] 姜健. 基于改進(jìn)PCA算法的航空發(fā)動(dòng)機(jī)狀態(tài)診斷模型[J]. 燃?xì)鉁u輪試驗(yàn)與研究, 2017, 30(02): 32-36.
[10] 譚念, 孫一丹, 王學(xué)順, 黃安民, 謝冰峰. 基于主成分分析和支持向量機(jī)的木材近紅外光譜樹(shù)種識(shí)別研究[J]. 光譜學(xué)與光譜分析, 2017, 37(11): 3370-3374.