与大多数高级分析解决方案不一样,时间序列建模是一种低成本解决方案,可提供强大的洞察力。函数
本文将介绍构建质量时间序列模型的三个基本步骤:使数据静止不动,选择正确的模型并评估模型的准确性。这篇文章中的例子使用了一家主要汽车营销公司的历史页面浏览数据。测试
时间序列涉及使用按时间间隔(分钟,小时,天,周等)进行索引的数据。因为时间序列数据的离散性质,许多时间序列数据集都在数据中嵌入了季节和/或趋势元素。时间序列建模的第一步是考虑现有季节(固定时间段内的重复模式)和/或趋势(数据中的向上或向下移动)。考虑到这些嵌入式模式,咱们称之为数据固定。下面的图1和图2能够看出趋势和季节数据的例子。spa
图1:向上趋势数据示例3d
图2:季节数据示例blog
正如咱们前面提到的,时间序列建模的第一步是消除数据中存在的趋势或季节的影响,以使其静止不动。咱们一直在抛弃术语平稳性,但究竟意味着什么?索引
一个固定的系列就是这个系列的平均值再也不是时间的函数。有了趋势数据,随着时间的增长,该系列的平均值会随着时间的推移而增长或减小(想一想随着时间的推移,房价会持续上涨)。对于季节性数据,系列的平均值会根据季节波动(考虑每24小时的温度增减)。rem
有两种方法可用于实现平稳性,差别数据或线性回归。为了有所做为,您能够计算连续观察值之间的差别。要使用线性回归,能够在模型中包含季节性组件的二元指示符变量。在咱们决定应用哪些方法以前,让咱们来探索一下咱们的数据。咱们使用SAS Visual Analytics绘制历史平常页面浏览量。get
图3:原始页面视图的时间序列图it
最初的模式彷佛每七天重复一次,代表每周的季节。随着时间的推移浏览页面数量的持续增加代表存在略微上升的趋势。随着数据的整体思路,咱们应用了平稳性统计检验,加强型Dickey-Fuller(ADF)检验。ADF测试是平稳性的单位根检验。咱们在这里不会涉及细节,可是单位根代表系列是不是非平稳的,因此咱们使用这个测试来肯定处理趋势或季节(差别或回归)的适当方法。基于上述数据的ADF测试,咱们经过在一周中的某天回归虚拟变量来移除七天的季节,并经过区分数据来消除趋势。由此产生的固定数据能够在下图中看到。class
图4:删除季节和趋势后的固定数据
第2步:创建您的时间序列模型
如今数据是平稳的,时间序列建模的第二步是创建一个基准水平预测。咱们还应该注意到,大多数基准级预测不须要将数据固定的第一步。这仅仅是更高级的模型所须要的,好比咱们将要讨论的ARIMA建模。
有几种类型的时间序列模型。要创建一个能够准确预测将来页面浏览量的模型(或者您对预测感兴趣的任何内容),有必要肯定适合您数据的模型类型。
最简单的选择是假定y的将来值(您对预测感兴趣的变量)等于y的最新值。这被认为是最基本的或“天真的模式”,其中最近的观察是明天最可能的结果。
第二种类型的模型是平均模型。在这个模型中,数据集中的全部观察值都被赋予相同的权重。y的将来预测以观测数据的平均值计算。若是数据是水平的,所产生的预测可能至关准确,但若是数据趋势化或具备季节性组成部分,则会提供很是差的预测。下面能够看到使用平均模型的页面查看数据的预测值。
图5:平均(平均)模型预测
若是数据具备季节性或趋势元素,那么对于基准级模型来讲,更好的选择是实施指数平滑模型(ESM)。ESM在上述天真模型和平均模型之间找到了一个愉快的媒介,其中最近的观测被赋予了最大的权重,而且以前全部观测的权重都呈指数级降低到过去。ESM还容许将季节性和/或趋势份量归入模型。下表提供了初始权重0.7以0.3的比率呈指数降低的例子。
意见重量(α= 0.7)
Yt(目前的观察)0.7
YT-10.21
YT-20.063
YT-30.0189
YT-40.00567
表1:过去观察Y的指数降低效应的例子。
在时间序列预测中能够实施各类类型的ESM。使用的理想模型将取决于您拥有的数据类型。下表根据数据中的趋势和季节组合提供了使用何种类型的ESM的快速指南。
指数平滑模型的类型趋势季节
简单的ESM
线性ESMX
季节性ESMX
Winters ESMXX
表2:模型选择表
因为七天的强劲季节和数据的上升趋势,咱们选择了一个冬季增温ESM做为新的基准水平模型。所产生的预测作了一个体面的工做,继续轻微的上升趋势并捕捉七天的季节。可是,数据中还有更多能够删除的模式。
图6:冬季添加剂ESM预测
在肯定了最能说明数据趋势和季节的模型后,您最终将得到足够的信息来生成一个体面的预测,如上面的图2所示。然而,这些模型仍然存在局限性,由于它们没有考虑到在过去一段时间内利益变量与自身的相关性。咱们将这种相关性称为自相关,它一般在时间序列数据中找到。若是数据与咱们的数据具备自相关性,那么可能会进行额外的建模,以进一步改进基线预测。
为了捕获时间序列模型中自相关的影响,有必要实施自回归整合移动平均(或ARIMA)模型。ARIMA模型包含了考虑季节和趋势的参数(例如使用虚拟变量来表示一周中的天数和差别),还容许包含自回归和/或移动平均项来处理数据中嵌入的自相关。经过使用适当的ARIMA模型,咱们能够进一步提升页面浏览量预测的准确性,如图3所示。
图7:季节性ARIMA模型预测
第3步:评估模型的准确性
虽然您能够看到提供的每一个模型的精度都有所提升,但从视觉上肯定哪一个模型具备最佳精度并不老是可靠的。计算MAPE(平均绝对偏差百分比)是一种快速简便的方法,能够比较所提出模型的整体预测精度 - MAPE越低预测精度越好。比较先前讨论的每一个模型的MAPE,很容易看出季节性ARIMA模型提供了最佳的预测精度。请注意,还有其余几种可用于模型比较的比较统计信息。
模型错误验证
模型MAPE
幼稚9
意思10.2
Winters ESM6.9
季节性ARIMA4.4
表3:模型错误率比较
总而言之,构建一个强大的时间序列预测模型的诀窍是尽量多地消除噪音(趋势,季节和自相关),以便数据中惟一剩下的运动是纯粹的随机性。对于咱们的数据,咱们发现具备回归变量的季节ARIMA模型提供了最准确的预测。与上面提到的天真,平均和ESM模型相比,ARIMA模型预测更准确。