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