針對問題:時間序列預(yù)測瓮栗。LSTM的淺層架構(gòu)無法有效地表示時間序列數(shù)據(jù)的復(fù)雜特征削罩,尤其是高度非線性和長間隔時間序列數(shù)據(jù)集。
提出模型:deep-LSTM(DLSTM)可以適應(yīng)學(xué)習(xí)時間序列數(shù)據(jù)的非線性和復(fù)雜性费奸。DLSTM是原始LSTM的擴展弥激,包括多個LSTM層,因此每個層包含多個單元愿阐。
DLSTM的工作方式:每個LSTM層在不同的時間尺度上運行秆撮,從而處理所需任務(wù)的特定部分,然后將其傳遞到下一層换况,直到最后一層產(chǎn)生輸出职辨。
上標(biāo)(1)表示block 1.?
這種堆疊式結(jié)構(gòu)的好處:1. 每一層都可以處理所需任務(wù)的一部分,然后將其傳遞到下一層戈二,直到最后一個累積的層提供輸出為止舒裤。2. 每個level的隱藏狀態(tài)都可以在不同的時間范圍內(nèi)運行(適合長期依賴數(shù)據(jù)/多元時間序列數(shù)據(jù)集)。
實驗?實驗代碼
數(shù)據(jù)預(yù)處理
1.降噪觉吭。2.將原始數(shù)據(jù)轉(zhuǎn)換為平穩(wěn)數(shù)據(jù)(刪除數(shù)據(jù)中的趨勢屬性腾供;稍后將趨勢加回預(yù)測中,以便將預(yù)測問題返回到原始比例并計算可比較的錯誤評分鲜滩。去趨勢的標(biāo)準(zhǔn)方法是差分數(shù)據(jù)伴鳖,即從當(dāng)前觀測值(t)中減去前一時間步長(t-1)的觀測值)。3. 監(jiān)督學(xué)習(xí)(單步預(yù)測徙硅,使用lag time method 將數(shù)據(jù)劃分x,y榜聂,lag從lag1-lag6)。4. 將縮放的值轉(zhuǎn)換為原量綱嗓蘑。
實施方案
實驗包括兩個不同的場景(i)靜態(tài)場景(ii)動態(tài)場景须肆。?
靜態(tài)場景匿乃,將預(yù)測模型與所有訓(xùn)練數(shù)據(jù)擬合,然后使用測試數(shù)據(jù)一次預(yù)測每個新的時間步長豌汇。動態(tài)場景幢炸,在每個時間步更新預(yù)測模型,并從測試數(shù)據(jù)中插入新的觀察值拒贱。?
動態(tài)--用因變量的先前預(yù)測值來計算下一個預(yù)測值宛徊,靜態(tài)--使用每個后續(xù)預(yù)測的實際值預(yù)測。
遺傳算法GA進行模型超參數(shù)的最佳選擇(Python(DEAP)庫中的分布式進化算法實現(xiàn)GA)逻澳。?
靜態(tài)場景存在三個超參數(shù):epoch岩调,隱藏神經(jīng)元數(shù)和lag size。動態(tài)四個超參數(shù):如上三個+update次數(shù)(當(dāng)從新觀測中獲得新觀測值時赡盘,每個時間步長更新預(yù)測模型的次數(shù))。?
baselines
1. ARIMA, 2.?Vanilla RNN缰揪,3.?DGRU (Deep Gated Recurrent Unit)陨享,4. ENA(Nonlinear Extension for linear Arps decline)NEA是一種混合方法,將統(tǒng)計方法下降曲線分析(Decline Curve Analysis,?DCA)與機器學(xué)習(xí)核方法相結(jié)合钝腺。 5.?Higher-Order Neural Network (HONN)
metrics:RMSE, RMSPE
數(shù)據(jù)集1:華北油田1區(qū)抛姑。227個數(shù)據(jù)值(80%訓(xùn)練--182觀測值,20%測試--45個觀測值)艳狐。
數(shù)據(jù)集2:印度油田2004年-2009年(大約63個月)收集的實際生產(chǎn)數(shù)據(jù)定硝。訓(xùn)練集70%,測試集30%毫目。