时间序列分析ARMA模型原理及Python statsmodels实践(上)
Posted 肖永威
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列分析ARMA模型原理及Python statsmodels实践(上)相关的知识,希望对你有一定的参考价值。
目录
时序数据是指时间序列数据。时间序列数据是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。时间序列分析的目的是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测。[百度]
时序分析是以分析时间序列的发展过程、方向和趋势,预测将来时域可能达到的目标的方法。此方法运用概率统计中时间序列分析原理和技术,利用时序系统的数据相关性,建立相应的数学模型,描述系统的时序状态,以预测未来。[百度]
1. 时间序列及相关基本概念
常用按时间序列排序的一组随机变量 X 1 , X 2 , . . . , X t X_1,X_2,...,X_t X1,X2,...,Xt来表示一个随机时间的时间序列,简记为 X t X_t Xt;用 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn或 x t , t = 1 , 2 , . . . , n x_t,t=1,2,...,n xt,t=1,2,...,n表示该随机序列的 n n n个有序观察值,称之为序列长度为n的观察值序列。时间序列分析的目的就是给定一个已经被观测的时间序列,观测该序列的未来值。
1.1. 时间序列分解
X t = T t + S t + R t + C t , t = 1 , 2 , 3 , . . . X_t=T_t + S_t + R_t + C_t, t = 1,2,3,... Xt=Tt+St+Rt+Ct,t=1,2,3,...
- T T T—趋势项
- S S S—季节项
- R R R—随机项
- C C C—有时还有随机周期项(Cycle)
季节项模型有: * 固定的周期季节项:
S
(
t
+
s
)
=
S
(
t
)
,
∀
t
.
S_(t+s)=S_(t),\\forall_t.
S(t+s)=S(t),∀t. 只需要
S
1
,
S
2
,
.
.
.
,
S
s
S_1,S_2,...,S_s
S1,S2,...,Ss且可设
∑
j
=
1
s
S
j
=
0
\\sum_j=1^sS_j = 0
∑j=1sSj=0
关于随机项,可设
E
R
t
=
0
,
∀
t
ER_t=0,\\forall_t
ERt=0,∀t。
1.2. 时间平稳序列
一个时间序列,如果均值没有系统的变化(无趋势)、方差没有系统变化,且严格消除了周期性变化,就称之是平稳的。
从统计学的角度来看,平稳性是指数据的分布在时间上平移时不发生变化。因此,非平稳数据显示了由于趋势而产生的波动,必须对其进行转换才能进行分析。例如,季节性会导致数据的波动,并可以通过“季节性差异”过程消除。
因此,时间序列去除趋势项和季节项后的随机部分经常具有平稳性。
序列分解中趋势和季节部分可以用非随机函数描述,但也可以用随机模型。 随机项通常是平稳的。 表现:
- 水平没有明显变化;
- 方差没有明显变化;
- 相关性结构不随时间变化。
1.3. 自相关与自相关函数(ACF)
自相关是指时间序列(信号)在1个时刻的瞬时值与另1个时刻的瞬时值之间的依赖关系,是对1个随机时间序列(信号)的时域描述。
自相关系数度量的是同一事件在两个不同时期之间的相关程度,形象的讲就是度量自己过去的行为对自己现在的影响。
设 X t \\X_t\\ Xt为弱平稳序列, γ k \\\\gamma_k\\ γk 为自协方差函数。 则
ρ ( X t − k , X t ) = C o v ( X t − k , X t ) V a r ( X t − k ) V a r ( X t ) = γ k γ 0 , k = 0 , 1 , . . . , ∀ t \\rho(X_t-k,X_t)=\\fracCov(X_t-k,X_t)\\sqrtVar(X_t-k)Var(X_t) = \\frac\\gamma _k\\gamma_0,k=0,1,...,\\forall_t ρ(Xt−k,Xt)=Var(Xt−k)Var(Xt)Cov(Xt−k,Xt)=γ0γk,k=0,1,...,∀t
记 ρ k = γ k γ 0 \\rho_k = \\frac\\gamma_k\\gamma_0 ρk=γ0γk, 这是 X t − k X_t-k Xt−k与 X t X_t Xt的相关系数且与 t t t无关, 称 ρ k , k = 0 , 1 , . . . \\\\rho_k,k=0,1,...\\ ρk,k=0,1,...为时间序列 X t \\X_t\\ Xt的自相关函数 (Autocorrelation function, ACF)。 ρ 0 = 1 \\rho_0 =1 ρ0=1 。
这是自相关系数的定义,表示间隔为 k k k的时间序列之间的相关系数值。
1.4. 白噪声及Ljung-Box检验
1.4.1. 白噪声
白噪声是由一组0均值,不变方差,相互独立的元素构成,当然可以对该元素的分布进行假设(如高斯分布)。白噪声如同他的名字听起来一样是杂乱无章的,各元素之间没有任何联系。由白噪声组成的序列是随机游走,随机游走序列的自相关特点是其自相关函数几乎为1并且衰减很慢,这种特征我们称为长记忆性。
白噪声表示数据之间没有相关性,如果时间序列都是由白噪声数据构成的,那么时间序列的数据就不能是自相关的。
设 ε t \\ \\varepsilon_t \\ εt 是一个平稳序列,如果对任何 s , t ∈ N s,t \\in \\mathbb N s,t∈N,
- E ε t = μ E \\varepsilon_t = \\mu Eεt=μ
-
V
a
r
(
ε
t
)
=
σ
2
Var(\\varepsilon_t) = \\sigma^2
Var(εt)以上是关于时间序列分析ARMA模型原理及Python statsmodels实践(上)的主要内容,如果未能解决你的问题,请参考以下文章
时间序列分析ARMA模型原理及Python statsmodels实践(下)
时间序列分析ARMA模型原理及Python statsmodels实践(上)
时间序列分析ARMA模型原理及Python statsmodels实践(上)