一直以来都在研究深度学习的东西,这几周重新拾起来时间序列进行研究,这次研究将是长期和专业的,我们将从学术的角度对问题进行剖析,同时接下来我会把所有实现的模型在论文完成之后开源所有代码,供大家参考。
update:
2019-02-20: 为大家推荐一个学习人工智能算法的好地方,奇异AI算法平台,海量人工智能算法每周更新,你不需要学,哪怕跑一跑都能学个八九不离十,里面的算法都是原创的:http://strangeai.pro
Preface
此前做了一篇文章,也是关于LSTM时间序列预测,经过将近半年的改变和进化,我再次提笔写下这篇关于时间序列的文章。算是和前文的一个对比把,也是近期对时间序列进行深度科研的一个开始。前端时间经历了深度学习从入门到放弃的漫长过程,在成长也在蜕变,经历了滴滴实习期间做图像相关工作再到最近摸索的自然语言处理,最后为了完成毕业论文而做的时序分析,所有的一切都在漫不经心的变化着。如果大家对我近期的NLP相关工作感兴趣可以star一下我近期开源的几个项目,其中有个作诗机器人大家应该会喜欢: GitHub 传送门.
闲话不多说,让我们直接开始这篇文章的正题。
Time Series
时间序列预测是一个很常见的问题,不同于传统方法,深度学习在时间序列预测上的有效性一直没有得到认可,我最近的工作就是要证明它,用深度学习的方法比传统方法好上千倍。
首先我们还是用上一篇文章使用的passenger数据来进行操作把。
上前后对比照先:
这次依旧是处理passenger数据,数据可以在我的原来的github repo中找到,新版本的额代码可能在稍后开源,开源设置自定义补长,你几乎不需要考虑输入数据问题,只要把原始数据喂入模型,新的代码可以自动处理,包括步长操作,分batch,甚至可以自定义是否归一化,分分钟可以对比归一化前后的差别。
贴个训练图片:
River Flow data
实际上我这次打算用这个数据集来说明问题:
"Month","Monthly riverflow in cms"
"1923-01",10.251
"1923-02",11.129
"1923-03",11.582
"1923-04",11.327
"1923-05",10.760
"1923-06",10.477
"1923-07",11.610
"1923-08",19.284
"1923-09",22.002
"1923-10",14.243
"1923-11",12.176
"1923-12",11.440
"1924-01",10.902
"1924-02",10.392
"1924-03",11.836
"1924-04",9.996
"1924-05",9.401
"1924-06",11.242
"1924-07",13.989
"1924-08",17.160
"1924-09",12.318
"1924-10",11.185
这是河流水流量随时间变化的序列,很明显这个跟时间有关,大家可以看看这个震荡多厉害:
但同时也可以看到,预测值也就是橙色的值,预测的非常好,因为这里我使用了深层的LSTM的进行预测。接下来会有更多模型调优的过程。
Future Work
由于整个项目还在进行之中,所以大家想一起交流时间序列研究的可以添加我的微信 : jintianiloveu
,我们有个讨论群,大家可以交流模型,看法,甚至可以延伸到文本领域进行扩展。
接下来我要做的工作将要对标几个数据集的精确度,做benchmark, 文本生成领域的VAE非监督模型我也将继承进来,论文完成之后所有代码都将开源给大家参考。