“建个模型预测一下!”一听到要建模预测,很多同学都会菊花一紧。可以用来做预测模型很多,但是往往领导们喊着“建个模型”的时候,他丢给你的就孤零零的一行数,形如下图:
这咋办呀!你可能很想说:“就几个数,咱拍脑袋吧!”,这时候还会被领导批评。那死马当活马医的话,该咋整呢?
一、建模思路
建预测模型有两个基本思路:因果关系/时间序列
1、基于因果关系建模。比如预测一个用户是否消费,会把该用户性别、年龄、过往消费记录、喜欢什么商品、浏览过哪些网页等可能影响消费的因素视为X,将消费结果视为Y,之后利用数据计算出X与Y的公式。
2、基于时间序列建模。它把待预测的指标(销售额、用户数、出货量等)视为Y,把时间视为X,把待预测指标随着时间发展而变化的公式计算出来(形如y=ax+b,不过具体形式会更复杂)。
直观地看,两种思路需要的数据格式如下:
显然,在仅有一行数据的情况下,因果关系预测很难实现。并且一般这种只丢一行数据让预测的公司,一般数据基建也很稀烂,最多给个业绩=订单数*客单价,很少记录影响用户购买的原因。综上,在只有一列数的情况下,用时间序列法比较省事。
二、建模准备
时间序列法有3种基础形态(如下图所示):
根据不同的形态,可以选择不同的方法。因此在建模的时候,要先观察数据形态。比如开头的例子,显然同时有季节性+趋势性(如下图所示),因此可以用带趋势的季节回归来做。
三、建模过程
第一步:分别把代表趋势的自变量(t),代表季节的自变量Q1、Q2、Q3构造出来(如下图)因变量(Y)就是销售额。
第二步:利用回归模型,计算相关参数,这里直接用Excel的回归分析功能做。
第三步:观察结果,写出预测模型的公式。
第四步:代入下一年度的参数,得出预测数值。
这样就做完啦!如果领导想看,可以从回归分析的源头讲起,R平方的计算公式,参数估计原理,F检验与t检验。非数据出身的领导们一听这么多专业名词,对模型的幻想得到了一定程度的满足,也就能交差了。
四、模型扩展
Excel的回归分析默认是线性回归。但有可能X与Y之间不是线性关系,比如公司业务在高速增长阶段,随着时间发展,业绩越来越好,此时可能是多项式 or 对数关系。
因此在建模以前,可以先做散点图,检查下数据之间的关系。有趣的是,excel在添加趋势线的时候,可以直接选择拟合曲线,因此想偷懒的同学,完全可以直接如下图操作。
不过要注意的是:R平方并不是唯一判断标准,在拟合完走势后,还得关注:
1、是否拟合走势与原数据走势明显不相符
2、是否拟合走势某些点不合业务逻辑
3、是否拟合走势近期误差过大
要先做排除法,剔除这些明显有问题的。
如果剔除过后,依然有多个模型符合条件,可以计算每个模型拟合数据 VS 实际数据的均方差(MSE:Mean Squared Error),选一个均方差较小的模型来用。
当然,时间序列法还有平滑法以及平滑法的各种变体(holter & winter模型),还有ARIMA、LSTM等模型可用,等以后有机会再一一介绍。
小结
本质上看,时间序列法就是模拟过去的走势,然后按过去的走势推演。这种做法和我们用肉眼观察数据走势,拍脑袋拍个数值没有思路上的区别,仅仅是用公式替代了肉眼观察,增加了精确度而已。
不过,话说回来,做预测,本身就是“长袖善舞,多钱善贾”,数据越丰富,预测准确可能性越大。数据贫瘠,那也只能这样将就下。