导读
理解滑动平均,指数平滑,平稳性,自相关性以及SARIMA等等。
无论我们希望预测金融市场的趋势还是电力消耗,时间都是我们模型中必须考虑的一个重要因素。例如,不仅要知道股票是不是会上涨,还要知道股票什么时候会上涨。
时间序列就是按时间顺序排列的一系列数据点。在时间序列中,时间通常是自变量,目标通常是对未来进行的预测。
然而,在处理时间序列时,其他方面也会发挥作用。
是平稳的吗?
有季节性吗?
目标变量是否自相关?
在这篇文章中,我将介绍时间序列的不同特征,以及我们如何对它们建模以获得(尽可能)准确的预测。
自相关
非正式地说,自相关是它们与它们的时间延迟构成的函数之间的相似性。
自相关图的例子
上面是一个自相关图的例子。仔细观察,你会发现第一个值和第24个值具有高度的自相关性。同样的,第12次和第36次观测高度相关。这意味着我们将在每24个单位时间内找到一个非常相似的值。
注意,这个图看起来像正弦函数。这是一个关于季节性的提示,你可以通过找到上面图中的周期找到它的值,是24h。
季节性
季节性是指周期性波动。例如,白天用电量高,晚上用电量低,圣诞节期间网上销售增长然后又变慢。
季节性的例子
正如你在上面看到的,有一个明确的日常季节性。每天傍晚,你都会看到一个高峰,最低点是每天的开始和结束。
记住,季节性也可以从自相关图中推导出来m如果它是正弦形状的。简单地看一下周期,它给出了季节的长度。
平稳性
平稳性是时间序列的一个重要特征。如果一个时间序列的统计性质不随时间变化,那么它就是平稳的。换句话说,它有恒定的均值和方差,协方差与时间无关。
平稳性的例子
再看一下同样的图,我们看到上面的过程是平稳的。均值和方差不随时间变化。
通常,股票价格不是一个平稳的过程,因为我们可能会看到一个增长的趋势,或者它的波动性可能会随着时间的推移而增加(这意味着方差在变化)。
理想情况下,我们希望有一个平稳时间序列进行建模。当然,不是所有的都是平稳的,但是我们可以做不同的变换使它们平稳。
如何测试一个过程是不是平稳的
你可能已经注意到了上面的图上的标题了,Dickey-Fuller。这是我们用来确定时间序列是否平稳的统计测试。
不涉及Dickey-Fuller检验的技术细节,它检验的是单位根存在的零假设。
如果存在,那么p > 0,这个过程不是平稳的。
否则,p = 0,拒绝原假设,认为过程是平稳的。
例如,下面的过程不是平稳的。注意均值是如何随时间变化的。
非平稳过程的例子
时间序列建模
为了做出预测,有很多方法可以对时间序列进行建模。在这里,我将介绍:
- 移动平均
- 指数平滑法
- ARIMA
移动平均
移动平均模型可能是时间序列建模中最朴素的方法。这个模型简单地说,下一个观测值是所有过去观测值的平均值。
虽然很简单,但这个模型可能非常好,它代表了一个良好的起点。
另外,移动平均可以用来识别数据中有趣的趋势。我们可以定义一个窗口来应用到移动平均模型上,来对时间序列进行平滑,并突出不同的趋势。
在一个24h的时间窗口上的移动平均的例子
在上图中,我们将移动平均模型应用于一个24小时的窗口。绿线为平滑之后的时间序列,我们可以看到在24小时内有2个峰值。
当然,窗口越长,趋势就会越平稳。下面是一个较小窗口上的移动平均的例子。
在一个12h的时间窗口上的移动平均的例子指数平滑
指数平滑法使用了与移动平均相似的逻辑,但是这一次,每个观测值都被赋予了不同的“递减权值”。换句话说,随着我们离现在越来越远,观察的重要性也越来越小。
数学上,指数平滑表示为:
指数平滑表达式
在这里,α是一个平滑因子,取值范围在0到1之间。它决定了在之前的观测中权重下降的速度。
指数平滑的例子
由上图可知,深蓝线表示时间序列的指数平滑,平滑因子为0.3,橙色线表示平滑因子为0.05。
如你所见,平滑因子越小,时间序列就越平滑。这是有意义的,因为当平滑因子趋于0时,我们接近移动平均模型。
双指数平滑
当时间序列中存在趋势时,采用双指数平滑法。在这种情况下,我们使用这种技术,它只是递归地使用了两次指数平滑。
数学式子:
双指数平滑的表达式
这里,β是趋势平滑因子,取值范围在0到1之间。
下面,你可以看到α和β的不同值如何影响时间序列的形状。
双指数平滑的例子
三次指数平滑
该方法扩展了双指数平滑,增加了季节平滑因子。当然,如果你注意到时间序列中的季节性,这是很有用的。
数学上,三指数平滑表示为:
三次指数平滑的表达式
式中γ为季节平滑因子,L为季节长度。
季节自回归积分移动平均模型(SARIMA)
SARIMA实际上是由简单模型组合而成的复杂模型,可以对具有非平稳特性和季节性的时间序列进行建模。
首先,我们得到自回归模型AR(p)。这基本上是对时间序列的回归。在这里,我们假设当前值依赖于它的前一个值,但有一定的延迟。它使用一个参数p表示最大延迟。为了找到它,我们查看局部自相关图,并确定大多数滞后不显著的滞后。
在下面的例子中,p等于4。
局部自相关图的例子
然后,我们加入移动平均模型MA(q)。这个参数q表示自相关图中其他滞后不显著的最大滞后。
下面,q等于4。
自相关图的例子
然后,我们添加积分阶I(d)。参数d表示使级数平稳所需的差分数。
最后,我们添加最后一个组件:季节性S(P, D, Q, S),其中S 只是季节的长度。此外,这个组件需要参数P和Q,它们与p和q相同,但是对于季节性组件。最后,D是季节整合的顺序,表示从序列中移除季节性所需的差异数量。
结合所有这些,我们得到SARIMA(p, d, q)(P, D, Q, s)模型。
由此得出的主要结论是,在使用SARIMA建模之前,我们必须对时间序列应用转换,以消除季节性和任何非平稳行为。
作者:Marco Peixeiro
编译:ronghuaiyang
英文原文:https://towardsdatascience.com/almost-everything-you-need-to-know-about-time-series-860241bdc578
本文为专栏文章,来自:AI公园,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/76089.html 。