时序预测的结果都是一个趋势

  • 现象
  • 原因
  • solution
  • other solutions
  • 时序数据预测优化
  • 1.负样本少的情况下,上采样增加某类难以预测的负样本
  • 2.工艺规律
  • 不平衡样本


现象

预测的是一个序列。

在测试集中随机取20个来看,所有的预测序列都是一个趋势,但是大小有所区别。

举例图片

时序预测算法属于回归吗 时序预测回归预测一样_开发语言

原因

目前来看是数据的问题,应该是样本不均衡,某一类样本过于多,导致模型学到的都是那种样本后面的序列的形状。

在使用另一段时间的数据集,以同样的模型预测同样长度的序列后,就会有好一点的效果:

时序预测算法属于回归吗 时序预测回归预测一样_python_02

solution

后面尝试一下正样本降采样。

other solutions

另外再粘贴一些别人总结的可能的解决方法。

https://zhuanlan.zhihu.com/p/400492431 https://www.zhihu.com/question/365057522/answer/2124017876

时序数据预测优化

1.负样本少的情况下,上采样增加某类难以预测的负样本

如果发现某类数据趋势样本很少所以很难预测出来,则需要在训练集中造这类样本,增加其比例。

2.工艺规律

对于预测优化,首先应该把预测不准的都拿出来看。
一方面是画出预测值与ground truth,另一方面,涉及到其他如设备参数,应该找到对应的时间戳将设备参数取出分析。分析设备参数是否会在附近的时间步内发生了变化。从而总结出标签趋势变化的原因。
然后再把我们总结的规律和工艺人员讨论。对于一些特殊类型的,工艺人员认为不合理的,或者是突变的数据,应予以剔除。

不平衡样本

处理的一种方法是
假设共有4种类型的数据,ABCD,其中A的样本特别多,BCD样本特别少。
一方面我们可以对A做抽取删除,对BCD做数据增强。
另一方面,可以把数据分为2大类,类1:A,类2:BCD,每次batch取数的时候,保证从类1抽一部分,类2抽一部分。
这样可以保证每个epoch的训练都有样本少的类型,保证其能够学到少而有用的信息。

reference:

https://www.lmlphp.com/user/57801/article/item/2581625/