将数据集时间序列转换为监督数据集

convert dataset timeseries to supervised data set

我有简单的数据集 dataset

我想为深度学习的时间序列预测做准备。为此,我有一个类似的功能 function 我不确定此功能的功能。你有替代品吗?或者你能确定这个功能的功能吗?

对于时间序列预测,标签是数据本身的一部分。 该代码也适用于此示例。 该函数实际上将从数据集中提取 windows 数据,将其用作 X(NN 模型的输入)并将后续数据用作 y(模型的标签)。

例如,您可以决定 window 为 2 并让模型预测下一个值。 因此,第一个输入变为 X: 34, 37 和它的标签 y: 29。接下来输入X: 37, 29 and y: 34等等等等。

import numpy as np

def to_supervised(train, n_input, n_out):
    data = train
    X, y = list(), list()
    in_start = 0
    for _ in range(len(data)):
        in_end = in_start + n_input
        out_end = in_end + n_out
        if out_end <=  len(data):
            x_input = data[in_start:in_end]
            x_input = x_input.reshape((len(x_input)))
            X.append(x_input)
            y.append(data[in_end:out_end])
        in_start += 1
    return np.array(X), np.array(y)

issued = np.array([34, 37, 29, 34, 45])

to_supervised(issued, 2, 1)

输出:

(array([[34, 37],
        [37, 29],
        [29, 34]]),
 array([[29],
        [34],
        [45]]))