如何消除数据趋势:举例
“去除趋势”时间序列数据意味着消除数据中的潜在趋势。我们想要这样做的主要原因是更容易地可视化季节性或周期性数据的潜在趋势。
例如,考虑以下代表公司连续 20 个周期的总销售额的时间序列数据:
显然,销售额往往会随着时间的推移而增加,但数据似乎也存在周期性或季节性趋势,随着时间的推移出现的微小“山丘”就证明了这一点。
为了更好地了解这种周期性趋势,我们可以缩小数据。在这种情况下,这将涉及消除随时间推移的总体上升趋势,以便结果数据仅代表周期性趋势。
压缩时间序列数据有两种常用方法:
1. 差异化趋势
2. 模型拟合导致的退化
本教程提供了每种方法的简要说明。
方法一:微分松弛
消除时间序列数据趋势的一种方法是简单地创建一个新的数据集,其中每个观察值代表其自身与前一个观察值之间的差异。
例如,下图显示了如何使用微分来消除数据序列的趋势。
为了获得去趋势时间序列数据的第一个值,我们计算 13 – 8 = 5。然后,为了获得下一个值,我们计算 18-13 = 5,依此类推。
下图为原始时间序列数据:
这张图表显示了没有趋势的数据:
请注意,由于整体上升趋势已被删除,因此在此图表中查看时间序列数据的季节性趋势是多么容易。
方法2:通过模型拟合降级
对时间序列数据去趋势的另一种方法是对数据拟合回归模型,然后计算观测值与模型预测值之间的差异。
例如,假设我们有相同的数据集:
如果我们对数据拟合一个简单的线性回归模型,我们可以获得数据集中每个观测值的预测值。
然后我们可以找到每个观测值的实际值和预测值之间的差异。这些差异代表去趋势数据。
如果我们创建没有趋势的数据图表,我们可以更轻松地可视化数据的季节性或周期性趋势:
请注意,我们在本例中使用了线性回归,但如果数据中有更多的指数上升或下降趋势,则可以使用更复杂的方法,例如指数回归。