LSTM的多变量时间序列的训练/测试集分割



我正在尝试使用LSTM方法解决Python中多变量数据的时间序列预测问题。

在这里,作者解决了时间序列空气污染预测问题。数据如下:

pollution  dew  temp   press wnd_dir  wnd_spd  snow  rain
date
2010-01-02 00:00:00      129.0  -16  -4.0  1020.0      SE     1.79     0     0
2010-01-02 01:00:00      148.0  -15  -4.0  1020.0      SE     2.68     0     0
2010-01-02 02:00:00      159.0  -11  -5.0  1021.0      SE     3.57     0     0
2010-01-02 03:00:00      181.0   -7  -5.0  1022.0      SE     5.36     1     0
2010-01-02 04:00:00      138.0   -7  -5.0  1022.0      SE     6.25     2     0 

与上述教程中的年度不同,我对足球比赛进行了30秒的时间步长观察,其中有20多个功能。其中具有唯一ID的每个匹配具有从190到200的不同长度。

作者按一年中的天数将列车/测试集划分如下:

# split into train and test sets
values = reframed.values
n_train_hours = 365 * 24
train = values[:n_train_hours, :]
test = values[n_train_hours:, :]

因此,我的训练/测试集应该按匹配次数排列:(匹配*len(匹配((

n_train_matches = some k number of matches * len(match)
train = values[:n_train_matches, :]
test = values[n_train_matches:, :]

我想把它转化为我的问题,以便最早在时间t=2时对每个特征进行预测。即比赛开始30秒。

问题

我需要在每场比赛中应用预赛序填充吗?

有没有一种不用填充就能解决问题的方法?

如果您使用的是LSTM,那么我相信如果您在多个30秒的步骤观测中填充和馈送,您更有可能从该模型中受益。

如果你没有填充序列,并且你想要t=2的预测,那么你只能使用最后一步的观测。

最新更新