孫志偉 賈洪川 馬永軍
(天津科技大學計算機科學與信息工程學院 天津 300457)
時間序列是按時間順序記錄的一組數據,通常是在等間隔時間內,根據一定的采樣率對某種過程進行觀測的結果[1]。時間序列普遍存在于交通、金融、物流和工業(yè)諸多領域,如天氣數據的變化、股票價格序列的變化以及電力負荷的變化等。時間序列數據本質上反映的是某個或者某些隨機變量隨時間不斷變化的趨勢,而時間序列預測方法的核心就是從數據中挖掘出這種規(guī)律,并利用其對將來的數據作出估計[2]。
關于時間序列的數據挖掘技術也成了現在的研究熱點。隨著數據量的增加,高維度、大容量、高復雜性的多變量時間序列預測已成為許多研究的焦點[3]。然而多變量的時間序列往往存在著大量的冗余變量,容易掩蓋重要變量的作用,對預測模型的建立產生負面的影響[4]。因此需要進行數據降維處理,常用的數據降維的方法包括特征提取和特征選擇。特征提取是指利用算法將輸入的特征空間映射到一個維度較低的空間。最為經典的特征提取方法就是主成分分析法(PCA),它通過線性變換用低維數據來代替多維數據,保留了數據原有信息。而特征選擇是根據一定準則或某種評估標準剔除冗余特征選出最優(yōu)的特征子集,再將選擇后的特征子集作為輸入到合適的預測模型進行預測[5]。這將提高目標時間序列的預測效果以及預測效率。
Lasso(least absolute shrinkage and selection operator)算法通過縮小系數或消除系數來強制模型丟棄無關信息來進行特征選擇。Tibshirani[6]在傳統(tǒng)特征選擇方法的基礎上做了改進,提出Lasso特征選擇方法,該方法在實現參數估計的同時還可以壓縮變量。Lasso算法通過構造懲罰函數得到精化模型,最終通過確定某些指標的系數為零來達到簡化指標集的目的。Katayama等[7]提出了利用Lasso方法提取相關的預測因子并建立在高維多元線性回歸分析的模型。蔣峰等[8]使用Lasso方法選取影響地方財政收入的主要因素變量,并將其作為GRNN神經網絡的輸入變量對某地的財政收入進行預測,其預測效果優(yōu)于其他對比模型。
多元自適應回歸樣條[9](Multivariate Adaptive Regression Splines,MARS)也是一種特征篩選的方法。該方法通過前向過程建立不同的樣條基函數,在后向階段利用廣義交叉驗證準則來評估子集的性能以獲取最佳子集。MARS非常適合解決大數量的數據集問題,能夠對非線性和變量間的交互作用進行建模,且運算十分便捷[10]。王盛慧等[11]將MARS算法應用到水泥能耗建模中,建立了精確的煤耗模型,并通過參數分析,給出了變量的相對重要性值,進一步分析煤耗與重要變量之間的關系。Tsai等[12]提出利用MARS來篩選特征并用SVR做預測,利用遺傳算法對SVR的進行調參的混合時間序列模型預測長期股票數據取得了不錯的效果。
關于時間序列的特征選擇,利用時間序列的Granger關系進行篩選也引發(fā)學者的研究。傳統(tǒng)的相關關系是兩個變量因素的相關密切程度,反映變量之間的依賴關系。而Granger關系的目的是檢測一個時間序列在預測方面對另一個時間序列的影響,是指變量序列導致目標序列變化。關于Granger關系的分析方法,其核心思想是:如果使用變量序列和目標序列進行雙變量預測其效果優(yōu)于只使用目標序列的單變量預測,則認為該變量序列有助于預測目標序列,也就是說該變量序列為目標序列的因變量,存在著Granger關系。孫友強等[14]提出一種基于Granger關系挖掘的多變量時間序列預測模型與傳統(tǒng)方法有更精確的預測效果。Hmamouche等[15]提出一種基于Granger關系圖的特征選擇算法,建立預測模型進行預測,并與其他的特征算法比較,有更好的預測效果。
現有的時序數據預測方法大多是從單一時間尺度上進行分析,然而時間序列數據的變化規(guī)律不是單一的,而是具有短期性、周期性和長期趨勢性等復雜特性。所以只是從單一的時間尺度對時間序列進行預測不能全面地把握時序數據的特點,需要從多個時間尺度對其未來的發(fā)展趨勢進行分析預測。王金策等[16]利用時間序列分段算法從原始序列中提取帶有多時間尺度趨勢的特征,并應用隱馬爾可夫模型設計多時間尺度趨勢預測算法對股票數據進行預測,在各個尺度上有比較好的預測效果。李潔等[17]根據時序數據的特征建立基于后向傳播算法的循環(huán)神經網絡預測模型,對多種時間尺度的旅客出行情況進行預測,提升了預測模型的準確性。
上述研究從多個方面對時間序列特征選擇及預測進行了研究,但沒有考慮在多時間尺度下預測模型的特征隨尺度變化而其預測作用會發(fā)生變化,并且基本沒有考慮時間本身作為維度的可能。因此,本文對所選特征的預測作用隨時間尺度的變化進行分析研究。
本文主要對在多時間尺度下的供熱用氣量數據進行預測,分析其預測模型的特征變化,提出了引入時間維度的Granger關系特征選擇預測模型Time-Causality,基于Granger關系來篩選有助于預測用氣量數據的特征維度。對于供熱用氣量數據,其變化具有很強的時間周期性。針對其周期性的特點本文引入時間維度作為模型輸入維度,并與用氣量的歷史值和篩選得到的特征維度作為LSTM神經網絡的輸入維度構建預測模型。最后分析研究隨時間尺度變化,預測模型的特征對用氣量預測作用的變化,并進一步分析各個特征的對用氣量數據貢獻作用,以便為供熱用氣量預測工作的研究提供更準確的參考。
Granger關系的原理是變量序列的增加有助于結果序列的預測。這里序列y={y1,y2,…,yn}設為目標序列,將序列x={x1,x2,…,xn}設為變量序列。為了檢測Granger關系,這里會用到兩個回歸方程。
給定兩個平穩(wěn)的時間序列xt和yt,其分別代表變量序列和目標序列,xt-k,xt-k+1,…,xt-1為xt的過去k個時段的觀測值,yt-1,yt-l+1,…,yt-1為yt的l個時段的觀測值,則:
(1)
(2)
得到回歸方程后,計算F統(tǒng)計量,表示為:
(3)
式中:RSS1和RSS2分別表示式(1)和式(2)的殘差平方和。
若F統(tǒng)計量下的置信度表明式(2)的預測誤差顯著地小于式(1)的預測誤差,那么x是y的Granger原因,即x有助于對y的預測。
當進行Granger關系分析時,還需要考慮目標序列是對變量序列的Granger關系的情況,所以需要建立以下回歸:
(4)
(5)
如果式(2)能提升預測y的效果,同時式(5)不能提升預測x的效果,則表明x真正引起y變化。
Granger關系是一種基于統(tǒng)計的關聯(lián)關系檢驗,可以在時間序列的預測、異常檢測中發(fā)揮作用。
LSTM神經網絡模型是一種改進的RNN模型[21],其基本單元是記憶模塊。LSTM記憶模塊中包括三個門結構,分別是遺忘門、輸入門和輸出門。遺忘門控制LSTM中記憶單元遺忘掉無用的歷史信息,輸入門可以更新本記憶單元的單元狀態(tài),輸出門決定輸出信息。
如圖1所示,對于t時刻,LSTM單元會有當前時刻的輸入向量xt,并且前一時刻LSTM的隱藏狀態(tài)為ht-1。
圖1 LSTM單元結構圖
記憶模塊的狀態(tài)更新和信息輸出的過程如下:
首先,遺忘門忘記無用的信息:
ft=σ(Wxfxt+Whfht-1+bf)
(6)
然后,輸入門根據輸入數據和先前記憶單元的狀態(tài)來更新狀態(tài):
it=σ(Wxixt+Whiht-1+bi)
(7)
(8)
(9)
最后,輸出門輸出當前時刻的信息,并記錄隱藏狀態(tài):
ot=σ(Wxoxt+Whoht-1+bo)
(10)
ht=ot×tanh(Ct)
(11)
式中:Wxc、Wxi、Wxj、Wxo為連接輸入向量xt的權重矩陣;Whc、Whi、Whj、Who為連接隱含層ht的權重矩陣;bi、bc、bf、bo為偏置向量;σ是Sigmoid激活函數;ft、it和ot分別表示t時刻遺忘門、輸入門和輸出門的輸出狀態(tài);Ct表示t時刻的記憶單元狀態(tài)。
LSTM首先在訓練期間計算LSTM單元的輸出值,然后反向計算LSTM的誤差項,再根據誤差項計算每個權重的梯度,最后基于梯度優(yōu)化算法更新權重。
綜上所述,采用克羅米芬聯(lián)合絨毛膜促性腺激素、人絕經促性腺激素治療婦科內分泌失調具有顯著效果,能夠有效提高患者卵泡雌激素及雌二醇水平,降低不良反應發(fā)生,促使患者盡快恢復健康。
如圖2所示,鍋爐房用氣量變化曲線呈現出以天為周期的周期性變化,而每天的數據會隨溫度等其他因素影響呈現出差異。圖3為日用氣量數據的變化趨勢,每天都是在4:00左右把用氣量調到一天的最大,在7:00-8:00用氣量會有所下降;而到了中午,室外氣溫升高,用氣量會維持在相對較低的數值;到了16:00左右用氣量數據會小幅度陡增,過了幾個小時后會下降到和中午持平的數值范圍;在22:00用氣量急劇下降到一天中最低值。
圖2 某周內天津某鍋爐房用氣量數據變化趨勢圖
圖3 某天內天津某鍋爐房用氣量變化趨勢圖
結合鍋爐房用氣量數據的特點,引入時間偏移量作為另一個新的輸入維度。由于供熱系統(tǒng)鍋爐房的數據呈現出以24小時(天)為單位的周期性變化,因此本文的時間偏移量采用當前時刻距該天0:00的分鐘數。以1日凌晨4:00的數據為例,該時刻的時間偏移量為240,而對于2日0:00的時間偏移量則重新記為0。引入時間偏移量更好地刻畫用氣量在一天中不同時間的變化規(guī)律。
Time-Causality預測模型的構建流程圖如圖4所示。
圖4 Time-Causality預測模型流程圖
具體步驟如下:
(1) 數據平穩(wěn)性檢測。Granger關系分析的一個重要前提是目標序列和變量序列必須具有平穩(wěn)性[18]。因此,首先要利用單位根檢驗[19]對時間序列進行平穩(wěn)性檢驗,將不平穩(wěn)的時間序列進行適當的平穩(wěn)化處理,以防止虛假回歸。
(2) 建立回歸模型。Grange關系分析基于一個目標序列的單變量預測模型和一個目標序列與變量序列的雙變量預測模型。對于這兩個模型一般采用VAR模型來建立。對于VAR模型滯后期長度的檢驗,這里采用AIC信息準則(Akaike Information Criterion)[20]來確定。
(3) 各個特征維度之間F統(tǒng)計量檢測。建立各個特征序列之間的回歸模型后,進一步利用F統(tǒng)計量檢測。這里提出兩個假設:
H0:?i∈{1,2,…,L},bk=0
H1:?i∈{1,2,…,L},bk≠0
在零假設H0(假設x不引起y)的情況下,F統(tǒng)計量服從自由度為(L,n-(K+L+1))的F分布。因此為了在一定程度上進行Granger分析。檢驗的p值是在H0為真的前提下,觀察給定結果的概率,這里的Granger關系則考慮為1-p,這樣其表示Granger關系的值在[0,1]之間。進一步可以得出各個特征維度之間的關系矩陣M。
(4) 篩選變量。從矩陣M中篩選出特征,滿足變量序列x對目標變量y的Granger關系遠遠大于y對x的Granger關系。矩陣M中的元素的值my,x表示變量序列x對目標變量y的Granger關系的大小,而mx,y的值表示目標序列y對變量序列x的Granger關系的大小。如果my,x的值減去mx,y的值遠遠大于給定的閾值δ,則變量序列x為篩選得到的特征之一。利用此方法對除目標變量的所有變量遍歷篩選特征。
(5) 引入時間偏移量為時間維度。在原有數據維度下,新增時間偏移量這一預測的輸入維度,對于實驗采取的不同時間尺度來說,時間偏移量會有所不同。對于分鐘級的原始數據是當前時刻距該天0:00的分鐘數,對于小時級的數據則是當天的小時數,對于日數據則是對應的天數。
(6) LSTM模型訓練。本文的LSTM預測模型包含2層LSTM單元,之后接一個單一神經單元的全連接層作為用氣量預測模型的輸出層,從輸出層得到的結果再經反歸一化得到最終的預測值。模型的激活函數選定為Relu函數,batch_size為64,訓練次數(epoch)為500。本文的LSTM模型都建立在Keras庫的基礎上,以TensorFlow為后端通過Python 3.6語言進行編寫。
(7) 預測模型的評估方法。本文采用平均絕對百分誤差(Mean Absolute Percentage Error,MAPE)與均方根誤差(Root Mean Square Error,RMSE)作為模型準確性的評價標準,公式表達如下:
(12)
(13)
(8) 分析不同尺度下特征選擇的差異。為了進一步分析各個特征在不同尺度下的預測差異,將Time-Causality模型篩選得到各個特征與供熱用氣量歷史值作為模型的輸入維度分別進行訓練和預測。對其預測得到的RMSE值和MAPE值作為評估標準進行分析。由于各個時間尺度下的RMSE值和MAPE值差異很大,需要對其進行歸一化處理。本文采用的歸一化的方法是min-max最小值最大值標準化,使數據的值映射到[0,1]之間,表示為:
(14)
式中:xmin是所在尺度下最小的RMSE或MAPE;xmax是所在的時間尺度下RMSE或MAPE的最大值;x*為歸一化后得到的預測貢獻分數。根據預測貢獻分數的大小,進一步分析各個特征在不同時間尺度下的預測作用。
本文使用天津市某鍋爐房的供熱數據進行測試,采集數據的時間間隔為分鐘級包括室外氣溫、用氣量、鍋爐房供水回水溫度、鍋爐房供水回水壓力等數據維度。實驗數據的時間范圍選取1月份4周的數據,其中前3周的數據作為模型的訓練數據,第4周的數據作為模型的測試數據。為了從多時間尺度更好地分析供熱用氣量數據,除了原始采集數據外,選取時間尺度為10分鐘、1小時和1天。另外對于時間尺度為1天的數據,以11月份和12月份作為訓練數據,1月份的4周數據作為測試數據。
為了對鍋爐房用氣量進行分析與預測,要對數據進行預處理,包括空值數據處理以及無效數據的處理等。由于各個維度數據大小差異很大,需要對數據進行歸一化處理來減小誤差,提高預測精度。公式如下:
(15)
式中:xmin是原始的樣本數據分量的最小值;xmax是原始的樣本數據分量的最大值;x*是要輸入到神經網絡的數據。當數據進行歸一化處理輸入到神經網絡中進行預測時,需要對最后的預結果進行反歸一化處理,保證和原來的輸入數據在同一個數量級,公式如下:
(16)
式中:yi為網絡輸出,采用歸一化后的數據進行訓練后,訓練好的模型結構值適用于歸一化后的數據,因此訓前先對輸入值進行歸一化處理,得到神經網絡的輸出結果對其值進行反歸一化。
本文選取主成分分析(PCA)特征降維法、Lasso算法、MARS算法、Granger分析法與本文提出的Time-Causality模型在原始數據、時間尺度為10分鐘、1小時和1天這四個時間尺度下,篩選在不同時間尺度下有助于對用氣量數據預測的有關特征,并將這些特征與用氣量的歷史觀測值一起作為LSTM的輸入變量對用氣量進行預測。結果如表1、表2所示。而對于特征選取評價則通過LSTM預測模型的MAPE和RMSE的值進一步評估。
表1 不同時間尺度下特征選擇方法預測結果的RMSE
表2 不同時間尺度下特征選擇方法預測結果的MAPE
實驗結果表明:無論是用RMSE還是用MAPE對預測結果評價,Granger分析法相比于PCA降維法、Lasso算法和MARS算法都可以在不同的時間尺度下篩選到更合適的特征。本文提出的Time-Causality方法的預測效果在不同時間尺度下都優(yōu)于Granger分析法,表明Time-Causality方法引入的時間維度可以提升供熱用氣量的預測效果。
本文利用Time-Causality模型篩選出有助于用氣量數據預測的特征,并進一步分析在不同尺度下,篩選出的各個特征的預測作用。
表3為利用Time-Causality模型篩選的不同時間尺度下有助于預測用氣量數據的特征。在原始采集時間尺度下只有管網壓力和時間維度這兩個特征,而在10分鐘時間尺度下,有管網壓力、室外溫度、循環(huán)泵出口壓力和時間維度這4個特征;時間尺度放大到1小時,有室外溫度、循環(huán)泵出口壓力和時間維度這3個特征;對于時間尺度為1天的數據,只有室外溫度和時間維度這2個特征。
表3 Time-Causality模型所選特征
本文認為,Granger分析只能證明兩個變量具有一定的Granger關系,而要進一步分析各個特征對目標序列的預測作用,需要實驗來比較驗證。本文將篩選的所有特征分別與用氣量的歷史值作為LSTM的輸入維度,進一步構建LSTM預測模型,通過每個模型的RMSE和MAPE的值對該模型進行評估。另外,加入單變量預測以驗證特征的預測效果,也進一步分析每個特征在該尺度下的預測作用,從而得出各個特征的預測作用隨著時間尺度增大的變化規(guī)律。
根據表4和表5可以得出,Time-Causality模型篩選的特征在不同時間尺度下訓練預測的RMSE和MAPE。根據其RMSE和MAPE可以進一步分析每個特征的預測作用隨尺度變化的影響變化。從結果上進行分析,隨著時間尺度增大,管網壓力的預測作用減弱,而室外溫度的預測作用明顯增強。
表4 不同時間尺度下預測特征的RMSE結果
表5 不同時間尺度下預測特征的MAPE結果
圖5和圖6中的圓圈表示該時間尺度下Time-Causality模型沒有選擇該特征??梢钥闯?,特征在不同尺度的預測作用并不相同。隨著時間尺度增大,室外溫度對供熱用氣量的預測作用在增大。管網壓力在原始分鐘級時間尺度的預測作用要高于其他特征,但隨時間尺度變大,預測作用在減弱。循環(huán)泵出口壓力的預測作用隨時間尺度增大,其預測作用也增大,但在時間尺度為1天的預測作用較弱。
圖5 特征隨時間尺度變化預測作用趨勢圖(RMSE標準)
圖6 特征隨時間尺度變化預測作用趨勢圖(MAPE標準)
本文引入了時間維度作為輸入維度并基于因果關系提出了Time-Causality預測模型,將篩選的特征與用氣量的歷史值作為輸入維度構建LSTM的供熱用氣量預測模型。對比實驗表明,Time-Causality模型可以在不同時間尺度下篩選出更優(yōu)的特征,有助于供熱用氣量的預測,并且引入的時間維度可提升預測效果。本文又從原始采集分鐘級數據、10分鐘、1小時和1天不同時間尺度下,分析各個特征的預測作用。結果表明:不同時間尺度Time-Causality模型選用的特征不同,對于小時間尺度管網壓力預測作用明顯,對于大尺度下溫度預測作用明顯。同一特征在不同的時間尺度下的預測作用不同,如隨時間尺度變大,室外溫度的預測作用逐漸增強;而管網壓力維度情況則相反。
本文的實驗結果可以為供熱系統(tǒng)的用氣規(guī)律提供分析,具有實際的應用價值,在提供優(yōu)質供熱的基礎上,高效地利用能源。后續(xù)將嘗試構建關于用氣量的Granger關系的分析圖,并從不同時刻分時間段的角度對用氣量數據進行研究預測,從而更好地分析鍋爐房用氣量數據的特點以及供熱系統(tǒng)用氣規(guī)律。