最近一直在忙这个时间序列数据的预测,起初一直搞不清测试集和验证集的作用,最近看了很多资料,稍微有了点理解,基于自己的理解和网上的代码,刚刚基于我的需求跑出了想要的结果,虽然数值上误差还很大,不过老师说预测数据的好坏是比较出来的,所以我现在能跑出个结果还是很大的进步~接下来我就把我的代码放在下面记载一下自己的学习过程。
首先,准备数据集。这个数据集是我从某个电商插件上收集到的,原数据数据波动其实挺大的,最后用小波分析对数据进行了简单的降噪。
(后来导师说这个方法不能同时处理整个数据集,这样会导致原始数据改变,预测结果也会改变,这样的话整个预测就没有意义了。这就好比是数据归一化处理之后,没有反归一化,那么这样预测的数据是没有意义的。因为我只是想记录下整个预测过程,对数据的要求不大。所以我的这个实验直接用小波分析后的数据)
数据如下
链接:https://pan.baidu.com/s/1FY2YWZt-LuMQ3tbgNTC-GQ
提取码:zxt1
由于我找的这份代码是单步预测,意思是一次只预测一个未来值,所以我在整个数据下面增加了一个预测数据——2022/10/1,其对应的销量我设置成0,这个不写的话会报错,而且这个0本来就是未知的,我们最终会预测出来2022/10/1对应的预测值
下面是相关代码——代码是基于Jupyter notebook来编写的。
1、导入相关库