时间序列预测法就是通过编制和分析时间序列,根据时间序列所反映出来的发展过程、方向和趋势,进行类推或延伸,借以预测下一段时间或以后若干年内可能达到的水平。
本次操作案例的时间序列预测的工作流如下:
1. 商业目标
业务理解:该案例所用的数据是《销售数据.csv》,该数据包含销售日期、销量和利润(万元)三个指标,如下:
业务目标:建立预测分析系统,分析利润在未来的预测值。
数据挖掘目标:建立时间序列预测模型,该模型以日期为输入,以利润为目标,建立预测模型。
2.数据理解
使用节点计算字段的特征统计量,输出结果如下:
3.分布趋势分析
分析时间序列趋势是时间序列建模的初步工作。目的是为了分析时间序列的规律和序列特征,如序列是否平稳?是否有周期性或者趋势性?并由此分析哪些分析模型更适合。
操作如下:
第一步,使用类型转换节点将字符型的日期型转化为日期型。节点配置如下:
第二步,使用时间选择节点选择选择85年 - 95年的数据的进行分析。数据如下:
第三步,设置时间区间,节点配置如下:
第四步,使用时序图节点分析序列的趋势,节点配置如下:
从下图可以看出,序列整体呈下降趋势,没有明显的周期性。
4.简单序列预测
工作流如下:
接下来,我们选择一个简单的移动平均预测算法进行预测。步骤如下:
第一步,使用时间区间节点设置时间区间为“月”, 汇总配置中按照月对数据进行汇总,配置如下:
该节点执行前数据预览如下:
执行后数据预览如下:
第二步,使用移动平均节点进行移动平均计算。节点配置如下:
执行后预览数据如下:
第三步,使用派生字段节点计算残差,节点配置如下:
第四步,使用时序图节点可视化预测结果。节点配置如下:
如上图所示,移动平均算法对该时间序列的趋势有一定预测能力,该模型也总结一些规律,但是尚有一些规律并未总结出。这是一个趋势性非平稳序列,您还可以考虑使用指数平滑模型、arima模型、残差自回归模型等重新建模。
5.重新建模
使用节点数据直接进行重新建模。
第一步:使用类型节点制定角色。配置如下:
本次建模选用指数平滑模型,配置如下:
执行结果如下,得到时间散点图和预测数据:
小结
时间序列分析是数据挖掘最难的算法之一。当然它也有一个好处,就是建模之前的数据量一般都很小,一般只有几十条到几百条记录(如果您的预测粒度是月,那么每年才12条数据,10年才120条),因此模型计算很快。