Python 如何获得LSTM多元时间序列的多元回归输出

Python 如何获得LSTM多元时间序列的多元回归输出,python,machine-learning,deep-learning,lstm,Python,Machine Learning,Deep Learning,Lstm,我试图使用LSTM模型预测家庭中各种电器的耗电量。 考虑玩具数据集: DateTime Units App-1 App-2 App-3 outdoor_humidity outdoor_temperature 2007-06-06 14:00:00 1.3 6.8 0.2 8.45 62.5 22.9 2007-06-06 15:00:00 0.6 1.1

我试图使用LSTM模型预测家庭中各种电器的耗电量。 考虑玩具数据集:

DateTime             Units   App-1   App-2   App-3     outdoor_humidity   outdoor_temperature
2007-06-06 14:00:00   1.3     6.8     0.2     8.45          62.5                   22.9
2007-06-06 15:00:00   0.6     1.15    0.0     4.15          64.3                   22.6
2007-06-06 16:00:00   1.00    7.75    1.05    0.0           67.2                   22.1
2007-06-06 17:00:00   0.43    0.0     1.01    0.0           69.7                   21.5 
2007-06-06 18:00:00   0.51    0.0     0.0     0.0           71.9                   20.6
我想从LSTM模型中同时找到单位App-1、App-2、App-3的值。我试过把

model.add(keras.layers.Dense(units=4, activation='linear'))
但这并没有给出所需的结果。可能问题在于为训练集制作正确的形状。我使用滚动窗口方法创建所需的3D训练集

    def create_dataset(X, y, time_steps=1):
    Xs, ys = [], []
    for i in range(len(X) - time_steps):
        v = X.iloc[i:(i + time_steps)].values
        Xs.append(v)
        ys.append(y.iloc[i + time_steps])
    return np.array(Xs), np.array(ys)

time_steps = 24
dv_columns = ['Units', 'App-1', 'App-2', 'App-3']
# reshape to [samples, time_steps, n_features]
X_train, y_train = create_dataset(train, train.loc[:,dv_columns], time_steps )
X_test,   y_test = create_dataset(test , test.loc[:, dv_columns] , time_steps )
print(X_train.shape, y_train.shape)
完整代码和数据集: 我想为提供的代码实现同样的功能,请检查它