針對問題:時間序列預測。LSTM的淺層架構(gòu)無法有效地表示時間序列數(shù)據(jù)的復雜特征,尤其是高度非線性和長間隔時間序列數(shù)據(jù)集。
提出模型:deep-LSTM(DLSTM)可以適應學習時間序列數(shù)據(jù)的非線性和復雜性。DLSTM是原始LSTM的擴展,包括多個LSTM層,因此每個層包含多個單元。
DLSTM的工作方式:每個LSTM層在不同的時間尺度上運行,從而處理所需任務的特定部分,然后將其傳遞到下一層,直到最后一層產(chǎn)生輸出。

上標(1)表示block 1.?
這種堆疊式結(jié)構(gòu)的好處:1. 每一層都可以處理所需任務的一部分,然后將其傳遞到下一層,直到最后一個累積的層提供輸出為止。2. 每個level的隱藏狀態(tài)都可以在不同的時間范圍內(nèi)運行(適合長期依賴數(shù)據(jù)/多元時間序列數(shù)據(jù)集)。
實驗?實驗代碼
數(shù)據(jù)預處理
1.降噪。2.將原始數(shù)據(jù)轉(zhuǎn)換為平穩(wěn)數(shù)據(jù)(刪除數(shù)據(jù)中的趨勢屬性;稍后將趨勢加回預測中,以便將預測問題返回到原始比例并計算可比較的錯誤評分。去趨勢的標準方法是差分數(shù)據(jù),即從當前觀測值(t)中減去前一時間步長(t-1)的觀測值)。3. 監(jiān)督學習(單步預測,使用lag time method 將數(shù)據(jù)劃分x,y,lag從lag1-lag6)。4. 將縮放的值轉(zhuǎn)換為原量綱。
實施方案
實驗包括兩個不同的場景(i)靜態(tài)場景(ii)動態(tài)場景。?
靜態(tài)場景,將預測模型與所有訓練數(shù)據(jù)擬合,然后使用測試數(shù)據(jù)一次預測每個新的時間步長。動態(tài)場景,在每個時間步更新預測模型,并從測試數(shù)據(jù)中插入新的觀察值。?
動態(tài)--用因變量的先前預測值來計算下一個預測值,靜態(tài)--使用每個后續(xù)預測的實際值預測。
遺傳算法GA進行模型超參數(shù)的最佳選擇(Python(DEAP)庫中的分布式進化算法實現(xiàn)GA)。?
靜態(tài)場景存在三個超參數(shù):epoch,隱藏神經(jīng)元數(shù)和lag size。動態(tài)四個超參數(shù):如上三個+update次數(shù)(當從新觀測中獲得新觀測值時,每個時間步長更新預測模型的次數(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)與機器學習核方法相結(jié)合。 5.?Higher-Order Neural Network (HONN)
metrics:RMSE, RMSPE
數(shù)據(jù)集1:華北油田1區(qū)。227個數(shù)據(jù)值(80%訓練--182觀測值,20%測試--45個觀測值)。
數(shù)據(jù)集2:印度油田2004年-2009年(大約63個月)收集的實際生產(chǎn)數(shù)據(jù)。訓練集70%,測試集30%。