我对时间序列数据使用分类模型,在将数据分为训练和测试之前,我对数据进行了归一化。现在,我知道应该分别处理训练数据和测试数据,以防止数据泄漏。在这里标准化步骤的正确顺序是什么?在借助滑动窗口拆分数据后,是否应该分别应用步骤1,2,3进行训练和测试?我在这里使用滑动窗口将每个小时(测试)与其之前的24小时数据(火车)进行比较。这是我当前在管道中使用的顺序。
答案 0 :(得分:1)
第1步和第2步可以安全完成,您只需考虑移动平均值只能使用过去的值:X'i = mean(Xi, Xi-1, Xi-2, ..., Xi-n)
。
但是,在第3步中,如果使用 minmax缩放器或,则归一化/标准化参数,例如 max 和 min 均值和标准差(如果您使用的是标准化),则应根据训练数据进行计算,并将其应用于整个数据集,这样您的管道就可以像这样
移动平均值(仅使用过去的值)
每小时重新采样
将数据拆分为训练和测试。
从火车数据(平均值和标准差)中获取标准化参数。
使用4中计算出的参数标准化整个数据集(训练和测试)。
使用火车数据拟合模型
使用测试数据进行预测