rescale和inverse_transform不返回LSTM多元时间序列预测的原始比例的预测值和实际值

时间:2018-10-09 04:56:48

标签: python tensorflow keras time-series lstm

我目前正在建立一个LSTM多元时间序列模型,以使用前一个时间戳(t-1)的22个特征作为输入来预测当前时间(t)的一个输出。我一直按照this example的指示进行操作,似乎一切正常,但是我遇到的一个问题涉及最终的inverse_transform()函数。

具体来说,我期望一旦对预测值和实际值的换算都进行换算,则输出将以与原始数据相同的单位进行归一化和变换数据集。我试图预测的变量的平均值约为29.186,但是当我运行inverse_transform()并将预测值与实际值作图时,结果的输出范围为3.30-3.55。

可能是我对数组进行了切片时发生了一个简单的错误,或者可能是完全不同的东西,但是我似乎无法找出导致我的预测值和实际值不一致的根本原因在我转换所有内容之前将其作为数据。

有关其他内容,这是train_X.shape,train_y.shape,test_X.shape,test_y.shape的打印输出:

from datetime import datetime

input = "2018-10-09 20.00"
#        ^^^^^^^^^^^^^^^^-----⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄
d = datetime.strptime(input, "%Y-%m-%d %H.%M")  # parse to datetime object
result = d.strftime("%m/%d/%Y %H:%M:%S")        # now convert to desired format
#⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄⌄-^^^^^^^^^^^^^^^^^ 
'10/09/2018 20:00:00'

这是我代码的相关部分:

(1804950, 1, 22) (1804950,) (849389, 1, 22) (849389,)

如果您需要任何其他信息或上下文,请告诉我,非常感谢您的帮助!

0 个答案:

没有答案