判断序列的平稳性与纯随机性,随机趋势序列和确定趋势序列

  

  点击上方关注,All in AI中国   

  

  作者:Chris St. Jeor   

  

  一顿丰盛的外卖餐后,你心不在焉地打开了免费饼干盒。瞥了一眼里面的祝福卡,上面写着:“祝你梦想成真。”你笑着扔掉那张小纸片,然后把饼干放进嘴里。作为一个聪明理性的人,你知道这种梦想很难实现,因为没有人能预知未来。然而,这种想法并不总是正确的。有一种方法可以非常准确地预测未来:时间序列建模。   

  

  时间序列建模可能不会告诉你什么时候满足你对生活的热爱,或者你应该戴蓝色还是红色的领带去上班,但它非常善于利用历史数据来识别现有的模式,并用它来预测未来会发生什么。与大多数高级分析解决方案不同,时间序列建模是一种低成本的解决方案,可提供强大的洞察力。   

  

  下面将介绍建立优质时间序列模型的三个基本步骤:使数据稳定,选择正确的模型,评估模型的精度。本文中的示例使用了一家大型汽车营销公司的历史页面浏览数据。   

  

  步骤1:使数据平稳   

  

  时间序列包括使用以等间距时间增量(分钟、小时、天、周等)索引的数据。).由于时间序列数据的离散性,许多时间序列数据集中包含了季节性和/或趋势性元素。时间序列建模的第一步是考虑现有的季节(固定时间段内的重复模式)和/或趋势(数据的向上或向下移动)。考虑到这些嵌入模式,我们称之为固定数据。趋势和季节数据的例子见下图1和2。   

  

  图1上升趋势数据示例   

  

  图2季节性数据示例   

  

  什么是平稳性?   

  

  我们之前提到过,时间序列建模的第一步是消除数据中存在的趋势或季节的影响,使其平滑。我们一直在讨论术语“平稳性”,但它真正的含义是什么?   

  

  平稳序列是指其平均值不再是时间的函数的序列。对于趋势数据,序列的平均值要么随时间增加,要么随时间减少(想想房价随时间的稳步上升)。对于季节性数据,这一系列的平均值随季节而波动(例如,温度每24小时上升和下降一次)。   

  

  如何实现平稳性?   

  

  有两种方法可以达到平稳性,差分数据或线性回归。为了有所区别,你可以计算连续观测值之间的差异。要使用线性回归,您需要在模型中包含季节元素的二元指标变量。让我们先研究一下数据,然后再决定采用哪种方法。我们使用SAS可视化分析来绘制历史每日页面视图。   

  

  图3原始页面视图的时序图   

  

  原始模型似乎每七天重复一次,表明每周一个季节。随着时间的推移,页面浏览量的长期增长表明略有上升趋势。根据数据的一般概念,我们接着应用平稳性的统计检验,即扩展的Dickey-Fuller(ADF)检验。ADF检验是平稳性的单位根检验。这里就不赘述了,单位根表示序列是否非平稳,所以我们用这个检验来确定处理趋势或季节(差异或回归)的合适方法。基于上述数据的ADF检验,我们用一周回归哑变量的方法剔除七天季节,用数据微分的方法剔除趋势。获得的平稳性数据可以在下图中看到。   

  

  图4删除季节和趋势后的余额数据   

  

  步骤2:构建时间序列模型   

  

  现在数据稳定了,时间序列建模的第二步就是建立一个基准水平的预测。我们还应该注意到,大多数基本水平预测不需要第一步来平滑数据。这只适用于更高级的模型,如我们将讨论的ARIMA模型。   

  

  建立基准水平预测   

  

  时间序列模型有几种类型。为了建立一个可以准确预测未来页面浏览量(或任何您有兴趣预测的内容)的模型,您必须决定适合您的数据的模型类型。   

  

  最简单的选择是假设Y(你有兴趣预测的变量)的未来值等于Y的最新值,这被认为是最基本的,或者说是‘天真模式’,最近的观察是第二天最有可能的结果。   

  

  第二个模型是平均模型。在这个模型中,数据集中的所有观察值都具有相同的权重。y的未来预测计算为观察数据的平均值。如果数据是水平的,生成的预测可能非常准确,但如果数据是趋势性的或具有季节性成分,则它将提供非常差的预测。使用平均模型的页面视图数据的预测值如下所示。   

om/pic/img.php?k=判断序列的平稳性与纯随机性,随机趋势序列和确定趋势序列5.jpg">图5平均模型预测

  

如果数据具有季节性或趋势元素,则基准级模型的更好选择是实现指数平滑模型(ESM)。指数平滑模型(ESM)在上述天真模型(nave model)模型和平均模型之间找到了一种媒介,其中最近的观察被赋予了最大的权重,并且所有先前观察的权重以指数方式减少到过去。ESM还允许将季节性和/或趋势组件合并到模型中。下表提供了初始权重为0.7的示例,其以0.3的速率指数地下降。

  

表1过去观察Y的指数减小效应的例子

  

可以在时间序列预测中实现各种类型的ESM。使用的理想模型取决于你拥有的数据类型。下表根据数据中趋势和季节的组合,提供了使用何种类型ESM的快速指南。

  

表2 模型选择表

  

由于七天的强劲季节和数据的上升趋势,我们选择一个附加的冬季ESM作为新的基准水平模型。所产生的预测确实可以继续保持小幅上升趋势,并捕捉一周的季节。但是,数据中还有更多可以删除的模型。

  

图6 附加的Winters ESM预测

  

ARIMA建模

  

在确定最能反映数据趋势和季节的模型后,你最终会获得足够的信息来生成合适的预测,如图6所示。然而,这些模型仍然受到限制,因为它们没有考虑到感兴趣的变量在先前的时间段内与其自身的相关性。我们将这种相关性称为自相关,这在时间序列数据中很常见。如果数据具有自相关性(如我们所做的那样),那么可以进行额外的建模以进一步改进基线预测。

  

为了捕捉时间序列模型中自相关的影响,有必要实现自回归集成移动平均(或ARIMA)模型。ARIMA模型包括考虑季节和趋势的参数(比如使用一周中的虚拟变量和差异),但也允许包含自回归和/或移动平均项以处理数据中嵌入的自相关。通过使用适当的ARIMA模型,我们可以进一步提高页面视图预测的准确性,如下面的图所示。

  

图7季节性ARIMA模型预测

  

步骤3:评估模型的准确性

  

虽然你可以看到每个模型的精度得到提高,但直观地识别哪个模型具有最佳精度并不总是可靠的。计算MAPE(平均绝对百分误差)是一种快速简便的方法来比较所提出的模型的整体预测准确性,即MAPE越低,预测准确度越高。比较前面讨论的每个模型的MAPE,很容易看出季节性ARIMA模型提供了最佳的预测精度。请注意,还有其他几种类型的比较统计信息可用于模型比较。

  

表3模型错误率比较概要

  

总之,构建强大的时间序列预测模型的技巧是尽可能多地去除噪声(趋势、季节和自相关),以便数据中唯一未计算的剩余移动是纯随机性。对于我们的数据,我们发现具有一周中某一天的回归变量的季节性ARIMA模型提供了最准确的预测。与上述天真模型、平均模型和指数平滑模型相比,ARIMA模型预测更准确。

  

你可以使用多种类型的时间序列模型来帮助预测从页面浏览到能源销售的任何事情。准确预测你感兴趣的变量的关键是首先了解你的数据,然后应用最能满足你的数据需求的模型。

  

相关文章