2

我有一個數據集跨越數百值關於溫度。顯然,在氣象學中,預測未來的價值將基於過去會有所幫助。預測數據集的過去結束與RNN在Keras

我有以下狀態模型,建於Keras:

look_back = 1 
model.add(LSTM(32, batch_input_shape=(batch_size, look_back, 1), stateful=True)) 
model.add(Dense(1)) 
model.compile(loss='mean_squared_error', optimizer='adam') 
for i in range(10): 
    model.fit(trainX, trainY, epochs=4, batch_size=batch_size, verbose=2, shuffle=False) 
    model.reset_states() 
# make predictions 
trainPredict = model.predict(trainX, batch_size=batch_size) 

我已經成功地得以訓練和測試在我的數據集,以合理的結果的模型,但我在努力理解什麼是需要預測接下來,例如數據集中的20個點。顯然,這20個點在數據集之外,他們還沒有「發生」。

我將不勝感激任何會有所幫助;我覺得我錯過了Keras中的一些簡單功能。

謝謝。

回答

2

我覺得我缺少Keras一些簡單的功能。

你擁有所有你需要在那裏。爲了得到你要再次使用model.predict()新數據的預測,但對所需範圍。這取決於數據的外觀。

讓我們假設您的時間序列trainX發生了事件x範圍從[0,100]

然後預測要在值調用predict()101120,像接下來的20個事件:

futureData = np.array(range(101,121)) #[101,102,...,120] 
futurePred = model.predict(futureData) 

再次,這取決於你的「未來20」事件怎麼看。如果bin的大小是0.1(100,100.1,100.2,...),則應相應地評估預測結果。

你可能也想檢查this頁面,他們給例子,解釋一下時間序列中Keras與RNNs,如果你有興趣。