[英]LSTM - Multivariate Time Series Predictions
我正在閱讀Keras中關於LSTM的多變量時間序列預測的教程https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/#comment-442845
我遵循了整個教程,並陷入了如下問題:
在本教程中,訓練和測試拆分具有8個功能,即在步驟“ t”處的“污染”,“露水”,“溫度”,“壓力”,“ wnd_dir”,“ wnd_spd”,“雪”和“雨” -1”,而輸出特征在當前步驟“ t”處為“污染”。 這是因為,給定前一小時/時間步驟“ t-1”的污染和天氣測量值,將數據集作為監督學習問題的框架是關於預測當前小時/時間步驟“ t”的“污染”
在將模型擬合到訓練和測試數據分割之后,如果我要對具有7個特征的新數據集進行預測,因為該模型中沒有“污染”特征,而我明確地只想使用其他7個功能。
謝謝你的幫助!
我該如何處理這種情況? (而其余7個功能保持不變)
編輯-假設我的數據集在訓練/擬合模型時具有以下3個特征-shop_number,item_number,number_of_units_sold
之后,我訓練了LSTM模型,得到了一個具有“ shop_number”和“ item_number”特征的數據集。 數據集不具有“ number_of_units_sold”。
“ LSTM”中的“ input_shape”參數在訓練時具有1個時間步長和3個特征。 但是在預測時,我只有1個時間步長,但只有2個特征(因為我必須預測“ number_of_units_sold”)。
那么我該如何進行呢?
如果污染是最后一個特征:
X = original_data[:,:,:-1]
Y = original_data[:,:,-1:]
如果污染是首要特征
X = original_data[:,:,1:]
Y = original_data[:,:,:1]
其他
i = index_of_pollution_feature
X = np.concatenate([original_data[:,:,:i], original_data[:,:,i+1:],axis=-1)
Y = original_data[:,:,i:i+1]
用return_sequences=True
, stative=False
制作模型,僅此而已。 不要使用Flatten,Global池或任何刪除步長維度的東西。
如果您根本沒有任何污染數據需要培訓,那么您就不能這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.