现实生活中,很多数据呈现季节性特征。一个最简单的案例就是羽绒服在“冬季”销售量明显高于“夏季”。所以羽绒服售卖月份与售卖数量的模型就呈现季节性。
在对于季节性的研究中,最终目的为能够进行准确的预估。本文将阐述相关方法,相关判定准确性条件等。
季节性模型
首先,可以直观的观察一下季节性模型数据呈现的波动曲线:
上图中,图1呈现的是具有趋势的模型数据;图2呈现的是具有循环趋势的数据;图3呈现的是季节性数据曲线;而图4呈现的是同时具有季节性以及趋势的波动曲线。
五种判定预测的方案
通过判定方案,判断我们的预测是否合理,预测模型是否可行。
误差 Bias
上式中, 代表实际值, 代表预测值, 代表误差,即实际值与预测值的差值。
需要注意的是,
绝对误差 MAD - Mean Absolute Deviation
绝对误差的平均值。与
均方误差 MSE - Mean Square Error
误差平方的平均值。均方误差与方差的区别在于:
均方误差计算的是各个数据偏离真实值的平方和;
而方差则是计算各个数据与平均值的之差的平方和。
标准差 Standard Error
标准差为方差的平方根,在本模型中,可为均方误差的平方根,即:
平均误差百分比 MAPE - Mean Absolute Percentage Error
平均误差百分比,拆开来理解,首先计算的是绝对误差占真实值的比例,该比例的和的平均值即为MAPE。
五种预测方案
Naïve 朴素法
“昨天多少今天我就预测是多少”。
n-period Moving Average 平均值法
假设 ,“我根据前三天的结果预估今天的结果”。
n-period Weight Moving Average 权重平均值法
假设n=3,而且“我觉得第二天的结果比第一天重要,第一天结果比第三天重要!”
假设
Simple Exponential smoothing 平滑法
“今天的预估与昨天的实际值以及昨天的预估有关!”
第五种预测方案:去季节化
去季节化方案,Deaseasonalized,该方案与前几种不同的在于,他试图找到数据之间的规律与趋势,通过趋势与重新季节化得到一个合理的预测结果。
所以我们使用 “去季节化” 这种方案的准确步骤为:去季节化->预测->季节化
所以我们如果想要通过该方法预测数据,则我们需要得到 ,即季节化模型。
下面我们通过一个案例来得到 Seasonal~Index 以及去季节化
该表含义为2019年上半年,有113个订单,下半年有236个订单…可以很明显的发现上半年的订单明显低于下半年的订单,而且2019年到2020年到2021年存在某种趋势。
计算得到每年销售订单的平均值:
得到Seasonalize Index
进行去季节化
通过python绘图,我们发现我们成功的将季节化的影响去除,从而清晰的看出订单在2019、2020到2021年的波动曲线(蓝色部分):红色部分为去季节化前的波动曲线。