看了一下,是从10月底拿到数据开始做时序预测这方面的。那时候写的东西真是浅薄幼稚啊,现在也大概做了一个多月了,把知道的东西总结一下让以后的自己再来嘲笑嘲笑。

1.时序预测分类

实现原理上看,有3种。统计学,传统机器学习,深度学习。(统计学只能自回归)

预测步长上看,有2种。单步和多步。(我不知道单步有什么价值,不用任何方法我瞎蒙精度也低不了)

输入变量上看,有2种。自回归预测和协变量预测。(协变量更贴近现实)

输出结果上看,有2种,点预测和概率预测。(概率预测更贴近现实)

输出变量上看,有3种,一元预测,多元预测,多重时间序列预测。(目前绝大多数多元都是多个独立单元的组装,难点,有货可以搞,多重时间是输入和输出不同)

2.有用的模型

ARIMA(没用过)

XGBoost(不能用自身的历史数据)

LSTM(把自身历史数据作为特征时,精度很高)

CNN+LSTM+Attention(目前在搞,精度还可以,有点问题)

seq2seq,transformer(做了seq2seq,效果很差,没搞懂输入)

prophet(没用过,但听说好用)

3.遇到的问题和总结

经过测试,当模型比较简单的时候就可以很好拟合的话,再加东西就会导致复杂度增加,精度下降。

注意力机制适合用于前面模型欠拟合的时候,和数据量很大的时候。

4.下一步

看能不能搞到更多数据。

好好研究一下注意力机制。

尝试seq2seq,transformer,prophet做时序预测。

5.20220901更新

传统的统计学方法及机器学习方法可以在机理不太复杂的小数据集上表现很好。

若系统机理极其复杂,采用自变量加协变量的深度学习。但深度学习学习到的模型泛化能力并不强。

比较复杂的结构如seq2seq表现并不好。说明时序数据相比文本图像结构简单。