前言
有幸接触这个有趣的领域,也在最近和很多这个领域的大牛有了一些浅度的交流,真切的感觉到这个领域的缺乏和重要性,这个领域在我看来,商业价值大,有前途,但难度大,不过有趣。
接下来的一段时间,我的写作基本都是围绕这个领域来写的,很多baseline,应用,paper reading。希望自己能够尽快积累、迸发、进步、完成这个自己想写的第二个专栏,因为现在整个网络上还没有这个领域的唯一一个系列文章, 不是想多么的成为领路人,只是想和大家一同学习,共同进步。以下都是博主的个人拙见,请您给予建议。
一、什么是时间序列?一般用到哪些模型?
和时间有关?如果对于时常竞赛的朋友,玩结构化数据的朋友来说,肯定会首先想到时间序列的一维数据的预测问题,主要围绕于预测的问题来展开,主要是针对时间的问题做一些回归等问题,常见的问题比如天池新人实战赛o2o优惠券使用预测,这是一个天池的练手赛,也就是新人赛,让你在打比赛之前搞一搞的,和kaggle的房屋预测一个意思,有兴趣的朋友可以去看看。
说到这里又勾起了我一个回忆,大概是2017年的冬天,有一天突然想搞搞竞赛,正好是北大的wepon大佬的这个天池o2o比赛的直播,我点了进去,顺便也把他github的top1的solution给学习了,第一次知道时间序列的魅力,比如数据集的滑窗划分,这个就很有趣了,但是很多竞赛的朋友都是时间回归题的ab榜单会很抖,确实抖,不提这些伤心的事情了。
以上就是我摘取kaggle上的一个时间序列预测的可视化图。再来还有一些时间序列分类的问题, 比如故障诊断,通过过去时间的一些数据来判断此时机器的工作状态,可以看作是个回归问题,也可以当作分类问题来处理,但本质最后想得到的依然还是个分类问题,记得前段时间没事逛知乎看到王大佬的深度迁移学习用在时间序列分类的问题上,还有前几天没事逛github看到又info_GAN应该是GAN在时间序列上的应用稍微瞄了两眼,有时间肯定学掉。
这些都算是时间序列上的问题。
总结一下,时间序列主要是通过时间的前后顺序去做回归或者分类问题,数据的主要特点是一维表格化数据,数据的有一列是明确的时间量,目前遇到两类时间量,一种是大块时间,比如一个月或者一天作为一个时间点,之后一堆数据,另一种更为常见,我个人也感觉是更为恰当的形式,就是每一分钟或者,每一个小时会有一个数据。(用我的话就是,时间大块序列问题和时间点序列问题,哈哈哈,瞎起的)
对于一维的时间序列问题,无非是和数据挖掘、机器学习完全一致,只是一些操作不一致,比如验证方式以及训练集测试集的划分。其他依然是四步走,EDA 特征工程 模型构建 集成 这个步骤,估计打过比赛,玩过数据挖掘的基本都知道这个套路,具体不赘述了,比赛的东西换另外一个专栏来讲。
时间序列主要用到的模型,传统的有马尔可夫链以及ARMRA模型,但是这些在比赛中可以说不是哥哥级别,所以基本上不会用,我个人也没学,一般能涉及的就是lstm构建,gru构建,seq2seq模型之后三个巨头catboost、xgboost、lightgbm。如果想学很多传统的知识可以看kaggle的这个链接,讲的极其全面,如果想了解其他的东西,建议冲个比赛美滋滋。
二、 什么是时空序列问题
时间序列和时空序列时常有朋友搞混,并且很多朋友都以为我只感兴趣时间序列问题,其实不然,时空序列问题包含了时间和空间两个方面的因素。这里时间其实指的就是前后的序列,这里空间也指向图片上的目标以及目标的移动和变化的空间信息,也指存在表格化数据中存在gps数据或者x、y或者经纬度的空间信息。这里我已经引出了时空序列问题的两种形态。
1.表格化数据2.图片数据
2.1 表格化数据
表格化数据一般带有的特质就是数据中带有两个量,时间和地点的值,地点主要是经纬度。比如下面这样,当然这个数据不是只有这些,还有时间等特征,不过太大了,这里就不截取了。
所以为什么说是时空序列问题??首先有时间的前后推移和联系,也有空间上的起点和终点的坐标的变化,所以有时间的变化和联系也有空间上的,所以是时空序列问题
2.2 图片数据
其实表格化时空序列问题说实话我接触不多,还在学习中,大家多包涵,我涉猎的主要是图片数据。这个问题说实话严格来说依然算是CV问题,但对于不同场景也可看做大数据和数据挖掘问题。因为数据量确实大,我一直为这个显存而烦恼。
举个例子,比如这个序列输入为5个序列,一般都是雷达回波图或者卫星图,卫星图是1999乘1999,但一般都resize成330乘330,或者512乘512,那就是一个序列为5乘512乘512乘1,那一个bachsize大小就是1310720个数据,所以对于我这种穷苦的人一般bachsize都设为4就算很多了。
一般为图片数据和序列大家肯定会问具体眼睛看到啥样的,这里直接把最easy的数据集拿出来给大家看,也就是mnist-moving数据集
最上面十个为输入序列,下面为输出序列,在下面都是各种模型所预测的对比结果。在这个数据集上,可以看到为什么叫时空序列问题,因为有数字的运动信息和本身数字的像素结构信息,还有序列的前后推移和联系,所以也是时空序列问题。
2.3 时空序列模型
常用的有施行建博士的 ConvLSTM, 轨迹GRU 等等,以及利用上Unet-attention的时空序列模型,以及近年来的predrnn序列等等,虽然这个方向很少人研究,但是依然还是有很多力作持续输出。对于时空序列模型,这里说两个这个领域的大牛。
施行建博士。港中文大学。主要研究的方向是时空序列问题,时间维度为主,并且降水预测的应用。以下截取了施博士2015年发的一篇很有基石效果的paper中的截图
郑宇。JD的副总裁。主要研究时空序列数据挖掘,空间维度为主,并且用在traffic flow上的应用。主页:http://urban-computing.com/yuzheng 来感受一下大佬2019年的一点小工作。(看了这个,感觉我太难了)
2.4 应用的领域
毋庸置疑在智慧交通上是有巨大的作用和应用的,在台风预测、降水预测都有一定的应用价值,因为台风和降水这些都可以用雷达回波图或者卫星图来表示 ,通过对于这些图片序列进行预测来进行应用,所说的应用价值和场景有直接关系,比如台风和降水都是和我们直接相关或者人身安全和财产直接相关的,这对于个人、公司乃至城市、国家都有很强的价值,但是由于范围越大,越难预测,时间越长越难预测,所以这条路确实还是很难走,并且效果不容忍耐。这条路还很长还需要不停的摸索和努力。
三、总结
通过一次偶然的机会,看到一位正在这个领域努力的大佬用四句五个字来概括了这个领域的整体问题。
空间不变性
空间可变性
时间不变性
时间可变性
是展望也是总结!非常好。