我对使用LSTM模型预测销售有疑问。 要构建模型,我想输入以前的销售值(选择样本大小为30),以及当前(t)功能,例如是否在促销,是否是假期等。我当前的代码:
def create_dataset(dataset, look_back=1):
dataX, dataY = [], []
for i in range(len(dataset)-look_back-1):
a = dataset[i:(i+look_back), 0]
dataX.append(a)
dataY.append(dataset[i + look_back, 0])
return np.array(dataX), np.array(dataY)
look_back = 30
trainX, trainY = create_dataset(train, look_back)
valX, valY = create_dataset(val, look_back)
# note: train and val dataset here only include sale values
trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
valX = np.reshape(valX, (valX.shape[0], 1, valX.shape[1]))
我创建了n * 30个数据集(30列)。然后我申请进入keras LSTM模型。但是,我如何将当前特征(不是时间序列)作为输入包含在模型中?
答案 0 :(得分:1)
如果您以非顺序方式构建模型,使用功能API可以有多个输入。然后,您可以使用lstm处理时间序列,并使用当前特征在一些密集层中处理输入。然后,在进行预测之前,将它们合并并使用一些更密集的图层作为示例。
下找到一些示例