如何对用于训练RNN的数据进行非规范化处理?

时间:2018-10-13 02:55:56

标签: python time-series prediction rnn denormalization

我正在运行此仓库中“使用”部分中定义的代码: https://github.com/achillesrasquinha/bulbea/

我得到相同的输出: enter image description here

在训练和测试之前,数据将通过以下代码进行规范化:

if normalize:
splits = np.array([_get_cummulative_return(split) for split in splits])

size   = len(splits)
split  = int(np.rint(train * size))

train  = splits[:split,:]
test   = splits[split:,:]

归一化函数是:

def _get_cummulative_return(data):
cumret  = (data / data[0]) - 1

return cumret

建模过程:

Xtrain = np.reshape(Xtrain, (Xtrain.shape[0], Xtrain.shape[1], 1))
Xtest  = np.reshape( Xtest, ( Xtest.shape[0],  Xtest.shape[1], 1))

rnn = RNN([1, 100, 100, 1]) # number of neurons in each layer
rnn.fit(Xtrain, ytrain)

测试:

p = rnn.predict(Xtest)

要使用此预测变量,我应该:

  1. 使用与我的新输入数据相同的函数对预测进行归一化吗?
  2. 将数据传递到预测变量并使输出非正规化吗?

如果是,如何对数据进行非规范化?

0 个答案:

没有答案