張亞偉,陳瑞鳳,徐春婕,楊國元,呂曉軍,方 凱
(中國鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081)
智能高鐵已成為目前鐵路運(yùn)輸領(lǐng)域的發(fā)展方向,推進(jìn)智能車站的建設(shè)是構(gòu)建智能高鐵的重要組成部分。鐵路客運(yùn)站作為城市間重要的橋梁,智能化體驗(yàn)、舒適旅行也成為了人們所追求的目標(biāo)。某些大型客運(yùn)站人流進(jìn)出量大,容易出現(xiàn)人流密集、擁擠的情況,而其內(nèi)部的空氣環(huán)境直接影響著旅客舒適度的體驗(yàn),尤其是溫度成為了環(huán)境指數(shù)中重要的物理量。站內(nèi)風(fēng)水系統(tǒng)的調(diào)節(jié)直接受環(huán)境溫度影響,隨著環(huán)境溫度高低的變化,風(fēng)水系統(tǒng)可提前調(diào)節(jié)為合適的大小,從而可達(dá)到最佳的旅客感知體驗(yàn)。站內(nèi)溫度受多方面環(huán)境因素影響,包括濕度、二氧化碳(CO2)濃度、PM2.5、PM10等參數(shù),本文基于站內(nèi)環(huán)境特征變量參數(shù),結(jié)合模型算法重點(diǎn)研究站內(nèi)環(huán)境溫度的預(yù)測問題。
基于數(shù)學(xué)建模的預(yù)測方法種類繁多,如單耗法、彈性系數(shù)法、統(tǒng)計(jì)分析法、灰色預(yù)測法等[1]。針對不同預(yù)測內(nèi)容的特點(diǎn)會(huì)選擇相應(yīng)的預(yù)測方法建立預(yù)測模型。對于中短期預(yù)測,近似于指數(shù)增長的預(yù)測,可選用灰色預(yù)測模型。對于時(shí)間序列問題,傳統(tǒng)方法有指數(shù)平滑法、自回歸積分滑動(dòng)平均ARIMA模型算法,LSTM模型算法等[2],這些方法對具有周期性規(guī)律的數(shù)據(jù)預(yù)測有較好的效果。對于多因子影響的預(yù)測問題,可用BP、GBDT等機(jī)器學(xué)習(xí)算法[3]。文獻(xiàn)[2-3]采用分位數(shù)回歸法、改變學(xué)習(xí)速率法對LSTM模型進(jìn)行了改進(jìn),并應(yīng)用于用電負(fù)荷與股價(jià)趨勢預(yù)測。文獻(xiàn)[4]采用時(shí)間序列分析ARIMA模型對局部地區(qū)的季節(jié)性氣溫進(jìn)行了預(yù)測。另外,基于GBDT模型改進(jìn)的梯度提升算法如XGBoost、LightGBM模型,具有訓(xùn)練速度快、占用內(nèi)存小的特點(diǎn),也得到了相關(guān)預(yù)測的應(yīng)用。車站環(huán)境溫度值有兩個(gè)特點(diǎn):(1)一種時(shí)間序列,即數(shù)據(jù)會(huì)隨時(shí)間發(fā)展而展現(xiàn)出一種規(guī)律性,受季節(jié)與白天黑夜的影響呈現(xiàn)一種周期性波動(dòng);(2)規(guī)律之中又有其特殊性,如會(huì)受濕度值、PM2.5、CO2等環(huán)境因素的影響而發(fā)生波動(dòng),對于車站人員密集場所,這些因素的影響會(huì)更大,單獨(dú)使用上述算法缺乏對車站環(huán)境溫度的整體預(yù)測感知能力。
針對車站環(huán)境溫度的特點(diǎn),本文將LSTM與LightGBM模型進(jìn)行組合,充分利用車站環(huán)境特征變量對站內(nèi)環(huán)境溫度進(jìn)行預(yù)測。該組合模型能夠結(jié)合LSTM與LightGBM模型各自的特點(diǎn),既可挖掘長時(shí)數(shù)據(jù)之間的內(nèi)在關(guān)系,又可避免非連續(xù)性以及波動(dòng)數(shù)據(jù)對預(yù)測精度的不良影響[4]。
LSTM是一種特殊的RNN網(wǎng)絡(luò),RNN會(huì)存在梯度消失和梯度爆炸的問題,LSTM通過cell門開關(guān)實(shí)現(xiàn)時(shí)間上的記憶功能,并防止梯度消失,可以學(xué)習(xí)長期依賴信息,讓信息長期保存,解決RNN的缺陷問題[5],其算法結(jié)構(gòu)如圖1。LSTM的當(dāng)前輸入xt和上一個(gè)狀態(tài)傳遞下來的ht-1拼接訓(xùn)練可以得到四個(gè)狀態(tài),狀態(tài)公式如下:
圖1 LSTM算法結(jié)構(gòu)圖
(1)
(2)
zf=σ(wfxtht-1)
(3)
(4)
式(2)~(4)的zi,zf,zo是由拼接向量乘以權(quán)重矩陣之后,再通過一個(gè)sigmoid 激活函數(shù)轉(zhuǎn)換成0到1之間的數(shù)值,作為一種門控狀態(tài)。公式(1)中z是將結(jié)果通過tanh激活函數(shù)轉(zhuǎn)換成-1到1之間的值?!咽遣僮骶仃囍袑?yīng)的元素相乘,要求兩個(gè)相乘矩陣是同型的[6]。⊕代表矩陣加法。ct、ht、yt計(jì)算公式如下:
ct=zf⊙ct-1+zi⊙z
(5)
ht=zo⊙tanh(ct)
(6)
yt=σ(Wfht)
(7)
LSTM模型計(jì)算過程主要分為三個(gè)階段:忘記階段、輸入階段、輸出階段。忘記階段即“忘記”之前沒用的信息。遺忘門會(huì)根據(jù)當(dāng)前時(shí)刻節(jié)點(diǎn)的輸入xt、上一時(shí)刻節(jié)點(diǎn)的狀態(tài)ct-1和上一時(shí)刻節(jié)點(diǎn)的輸出ht-1來決定哪些信息將被遺忘[7]。輸入階段決定當(dāng)前輸入數(shù)據(jù)哪些信息被留下來。主要對輸入xt進(jìn)行選擇記憶。當(dāng)前輸入內(nèi)容由公式(1)z得出,選擇門控信號(hào)由zi來進(jìn)行控制。由公式(1)、(2)、(3)可得到傳輸給下一個(gè)狀態(tài)的ct,即公式(5)。輸出階段確定輸出值。LSTM在得到最新節(jié)點(diǎn)狀態(tài)ct后,結(jié)合上一時(shí)刻節(jié)點(diǎn)輸出ht-1和當(dāng)前時(shí)刻節(jié)點(diǎn)的輸入xt來決定當(dāng)前時(shí)刻節(jié)點(diǎn)的輸出yt,通過公式(6)的ht變化得到公式(7)。其中公式(6)中zo來進(jìn)行控制,并對狀態(tài)ct進(jìn)行了縮放(通過tanh激活函數(shù)進(jìn)行變化)[8]。
LightGBM是基于決策樹算法的分布式梯度提升GBDT框架,在大訓(xùn)練樣本和高維度特征的數(shù)據(jù)環(huán)境下,GBDT算法的性能以及準(zhǔn)確性會(huì)面臨極大的挑戰(zhàn)。為了解決此問題,LightGBM應(yīng)運(yùn)而生。LightGBM具有訓(xùn)練速度快、內(nèi)存占用少、準(zhǔn)確率高、支持并行化學(xué)習(xí)、可處理大規(guī)模數(shù)據(jù)的特點(diǎn)[9]。
LightGBM在梯度算法中主要采用了一些優(yōu)化算法:
1) 單邊梯度采樣算法(GOSS):LightGBM使用GOSS算法進(jìn)行訓(xùn)練樣本采樣的優(yōu)化。GOSS算法的基本思想是首先對訓(xùn)練集數(shù)據(jù)根據(jù)梯度排序,預(yù)設(shè)一個(gè)比例,保留在所有樣本中梯度高于比例的數(shù)據(jù)樣本;梯度低于該比例的數(shù)據(jù)樣本不會(huì)直接丟棄,而是設(shè)置一個(gè)采樣比例,從梯度較小的樣本中按比例抽取樣本。為了彌補(bǔ)對樣本分布造成的影響,GOSS算法在計(jì)算信息增益時(shí),會(huì)對較小梯度的數(shù)據(jù)集乘以一個(gè)系數(shù)用來放大。在計(jì)算信息增益時(shí),算法可以更加關(guān)注“未被充分訓(xùn)練”的樣本數(shù)據(jù)。
2) EFB算法(Exclusive Feature Bundling):LightGBM算法不僅通過GOSS算法對訓(xùn)練樣本進(jìn)行采樣優(yōu)化,也進(jìn)行了特征抽取,以進(jìn)一步優(yōu)化模型的訓(xùn)練速度。EFB算法可以將數(shù)據(jù)集中互斥的特征綁定在一起,形成低維的特征集合,能夠有效避免對0值特征的計(jì)算。在算法中,可以對每個(gè)特征建立一個(gè)記錄非零值特征的表格。通過對表中數(shù)據(jù)的掃描,可以有效降低創(chuàng)建直方圖的時(shí)間復(fù)雜度。
3) 直方圖算法(Histogram):LightGBM采用了基于直方圖的算法,將連續(xù)的特征值離散化成了K個(gè)整數(shù),構(gòu)造寬度為K的直方圖,遍歷訓(xùn)練數(shù)據(jù),統(tǒng)計(jì)每個(gè)離散值在直方圖中的累積統(tǒng)計(jì)量。在選取特征的分裂點(diǎn)時(shí),只需要遍歷排序直方圖的離散值。使用直方圖算法降低了算法的計(jì)算代價(jià),同時(shí)降低了算法的內(nèi)存消耗。
4) 按葉子生長(leaf-wise)算法:大多數(shù)決策樹學(xué)習(xí)算法的樹生成方式都采用按層生長(level-wise)的策略[10],如圖2所示。
圖2 level-wise策略圖
LightGBM采用一種更為高效的按葉子生長(leaf-wise)策略算法,如圖3所示。該策略每次從當(dāng)前決策樹所有的葉子節(jié)點(diǎn)中,找到分裂增益最大的一個(gè)葉子節(jié)點(diǎn)進(jìn)行分裂,如此循環(huán)往復(fù)。該機(jī)制減少了對增益較低的葉子節(jié)點(diǎn)的分裂計(jì)算。與level-wise策略相比,在分裂次數(shù)相同的情況下,leaf-wise可以降低誤差,得到更好的精度。Leaf-wise算法的缺點(diǎn)是可能會(huì)生成較深的決策樹。因此,LightGBM在leaf-wise上增加了限制最大深度的參數(shù),在保證算法高效的同時(shí),防止過擬合[11]。
圖3 leaf-wise策略圖
基于LSTM-LightGBM組合模型對溫度進(jìn)行預(yù)測的流程圖如下,其中環(huán)境特征變量為濕度、二氧化碳、PM2.5、PM10,環(huán)境傳感器數(shù)據(jù)除上述4種環(huán)境特征變量外還包含溫度值。
圖4 LSTM-LightGBM算法流程圖
數(shù)據(jù)來源為京張線清河站環(huán)境傳感器獲取的兩日內(nèi)145條數(shù)據(jù),包含溫度(Temprature)、濕度(humidity)、二氧化碳(CO2)、PM2.5、PM10數(shù)據(jù)。表1所示為采集數(shù)據(jù)的前5行:
表1 環(huán)境傳感器采集數(shù)據(jù)
由于輸入、輸出變量值差異較大,先做歸一化處理,以減小所得結(jié)果誤差[12]。采用min-max標(biāo)準(zhǔn)化方法,將數(shù)據(jù)映射到[0,1]之間,如公式(10)所示:
(10)
其中:xmax為樣本數(shù)據(jù)的最大值,xmin為樣本數(shù)據(jù)的最小值。歸一化后的數(shù)據(jù)前五行如表2所示。
表2 歸一化樣本
3.2.1 構(gòu)造LSTM訓(xùn)練模型
首先將輸入數(shù)據(jù)整理成LSTM所需的三維結(jié)構(gòu),表示為(TrainX, SeqLen, Dim_in)第一個(gè)維度TrainX表示對應(yīng)樣本,第二個(gè)維度SeqLen表示該樣本所采集的序列數(shù)據(jù)(指定序列長度),第三個(gè)維度Dim_in表示對應(yīng)的特征維度,本文數(shù)據(jù)集環(huán)境特征變量為4個(gè),因此Dim_in取4。按照此三維結(jié)構(gòu)形式將數(shù)據(jù)集劃分為訓(xùn)練集和測試集[13]。
第二,構(gòu)建LSTM模型。模型結(jié)構(gòu)表示為(Units, Input_Shape, Activation, Recurrent_dropout)。Units為隱含層神經(jīng)元個(gè)數(shù),Input_Shape為輸入數(shù)據(jù)集的結(jié)構(gòu)形式,Activation為激活函數(shù),Recurrent_dropout為學(xué)習(xí)率。分析數(shù)據(jù)集樣本大小和特點(diǎn),得到最佳模型取值。本文Units取45,Activation取“relu”,Recurrent_dropout為0.01。
第三,訓(xùn)練LSTM模型。訓(xùn)練模型結(jié)構(gòu)為(X_Train, Y_Train, Epochs, Batch_Size, Validation_Split)。 X_Train, Y_Train為模型訓(xùn)練數(shù)據(jù);Epochs為迭代次數(shù);Batch_Size為批處理樣本數(shù);Validation_Split為訓(xùn)練驗(yàn)證集分割比例。訓(xùn)練模型參數(shù)的取值是基于先驗(yàn)知識(shí)與大量實(shí)驗(yàn)得出,本文Epochs取值為100,Batch_Size為16,Validation_Split為0.8[14]。
3.2.2 構(gòu)造LightGBM訓(xùn)練模型
將數(shù)據(jù)集劃分為訓(xùn)練集和驗(yàn)證集,設(shè)置訓(xùn)練集和驗(yàn)證集比例系數(shù)為0.8。模型的參數(shù)設(shè)置是基于先驗(yàn)知識(shí)以及大量的實(shí)驗(yàn),針對所用實(shí)驗(yàn)數(shù)據(jù),LightGBM訓(xùn)練模型的核心參數(shù)設(shè)置如下[15]:
objective:任務(wù)類型??蛇x任務(wù)類型為regression(回歸)、binary(二分類)、multiclass(多分類)等。本文任務(wù)是進(jìn)行預(yù)測,設(shè)置為regression。
num_leaves: 葉節(jié)點(diǎn)的數(shù)目。該參數(shù)決定樹模型的復(fù)雜度,越大會(huì)越準(zhǔn)確,但可能過擬合,該參數(shù)設(shè)置為120。
max_depth: 控制了樹的最大深度。該參數(shù)可以顯式的限制樹的深度。一般設(shè)置為不大于log2(num_leaves)的值,本文設(shè)置為7。
min_data_in_leaf: 每個(gè)葉節(jié)點(diǎn)的最少樣本數(shù)量。它是處理leaf-wise樹的過擬合的重要參數(shù)。將它設(shè)為較大的值,可以避免生成一個(gè)過深的樹,但是也可能導(dǎo)致欠擬合。本文設(shè)置為16。
learning_rate:訓(xùn)練模型的學(xué)習(xí)率。較大的學(xué)習(xí)率會(huì)加快收斂速度,但是會(huì)降低準(zhǔn)確率,默認(rèn)為0.1。針對數(shù)據(jù)集的大小可調(diào)整學(xué)習(xí)率,本文設(shè)置為0.05。
num_boost_round:迭代次數(shù)。設(shè)置為1 000[16]。
3.2.3 LSTM-LightGBM組合模型預(yù)測
將環(huán)境特征變量濕度、二氧化碳、PM2.5、PM10數(shù)據(jù)輸入LSTM訓(xùn)練模型,可計(jì)算出每個(gè)環(huán)境特征變量的預(yù)測值。該多維預(yù)測值作為輸入變量,輸入LightGBM模型,由此可得出溫度預(yù)測值。
3.2.4 實(shí)驗(yàn)評價(jià)標(biāo)準(zhǔn)
(9)
選取環(huán)境特征變量24條數(shù)據(jù)(即2小時(shí))輸入LSTM模型,所得預(yù)測結(jié)果如圖5,四幅圖為每個(gè)環(huán)境特征變量的預(yù)測結(jié)果。從圖中可看出LSTM模型對于有突變的尖峰預(yù)測靈敏度較差,但是可以將數(shù)據(jù)的整體上升下降趨勢預(yù)測出來[18]。表3為環(huán)境特征變量預(yù)測值與真實(shí)值的RMSE。
圖5 LSTM環(huán)境特征變量預(yù)測結(jié)果
humidityCO2PM2.5PM10RMSE9.8111.230.8826.39
圖6 LSTM-LightGBM溫度預(yù)測結(jié)果
將LSTM模型已預(yù)測的濕度、二氧化碳、PM2.5、PM10數(shù)據(jù)輸入LightGBM訓(xùn)練模型,所得溫度預(yù)測值如圖6。兩模型預(yù)測結(jié)果RMSE分別為0.82和1.35。從圖中可看出,LSTM-LightGBM組合模型比LSTM模型結(jié)果更接近原始波形,LSTM-LightGBM組合模型對波形突變有更好的響應(yīng),能反應(yīng)出環(huán)境特征變量所引起的溫度變化。
本文利用LightGBM自帶的輸入變量重要性判別函數(shù)對環(huán)境特征變量的重要性做了對比,結(jié)果如表4與圖7。表5對環(huán)境特征變量的重要性用數(shù)值進(jìn)行量化,重要性代表特征值在訓(xùn)練過程中使用的平均次數(shù)[19],圖7以折線圖形式呈現(xiàn)。可以看出,二氧化碳和PM10對預(yù)測結(jié)果有較大影響。
表4 環(huán)境特征變量重要性比對
圖7 環(huán)境特征變量重要性比對折線圖
本文基于客運(yùn)火車站重點(diǎn)區(qū)域的環(huán)境傳感器實(shí)際數(shù)據(jù),采用預(yù)測算法對車站溫度值進(jìn)行預(yù)測分析。首先利用LSTM模型分別對濕度、二氧化碳、PM2.5、PM10四項(xiàng)環(huán)境特征變量進(jìn)行預(yù)測。再利用LSTM模型預(yù)測的四項(xiàng)環(huán)境特征變量輸入LightGBM模型對溫度值進(jìn)行預(yù)測。通過對比單獨(dú)使用LSTM模型與使用LSTM-LightGBM組合模型對溫度的預(yù)測結(jié)果,得出LSTM-LightGBM組合模型的預(yù)測值有更低的RMSE,其預(yù)測波形趨勢更接近原始波形。
本文研究內(nèi)容可應(yīng)用于車站重點(diǎn)區(qū)域環(huán)境溫度的預(yù)測,可為工作人員提供輔助決策手段,如通過預(yù)測值提前設(shè)定站內(nèi)風(fēng)水系統(tǒng)的空調(diào)溫度值與通風(fēng)量大小,從而提升區(qū)域舒適度,減少能耗[20]。最后,本文的算法仍有研究空間,如訓(xùn)練數(shù)據(jù)量大小對模型的影響,不同環(huán)境特征變量的預(yù)測對車站節(jié)能、舒適度的影響等。