作者:Marco Peixeiro


导读


理解滑动平均,指数平滑,平稳性,自相关性以及SARIMA等等。

自变量是时间戳如何做线性回归 时间序列自变量是什么_时间序列

无论我们希望预测金融市场的趋势还是电力消耗,时间都是我们模型中必须考虑的一个重要因素。例如,不仅要知道股票是不是会上涨,还要知道股票什么时候会上涨。

时间序列就是按时间顺序排列的一系列数据点。在时间序列中,时间通常是自变量,目标通常是对未来进行的预测。

然而,在处理时间序列时,其他方面也会发挥作用。

平稳的吗?

季节性吗?

目标变量是否自相关?

在这篇文章中,我将介绍时间序列的不同特征,以及我们如何对它们建模以获得(尽可能)准确的预测。

自相关

非正式地说,自相关是它们与它们的时间延迟构成的函数之间的相似性。

自变量是时间戳如何做线性回归 时间序列自变量是什么_方差_02


自相关图的例子


上面是一个自相关图的例子。仔细观察,你会发现第一个值和第24个值具有高度的自相关性。同样的,第12次和第36次观测高度相关。这意味着我们将在每24个单位时间内找到一个非常相似的值。

注意,这个图看起来像正弦函数。这是一个关于季节性的提示,你可以通过找到上面图中的周期找到它的值,是24h。

季节性

季节性是指周期性波动。例如,白天用电量高,晚上用电量低,圣诞节期间网上销售增长然后又变慢。

自变量是时间戳如何做线性回归 时间序列自变量是什么_建模_03


季节性的例子


正如你在上面看到的,有一个明确的日常季节性。每天傍晚,你都会看到一个高峰,最低点是每天的开始和结束。

记住,季节性也可以从自相关图中推导出来m如果它是正弦形状的。简单地看一下周期,它给出了季节的长度。

平稳性

平稳性是时间序列的一个重要特征。如果一个时间序列的统计性质不随时间变化,那么它就是平稳的。换句话说,它有恒定的均值和方差,协方差与时间无关。

自变量是时间戳如何做线性回归 时间序列自变量是什么_建模_03


平稳性的例子


再看一下同样的图,我们看到上面的过程是平稳的。均值和方差不随时间变化。

通常,股票价格不是一个平稳的过程,因为我们可能会看到一个增长的趋势,或者它的波动性可能会随着时间的推移而增加(这意味着方差在变化)。

理想情况下,我们希望有一个平稳时间序列进行建模。当然,不是所有的都是平稳的,但是我们可以做不同的变换使它们平稳。

如何测试一个过程是不是平稳的

你可能已经注意到了上面的图上的标题了,Dickey-Fuller。这是我们用来确定时间序列是否平稳的统计测试。

不涉及Dickey-Fuller检验的技术细节,它检验的是单位根存在的零假设。

如果存在,那么p > 0,这个过程不是平稳的。

否则,p = 0,拒绝原假设,认为过程是平稳的。

例如,下面的过程不是平稳的。注意均值是如何随时间变化的。

自变量是时间戳如何做线性回归 时间序列自变量是什么_自变量是时间戳如何做线性回归_05


非平稳过程的例子


时间序列建模

为了做出预测,有很多方法可以对时间序列进行建模。在这里,我将介绍:

  • 移动平均
  • 指数平滑法
  • ARIMA
移动平均

移动平均模型可能是时间序列建模中最朴素的方法。这个模型简单地说,下一个观测值是所有过去观测值的平均值。

虽然很简单,但这个模型可能非常好,它代表了一个良好的起点。

另外,移动平均可以用来识别数据中有趣的趋势。我们可以定义一个窗口来应用到移动平均模型上,来对时间序列进行平滑,并突出不同的趋势。

自变量是时间戳如何做线性回归 时间序列自变量是什么_自变量是时间戳如何做线性回归_06


在一个24h的时间窗口上的移动平均的例子


在上图中,我们将移动平均模型应用于一个24小时的窗口。绿线为平滑之后的时间序列,我们可以看到在24小时内有2个峰值。

当然,窗口越长,趋势就会越平稳。下面是一个较小窗口上的移动平均的例子。

自变量是时间戳如何做线性回归 时间序列自变量是什么_建模_07


在一个12h的时间窗口上的移动平均的例子


指数平滑

指数平滑法使用了与移动平均相似的逻辑,但是这一次,每个观测值都被赋予了不同的“递减权值”。换句话说,随着我们离现在越来越远,观察的重要性也越来越小。

数学上,指数平滑表示为:

自变量是时间戳如何做线性回归 时间序列自变量是什么_时间序列_08


指数平滑表达式

在这里,α是一个平滑因子,取值范围在0到1之间。它决定了在之前的观测中权重下降的速度。

自变量是时间戳如何做线性回归 时间序列自变量是什么_方差_09


指数平滑的例子

由上图可知,深蓝线表示时间序列的指数平滑,平滑因子为0.3,橙色线表示平滑因子为0.05。

如你所见,平滑因子越小,时间序列就越平滑。这是有意义的,因为当平滑因子趋于0时,我们接近移动平均模型。

双指数平滑

当时间序列中存在趋势时,采用双指数平滑法。在这种情况下,我们使用这种技术,它只是递归地使用了两次指数平滑。

数学式子:

自变量是时间戳如何做线性回归 时间序列自变量是什么_建模_10


双指数平滑的表达式

这里,β趋势平滑因子,取值范围在0到1之间。

下面,你可以看到α和β的不同值如何影响时间序列的形状。

自变量是时间戳如何做线性回归 时间序列自变量是什么_建模_11


双指数平滑的例子

三次指数平滑

该方法扩展了双指数平滑,增加了季节平滑因子。当然,如果你注意到时间序列中的季节性,这是很有用的。

数学上,三指数平滑表示为:

自变量是时间戳如何做线性回归 时间序列自变量是什么_自变量是时间戳如何做线性回归_12


三次指数平滑的表达式

式中γ为季节平滑因子,L为季节长度。

季节自回归积分移动平均模型(SARIMA)

SARIMA实际上是由简单模型组合而成的复杂模型,可以对具有非平稳特性和季节性的时间序列进行建模。

首先,我们得到自回归模型AR(p)。这基本上是对时间序列的回归。在这里,我们假设当前值依赖于它的前一个值,但有一定的延迟。它使用一个参数p表示最大延迟。为了找到它,我们查看局部自相关图,并确定大多数滞后不显著的滞后。

在下面的例子中,p等于4。

自变量是时间戳如何做线性回归 时间序列自变量是什么_建模_13


局部自相关图的例子

然后,我们加入移动平均模型MA(q)。这个参数q表示自相关图中其他滞后不显著的最大滞后。

下面,q等于4。

自变量是时间戳如何做线性回归 时间序列自变量是什么_方差_14


自相关图的例子

然后,我们添加积分阶I(d)。参数d表示使级数平稳所需的差分数。

最后,我们添加最后一个组件:季节性S(P, D, Q, S),其中S 只是季节的长度。此外,这个组件需要参数PQ,它们与pq相同,但是对于季节性组件。最后,D是季节整合的顺序,表示从序列中移除季节性所需的差异数量。

结合所有这些,我们得到SARIMA(p, d, q)(P, D, Q, s)模型。

由此得出的主要结论是,在使用SARIMA建模之前,我们必须对时间序列应用转换,以消除季节性和任何非平稳行为。


END—

自变量是时间戳如何做线性回归 时间序列自变量是什么_自变量是时间戳如何做线性回归_15