如何使用LSTM使用过去的特征和当前特征进行预测?

时间:2018-03-12 22:23:26

标签: python tensorflow keras lstm rnn

假设我有如下数据框,折扣是从selling price/list price计算的,unit_sales是当天销售的商品数量。

enter image description here

如果我打算使用LSTM进行第二天的销售预测(绿色框中的数据),根据过去3天的销售和折扣(红框中的数据框),加上第二天应用的折扣(紫色框中的数据框),我应该如何重塑数据帧? enter image description here

如果我不必考虑当前或未来时间段的折扣,这可能非常容易,我只想重塑一下(样本数量为3,3,2)

1 个答案:

答案 0 :(得分:0)

我会这样做 - 而不是在你的模型中有一个输入,你可以有2个:过去3天的折扣/销售对,形状(样本数量为3,3,2),如你所建议的那样另一个形状(1,),对应当前折扣。您可以通过LSTM运行前3天,并将当前折扣连接到LSTM的输出。使用功能API,它将如下所示:

inp_past=Input((3,2))
lstm=LSTM(32)(inp_past)
inp_now=Input((1,))
concatenation= concatenate([inp_now,lstm])
output=Dense(1)(concatenation

这会对你有所帮助吗?