时间序列预测对不少公司来说是一个难题的创新?
2021-08-16
今年3月发布的时候用过,最近才想起来看...
首先,它是一个工业级的应用,在时间序列预测的模型上不是一个很大的创新。
我记得今年参加猫眼电影票房预测的内部分享时,我坐在一个外卖PM旁边。最后,对方问我有没有办法预测外卖的订单量。当时想了想,比如Holt- ,或者deep LSTM,好像没那么容易解释。
时间序列预测对大多数公司都有必要的需求,例如电子商务预测GMV,外卖O2O预测量波动以促进容量分配,酒店预测客房和夜间量以调整定价和销售等等。但总的来说,时间序列预测对很多公司来说都是一个难题。主要原因是时间序列预测本身除了是玄学(fog)之外,还需要分析师兼具深厚的专业领域知识()和时间序列建模的统计知识。此外,时间序列模型的调优也是一项相对复杂繁琐的工作。
就是这种背景下的产品。时间序列建模的一些常用流程和参数,用于让不懂统计学的业务分析人员能够快速构建出满足自己需求的相对实用的模型。
许多业务活动都有特定的时间依赖模式。作者以上述用户创建的“事件”()为例:
可以看到用户创建的事件数量具有明显的时间序列特征:多个周期性、趋势、假期效应和一些异常值。
然后作者使用了R包中的几种常用的时间序列预测技术(指数平滑等)来建模,效果很恐怖:
图1是,图2是指数平滑,图3是,图4是。
模型结构
本质是一个加法模型,基本形式如下:
哪里
这是一个趋势项目,
是句号stan概率编程工具,
这是一个节日项目,
是误差项,服从正态分布。
趋势模型
两个趋势模型用于
:饱和增长模型()和分段线性模型()。两种模型都包含不同程度的假设和一些调整平滑度的参数,并通过选择变化点来预测趋势变化()。具体推导不写,只写最终形式:
:
:
时期模型
使用傅里叶级数()建立周期模型:
N的调整起到了低通滤波(low-pass)的作用。笔者表示,对于年周期和周周期,分别选择N为10和3,效果更好。
假期和紧急情况模型
节假日需要用户提前指定stan概率编程工具,每个节假日包括前后几天。模型的形式如下(感觉像虚拟变量):
模型性能
还是用上面的例子,作者给出了模型拟合和预测能力:
似乎比之前用R做的效果好很多,而且不需要用户有很强的统计背景就可以轻松建模。
同时支持将模型分解为单独的组件,实现简单,只需要调用一行代码nts:
适用范围
显然,它只适用于具有明显内部规律(或模式)的商业行为数据。
虽然日常数据系列通常用于官方案例,但也支持更短的时间段,例如小时数据。
但是对于没有明显趋势和周期性的时间序列,预测是不合适的。比如有同学曾经预测沪深300...更不用说有效市场假说(EMH),它否定了历史数据拟合未来价格的可能性。即使市场有规律,也不能用一般模型简单地线性分解。进入趋势和周期。
我自己首先尝试根据内部历史数据对公司风险控制的潜在损失做一个简单的预测,但显然没有证据可以解释过去的序列特征(如风险集中度、外部环境影响、公司级合并等)会在2017年重演。所以充其量只是用来写周报,为2017年的风控预算做点小贡献...
总结
是一个比较好用的预测工具,特别适合像我这样持有ets和auto的人。他们懒得自动确定顺序和选择模型(逃……
对业务分析师非常友好,因为原理很简单,而且很容易上手R和。
通常可以给出很好的预测结果。比如我对某些业务条线的交易数据进行了预测,发现大部分都可以,“春节效应”等中国特色也能更准确。