LSTM学习(1)

文章介绍了时间序列预测中的数据预处理,如归一化和对数变换;窗口选择,通常N是M的1.5倍以上,考虑数据周期性;模型选择,LSTM适用于单点预测,长周期预测可能需要LSTM+Attention或Transformer;以及评价指标,包括scale无关和scale相关的指标,选择应基于对大值和小值样本的关注程度。
摘要由CSDN通过智能技术生成

1.数据预处理

   时间序列预测的数据集千差万别,比如最小值0,最大值10000000的情况,因此需要做一些数据预处理操作例如归一化。如果数据差异很大,通常是先取对数缩小scale,再进行归一化处理

2.窗口选择

   一般会选择历史N天作为Encoder输入,预测未来M天的。M是问题事先定义好的,若预测未来15天的结果,那么M就是15。在N的选择上,需注意N要比M长,一般是M的1.5倍以上。另一方面,要注意数据的周期性。若数据呈现明显的以365天为周期的年周期性,那么N至少应涵盖一年,才能让模型预测出接下来的事情。此外,还需注意N的选择不能太长,会导致模型训练慢或收敛困难的问题。 

3.模型 

   如果是单点预测,LSTM就能取得非常好的效果。如果是长周期预测,就必须加入一些Attention才能更好的进行对齐,这个时候可以考虑LSTM+Attention,或者直接上Transformer模型。另一个考虑因素是你的数据噪音大不大,一个经验是,噪音越大的数据集,用越简单的模型往往能取得更好的效果,而用了复杂模型反而会因为过拟合导致效果较差。

4.指标

时间序列预测的评价指标可分为两类,一类是scale无关的(如smape、rmsle、mape等),一类是scale相关的(如mse、rmse、mae、nd等)。Scale无关的,即不管每个样本点的取值多大,对最终loss的贡献都是差不多的,因为这些指标计算的都是预测值相对于真实值的偏差百分比。而scale相关的指标,数值越大对loss的贡献就越大,因为它们直接计算预测值和真实值的差值。

在选择指标时,如果更关注大值样本的效果,可以用scale相关的指标;如果更关注全局所有样本的效果,可以用scale无关的指标。对于scale无关的指标还要注意一点,在一些场景中,小值样本比大值样本多得多,数据呈现长尾部分。这种情况下使用scale无关指标,则更偏向于看小值样本效果。同时,小值样本可能存在更大的误差,比如真实值是1,预测值是2,这偏差就是100%了,小样本本来就噪声大。如果用scale无关指标在这类数据上评估,很可能反映的是拟合噪声的效果。因此更合适的做法是对测试集做一个采样,小值样本、大值样本保留差不多的数量,才能更科学的评价模型效果。



参考资料:知乎 fareise https://www.zhihu.com/question/68422363/answer/2676654789
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值