我正在尝试使用LSTM方法解决Python中多元数据的时间序列预测问题。
在here中,作者解决了时间序列空气污染预测的问题。数据如下:
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
与上述教程中的逐年相反,我对具有20多个功能的足球比赛进行了30秒的时间步长观察。每个具有唯一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:, :]
因此,我的训练/测试集应该按照比赛次数进行: (matches * len(match))
n_train_matches = some k number of matches * len(match)
train = values[:n_train_matches, :]
test = values[n_train_matches:, :]
我想将此转化为我的问题,以便尽早在时间t = 2上对每个功能进行预测。即比赛进行30秒。
问题
我是否需要在每场比赛中应用顺序填充?
是否有一种无需填充即可解决问题的方法?
答案 0 :(得分:1)
如果您使用的是LSTM,那么我相信如果您进行填充和输入多个30秒的观测值,您更有可能从该模型中受益。
如果您不填充序列,并且想要在t = 2进行预测,那么您将只能使用最后一步的观测。