时间序列预测可以称得上是一个及其普遍的一个算法问题,解决的方法也比较成熟,你可能第一时间想到的就是AR模型,以及各种自回归模型。然后xgboost似乎也能做时序问题,只是将原有的问题当成回归问题即可,某种意义上可解释性也能够得到一定的满足。再然后就是GRU、LSTM这类循环神经网络,借鉴自NLP中使用深度模型来解决时序预测问题。除了以上的这类方法,你还能知道那些方法吗?接下来的这个系列一定能让你受益匪浅。
时序问题的分类
看起来时序问题就是把历史的序列放到模型中,然后模型根据学习到的趋势来预测接下来应该的变化,时序问题有着比较详细的分类。先说比较大众的分类方法。
步分类
这种分类方法是按预测步长区分,可以分为单步预测和多步预测,简单来说就是一次预测未来一个时间单元还是一次预测未来多个时间单元的区别。
输入变量分类
这种分类方法是根据输入来划分的,例如预测销量预测时候,如果你只使用历史销量的变化数据,那么就是自回归预测,如果你想接受天气、节日等其他相关变量,则称为使用协变量进行预测。
输出结果分类
按输出结果区分,可以分为点预测和概率预测,很多模型只提供了点预测而不提供概率预测。点预测是指预测接下一个时间片的真实值,如果是概率预测,实际上是输出接下来一个时间片输出值的一个概率分布,其实在实际的场景中也是比较常会用的。
目标个数区分
按照目标个数区分可以分为一元、多元和多重时间序列预测。举个例子,使用历史的销售量预测未来1天的销售量为一元时间序列预测,使用历史的进店人数、销售量、退货量预测未来1天的进店人数、销售量、退货量(预测目标有三个)为多元时间序列预测。使用历史的红烧牛肉面、酸菜牛肉面、海鲜面的销售量预测未来1天的红烧牛肉面、酸菜牛肉面、海鲜面的销售量(预测目标有三种)为多重时间序列预测。
通过上面的描述,大致把整个时序模型的分类都讲清楚啦,接下来咱们来一个概述,先看看时序问题中还有那些比较异常的问题需要特殊注意,以及相关一些方法都有哪些?
时序模型的几类典型问题
对于时序模型的使用场景一般分为以下的大类,每一类的模型选型都不太一样,这里就要看你知识面的广度啦。你会发现我都没有提LSTM这类模型,期望拓宽你的知识面。
大规模时序联合建模
这类问题主要有两个问题,
一个是大规模时序问题如何保障模型性能,提升模型构建和运行的速度。
新的时序持续出现,如何在数据不足的情况下进行预测
面对这样的问题,一般模型的选型是DeepAR,N-BETAS、LSTNet、FFN(feed forward neural network)、NP/ANP、BiDA、LightGBM/xgboost、TCN
多元混合复杂时序建模
这类时序问题一般面临的问题是协变量与外生因子对提升预测性能非常重要,如何有效的处理这类信息。
这类问题一般的模型选型是LSTNet、FFN、TCN、DeepFactor、DeepVar、LassoCV、NPPS
概率预测能力
时序预测问题往往存在数据的信噪比低,内在规律复杂,如何刻画不确定性等问题。
这类问题一般模型的选型是DeepAR、AP/ANP、DeepFactor、DeepState、DeepVar、Prophet、NPPS。
异步事件序列建模
这类问题一般是多维度异步事件,如用户行为、故障日志等。相互影响并在连续时间域上呈现负载的动态规律,如何有效的建模此类重要问题。
这类问题一般模型选型有NPPS(Neural point processes)。
可解释性建模
在长周期的时序问题上,往往需要对预测结果有可解释性,那么这类问题的关键就是可解释性的问题。
这类问题的模型选型有N-BETAS、LightGBM/xgboost、Prophet
总而言之
面对上面这一系列的问题,你可能会有一些手足无措,没有关系,在后面的博文中会一一的解释每个模型,相信读到这里你已经对时序预测有了一个更加全面的认知啦,别遇到问题就是自回归啦。
标签:预测,--,简介,模型,时序,问题,选型,序列 From: https://www.cnblogs.com/java-six/p/17347947.html