时间序列拆解

时间:2021-12-07 17:13:11

季节性的时间序列预测模型是用来拟合季节性的时间序列的变化规律,预测其下一个周期的各个数据点的值。季节性的时间序列具有高度负责的非线性结构,同事表现为周期性的变化的重要特征。因此建立准确的季节性时间序列预测模型具有高度的挑战,一方面要体现它的周期特征,呈现相对稳定的有规律的重复;另一方面还要准确的拟合季节性时间序列的非线性变化。

传统的季节性时间总体模型一般分为两类:一类随机季节模型,认为相隔一个周期的时间点上的随机变量具有相对较强的相关性,即季节性时间序列表现为同期相关性,利用这种同期相关性拟合相隔一个周期的两个数据点之间的变化规律进行建模。

另一类模型认为季节性时间序列一般会受到三种因素的影响即趋势项、周期性和不规则变化项。假如用T表示趋势项,用S表示周期项,用I表示随机变化项,时间序列又分为加法模型和乘法模型。加法模型即Y=T+S+I,乘法模型即Y=T*S*I。

这三种模型奠定了季节性时间序列的基础。


季节性时间序列建模

选择建立季节性时间序列预测模型,通常有两种思路:一是建立能对所有时间序列都能准确预测的模型,称为总体模型选择;另一种是针对不同的序列选择相应的最合适的预测模型,即用组合的方法。总体模型选择主要有ARIMA/神经网络(ANN)、支持向量回归(SVR)。

而组合模型的一种思路是把时间序列分为线性和非线性两部分,分别对这两部分采用不同的方法,神经网络适用于非线性预测,arima适应于线性预测。组合模型的另一种思路是吧时间序列分为趋势项、周期项和随机项,对每一项采用相应的方法。对于周期项可以直接对其进行非线性的多步预测也可以把他转化为多个单步预测(比如对于一天这个周期分成24个小时,每天24小时用24次纵向预测)。


组合模型的拆解

1.中心化移动平均法分解

设序列X(1),X(2),..X(M)为季节性的时间序列的月度数据,其中m为序列的长度,对于周期是12的序列,用中心化移动平均法可以提取不含周期波动的趋势项:

时间序列拆解

周期项为:

时间序列拆解

2.R语言中decompose函数可以把原来时间序列拆分为:趋势项、周期项、随机波动项