繁体   English   中英

LSTM-多元时间序列预测

[英]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=Truestative=False制作模型,仅此而已。 不要使用Flatten,Global池或任何删除步长维度的东西。


如果您根本没有任何污染数据需要培训,那么您就不能这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM