时间序列分解总结 您所在的位置:网站首页 时间序列加法模型分解 时间序列分解总结

时间序列分解总结

2024-06-02 13:11| 来源: 网络整理| 查看: 265

时间序列分解总结 时间序列分解时间序列成分电子设备生产季节调整数据 移动平均平滑移动平均移动平均的移动平均加权移动平均法 经典时间序列分解加法分解乘法分解经典时间序列分解法评价 X11 分解法SEATS 分解法STL 分解法趋势性和季节性的程度测定分解法预测

https://otexts.com/fppcn/ 第六章内容

时间序列分解

时间序列数据通常有很多种潜在模式,因此一种有效的处理时间序列的方式是将其分解为多个成分,其中每个成分都对应某一种基础模式。

三种基础的时间序列模式:趋势性,季节性和周期性。当我们想要把时间序列分解为多个成分时,我们通常将趋势和周期组合为“趋势-周期”项(有时也简单称其为趋势项)。因此,我们认为时间序列包括三个成分:趋势-周期项,季节项和残差项(残差项包含时间序列中其它所有信息)。

在本章中,我们主要介绍从时间序列中提取成分的常用方法,进而更好的理解时间序列的特点,并以此提高时间序列的预测精度。

时间序列成分

假设一条时间序列是由多种成分相加得来,那么它可以写为如下形式:

y t = S t + T t + R t y_t = S_t+T_t+R_t yt​=St​+Tt​+Rt​

在上式中 y t y_t yt​表示时间序列数据, S t S_t St​表示季节项, T t T_t Tt​表示趋势-周期项, T t T_t Tt​表示残差项。此外,时间序列也可以写成相乘的形式: y t = S t ∗ T t ∗ R t y_t = S_t * T_t *R_t yt​=St​∗Tt​∗Rt​ 如果季节性波动的幅度或者趋势周期项的波动不随时间序列水平的变化而变化,那么加法模型是最为合适的。当季节项或趋势周期项的变化与时间序列的水平成比例时,则乘法模型更为合适。在经济时间序列中,乘法模型较为常用。

使用乘法分解的一种替代方法是:首先对数据进行变换,直到时间序列随时间的波动趋于稳定,然后再使用加法分解。显然,采用对数变换的加法模型,等价于乘法模型: y t = S t ∗ T t ∗ R t y_t = S_t * T_t *R_t yt​=St​∗Tt​∗Rt​ 等价于 l o g y t = l o g S t + l o g T t + l o g R t logy_t = logS_t + logT_t +logR_t logyt​=logSt​+logTt​+logRt​

电子设备生产

在本章中我们将会讲到获取时间序列成分 S t S_t St​, T t T_t Tt​和 R t R_t Rt​的几种方法,但是在此之前,我们先来看一个例子。我们将分解如图所示的电子设备新订单数量时间序列。数据显示了欧元区(16个国家)的电子设备(计算机、电子和光学产品)的新订单数量。数据已通过工作日调整并进行了正态化处理,使得100的值对应于2005。

在这里插入图片描述

电子设备订单量:趋势-周期成分(红色)和原始数据(灰色)。

如图中的红色线表示趋势周期项 T t T_t Tt​,灰色线表示原始数据 y t y_t yt​。趋势周期项展示了序列的整体动态,忽略了季节性变动和其它随机波动。

下图展示了本条时间序列的加法分解。本例中运用了STL方法来估计时间序列的成分,我们将在后续章节中详细讲解STL方法。

在这里插入图片描述

电气设备订单(上)及其三个可加成分。

图中的底部三栏分别为三种成分,将三种成分加和之后可以得到图中顶部的时间序列。从图中可以看出,季节项随时间变化非常缓慢,因此任意相邻的两年有着非常相似的模式,但是相隔很远的年份可能会有不同的季节性模式。第二栏所示的残差项是时间序列数据中减去季节项和趋势周期项所剩下的部分。

每一栏右侧的灰柱表示了各个成分的相对大小。四个灰柱表示相同的大小,但是因为每个图的尺度不同,灰柱的大小也会不同。第二栏的灰柱较大,它表示残差项的变化相比于原数据的波动变化较小,大约为其四分之一的大小。如果我们缩小底部三栏的大小直到他们的灰柱大小与顶部灰柱的大小相同,那么这四个图的尺度都会是相同的。

季节调整数据

如果将季节项从原始数据中剔除,可以得到经过“季节调整”后的数据。对于加法分解,季节调整数据的表达式为: y t − S t y_t-S_t yt​−St​,对于乘法分解,季节调整数据可由 y t / S t y_t/S_t yt​/St​获得。

下图展示了季节调整后的电子设备订单数据。 在这里插入图片描述

季节调整后的电子设备订单数(蓝色)及原始数据(灰色)。

如果我们关心的不是季节性的数据波动,那么季节调整后的时间序列就会十分有用。例如,每月的失业率会受到季节性因素的影响,在学生离校的时期,当月失业率会显著上升,但这种失业率并不是由于经济衰退而导致的。因此,当研究经济和失业率的关系时,应该将失业率进行季节调整。大多数研究实业数据的经济分析学者对非季节性变化更感兴趣。因此,就业数据(和很多其他的经济数据)通常会经过季节调整。

经过季节调整后的时间序列既包含残差项也包含趋势周期项。因此,它们不太“平滑”,其“下转折”和“上转折”可能会有误导性。如果我们的目的是找到序列的转折点并解释方向的变化,那么相比于用季节调整后的数据,用趋势-周期项会更合适。

移动平均

时间序列分解的经典方法起源于20世纪20年代,直到20世纪50年代才被广泛使用。它仍然是许多时间序列分解方法的基础,因此了解它的原理十分重要。传统的时间序列分解方法的第一步是用移动平均的方法估计趋势-周期项,因此我们先来讨论一下移动平均。

平滑移动平均

m m m阶移动平均可以被写为:

T ^ t = 1 m ∑ j = − k k y t + j \hat{T}_t=\frac{1}{m}\sum_{j=-k}^{k}{y_{t+j}} T^t​=m1​j=−k∑k​yt+j​

其中 m = 2 k + 1 m=2k+1 m=2k+1。也就是说,时间点 t t t的趋势-周期项的估计值是通过求 t t t时刻的 k k k周期内的平均得到的。时间邻近的情况下,观测值也很可能接近。由此,平均值消除了数据中的一些随机性,从而我们可以得到较为平滑的趋势周期项。我们称它为 “m-MA”,也就是 m m m阶移动平均。

移动平均的阶数决定了趋势-周期项的平滑程度。一般情况下,阶数越大曲线越平滑。简单移动平均的阶数常常是奇数阶(例如:3,5,7等),这样可以确保对称性。

移动平均的移动平均

我们可以对移动平均序列计算它的移动平均,这样变可使偶数阶移动平均具备对称性。

对偶数阶(例如4阶)移动平均后的序列进行2-MA,称其为:“4阶中心移动平均”。这是因为这样处理后的结果是对称的。可见它现在是对称观测值的加权平均值。

移动平均的其他组合也是可行的。例如, 3x3-MA也很常用,它是指进行3阶移动平均后再进行一次3阶移动平均。一般来讲,进行偶数阶的移动平均后应该再进行一个偶数阶移动平均使其对称。相似地,奇数阶的移动平均后应该再进行一个奇数阶移动平均。

加权移动平均法

简单移动平均的组合可以生成加权移动平均。例如上文所探讨的2x4-MA 等价于加权5-MA, 其权重为: [ 1 / 8 , 1 / 4 , 1 / 4 , 1 / 4 , 1 / 8 ] [1/8,1/4,1/4,1/4,1/8] [1/8,1/4,1/4,1/4,1/8]一般来讲,加权 m-MA 可以写为: T ^ t = ∑ j = − k k a j y t + j \hat{T}_t=\sum_{j=-k}^{k}{a_jy_{t+j}} T^t​=j=−k∑k​aj​yt+j​

在上式中 k = ( m − 1 ) / 2 k=(m-1)/2 k=(m−1)/2,其权重为: [ a − k , … , a k ] [a_{-k},\dots,a_k] [a−k​,…,ak​]。 非常重要的一点是所选择的各期权重之和为1,并且它们是对称的,即 a − k = a k a_{-k}=a_k a−k​=ak​。 m -MA 中的权重均为 1 / m 1/m 1/m是一个简单的特例。

加权移动平均法的一大优势是它可以让趋势周期项的估计更平滑。观测值不是直接完全进入或离开计算,它们的权重缓步增加,然后缓步下降,让曲线更加平滑。

经典时间序列分解

经典时间序列分解法起源于20世纪20年代。它的步骤相对简单,它是很多其他的时间序列分解法的基石。有两种经典时间序列分解法:加法分解和乘法分解。下面将描述一个季节周期为m的时间序列(例: m=4 的季度数据, m=12 的月度数据,m=7 的周度数据)

在经典时间序列分解法中,我们假设季节项每年都是连续的。对于乘法季节性,构成季节项的 m 个值被称为季节指数。

加法分解

步骤 1 : 若m为偶数,用2×m-MA来计算趋势周期项 T ^ t \hat{T}_t T^t​。若m为奇数,用m-MA 来计算趋势周期项 T ^ t \hat{T}_t T^t​。

步骤 2 : 计算去趋势序列: y t − T ^ t y_t-\hat{T}_t yt​−T^t​。

步骤 3 : 为了估计每个季度的季节项,简单平均那个季度的去趋势值。例如,对于月度数据,三月份的季节项是对所有去除趋势后的三月份的值的平均。然后将这些季节项进行调整,使得它们的加和为 0。季节项是通过将这些各年的数据排列结合在一起而得到的,即 S ^ t \hat{S}_t S^t​ 。

步骤 4 : 残差项是通过时间序列减去估计的季节项和趋势-周期项求得的: R ^ t = y t − T ^ t − S ^ t \hat{R}_t=y_t-\hat{T}_t-\hat{S}_t R^t​=yt​−T^t​−S^t​。

乘法分解

经典乘法分解与加法分解十分相似,只不过是用除法代替了减法。

步骤 1 :若m为偶数,用2×m-MA来计算趋势周期项 T ^ t \hat{T}_t T^t​。若m为奇数,用m-MA 来计算趋势周期项 T ^ t \hat{T}_t T^t​。

步骤 2 : 计算去趋势序列: y t / T ^ t y_t/ \hat{T}_t yt​/T^t​。

步骤 3 : 为了估计每个季度的季节项,简单平均那个季度的去趋势值。例如,对于月度数据,三月份的季节项是对所有去除趋势后的三月份的值的平均。然后将这些季节项进行调整,使得它们的加和为 0。季节项是通过将这些各年的数据排列结合在一起而得到的,即 S ^ t \hat{S}_t S^t​ 。

步骤 4 : 残差项是通过时间序列减去估计的季节项和趋势-周期项求得的: R ^ t = y t / ( T ^ t S ^ t ) \hat{R}_t=y_t/ (\hat{T}_t\hat{S}_t) R^t​=yt​/(T^t​S^t​)。

经典时间序列分解法评价

尽管经典时间序列分解法的应用还很广泛,但是我们不十分推荐使用它,因为现在已经有了一些更好的方法。经典时间序列分解的几点问题总结如下:

经典时间序列分解法无法估计趋势-周期项的最前面几个和最后面几个的观测。例如,若 m=12,则没有前六个或后六个观测的趋势-周期项估计。由此也会使得相对应的时期没有残差项的估计值。

经典时间序列分解法对趋势-周期项的估计倾向于过度平滑数据中的快速上升或快速下降。

经典时间序列分解法假设季节项每年是重复的。对于很多序列来说这是合理的,但是对于更长的时间序列来说这还有待考量。例如,因为空调的普及,用电需求模式会随着时间的变化而变化。具体来说,在很多地方几十年前的时候,各个季节中冬季是用电高峰(用于供暖加热),但是现在夏季的用电需求最大(由于开空调)。经典时间序列分解法无法捕捉这类的季节项随时间变化而变化。

有时候,时间序列中一些时期的值可能异乎寻常地与众不同。例如,每月的航空客运量可能会受到工业纠纷的影响,使得纠纷时期的客运量与往常十分不同。处理这类异常值,经典时间序列分解法通常不够稳健。

X11 分解法

用于分解季度月度数据的另一个流行方法是X11分解法,它最初起源于美国人口普查局和加拿大统计局。

这个方法是基于经典时间序列分解法的,但是它包括了很多用于克服经典时间序列分解法的缺陷的额外步骤与特征。具体来讲,它可以估计包括端点在内的各个时期的趋势-周期项,并且它允许季节项缓慢变化。X11还有一些复杂的方法来处理交易日的变化,假日效应和已知的预测因素的影响。它既可以处理加法分解也可以处理乘法分解。它的过程是全自动的,并且它对序列中的离群值和水平移动较为严苛。

X11分解法的细节在【Dagum, E. B., & Bianconcini, S. (2016). Seasonal adjustment methods and real time trend-cycle estimation. Springer.】中可以了解到。这里我们仅仅演示如何在R中使用它。

X11分解法可以在seasonal包中调取seas()函数来使用。

SEATS 分解法

见arima

“SEATS”表示”ARIMA时间序列的季节提取 (Seasonal Extraction in ARIMA Time Series)” 。这个方法是西班牙银行发明的,现在被世界各地的政府机构广泛使用。这个方法仅能分析季度数据和月度数据。因此,其他类型的季节性,如每日数据,或每小时数据,或每周数据,需要其他方法。

SEATS的具体细节不在本书中赘述,这个方法在 Dagum & Bianconcini (2016) 中有完整详细的解释。这里,我们主要展示如何通过seasonal包来使用这个方法。

STL 分解法

STL(Seasonal and Trend decomposition using Loess)是一个非常通用和稳健强硬的分解时间序列的方法,其中Loess是一种估算非线性关系的方法。STL分解法由 R. B. Cleveland, Cleveland, McRae, & Terpenning (1990) 提出。

【Cleveland, R. B., Cleveland, W. S., McRae, J. E., & Terpenning, I. J. (1990). STL: A seasonal-trend decomposition procedure based on loess. Journal of Official Statistics, 6(1), 3–33.】

在这里插入图片描述

相比于经典、SEATS和X-11分解法STL分解法有几点优势:

-与SEATS和X-11不同的是,STL可以处理任何类型的季节性,不仅仅是月度数据和季度数据。 -季节项可以随时间变化而变换,并且变化的速率可以由用户掌控。 趋势-周期项的平滑程度也可以由用户掌控。 可以不受离群点干扰(例如,用户可以指定一个稳健的分解)

另一方面,STL也有一些不足之处。具体来讲,它不能自动地处理交易日或是其他有变动的日子,并且它提供了处理加法分解的方式。

为了得到乘法分解我们可以首先对数据取对数,然后对各成分进行反向变换。对数据进行 0 < λ < 1 0



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有