时间序列数据集训练测试拆分 ML

time series dataset train test split ML

关于 machinelearningmastery there is a post 如何从一个时间序列变量创建监督学习回归类型数据集。

例如这个:

time, measure
1, 100
2, 110
3, 108
4, 115
5, 120

通过函数传递数据后可以变成下面这个series_to_supervised

X, y
?, 100
100, 110
110, 108
108, 115
115, 120
120, ?

在 machinelearningmastery post 的 多步或序列预测 部分,series_to_supervised 可以输出如下:

   var1(t-2)  var1(t-1)  var1(t)  var1(t+1)
2        0.0        1.0        2        3.0
3        1.0        2.0        3        4.0
4        2.0        3.0        4        5.0
5        3.0        4.0        5        6.0
6        4.0        5.0        6        7.0
7        5.0        6.0        7        8.0
8        6.0        7.0        8        9.0

我的问题是如何定义 X 和 y 火车测试拆分?我假设 var1(t) 将被定义为 y,对吗?例如,下面的 trainX 和 trainy 是否正确?我正在试验

#function for time series X,y breakdown
train = series_to_supervised(need_to_train,11,14)

#split data sets
trainX = np.array(train.drop(['var1(t)'],1))
trainy = np.array(train['var1(t)'])

model = XGBRegressor(objective='reg:squarederror', n_estimators=100)

不,var1(t+1) 将是目标并被视为 y。重点是根据当前(和过去)的数据预测未来的下一步。