可以利用Pandas中的shift()函数实现在给定输入和输出序列长度的情况下自动重组时间序列问题的数据集。
用Python实现Series_to_supervised()函数来接受单变量/多变量时间序列输入并转化为监督学习所需的数据集。
函数的参数:
data:观测值序列,类型为列表或者二维的Numpy数组,必选参数。
n_in:作为输入的滞后观测值数量( X)。值介于1..len(data)之间,可选参数,默认为1。
n_out:作为输出的观测值数量( y)。值介于0..len(data)-1之间,可选参数,默认为1。
dropnan:是否删除具有NaN值的行,类型为布尔值。可选参数,默认为True。
该函数返回一个值: return:为监督学习重组得到的Pandas DataFrame序列。DataFrame返回之后,便可根据需要将返回的序列分割为X和Y两部分以供监督学习使用。
上面的函数定义了每列的默认名,我们可以在返回数据上直接调用,t-1命令的列X可以作为输入,t命令的列可以作为输出Y。