时序模式
基本概念及流程
-
时间序列数据的分析流程
1.对时间序列数据进行平稳性检验
检查方法:单位根检验,时序图检验,自相关图检验
2.判断是否为平稳序列如果为平稳序列则进行白噪声检验(纯随机性检验),如果为非平稳序列就进行差分运算将其转换为平稳序列在进行白噪声检验(纯随机性检验)。
3.不是白噪声序列则计算ACF和PACF,如果为白噪声序列则终止分析。
4.模型识别(最小信息准则,拖尾和截尾)5.参数估计,模型检测
-
什么是时间序列数据?
时间序列数据(time series data)是在不同时间上收集到的数据,用于所描述现象随时间变化的情况。这类数据反映了某一事物、现象等随时间的变化状态或程度。
-
时间序列的预处理
拿到一个观察值序列后,首先要对它的纯随机性和平稳性进行检测,这两个重要的检验成为序列的预处理。根据检验的结果可以把序列分为不同的类型,对不同类型的序列会采取不同的分析方法。
纯随机序列又叫做白噪声序列,序列的各项之间没有任何的相关性,序列在进行完全无序的随机波动,这种序列没有分析的价值,白噪声序列是没有信息可提取的平稳序列。
对于平稳非白噪声序列,它的均值和方差是常数,对于这种序列通常建立一个线性模型来拟合该序列的发展,并借此提取该序列的有用信息。ARMA模型是最常用的平稳序列拟合模型。
对于非平稳序列,由于它的均值和方差不稳定,处理方法一般是将其转变为平稳序列,这样就可以应用有关平稳时间序列的分析方法,如建立ARMA模型进行分析。如果一个时间序列模型经差分运算后具有平稳性,则称该模型为差分平稳序列,AMIRA模型进行分析。、
-
怎么查看平稳性检测结果?
单位跟检验件:不存在单位根即为平稳序列;在python中就是statsmodels中的ADF检验,返回值的结果依次是为adf、pvalue、usedlag、nobs、critical values、icbest、regresults、resstore;第一个是adt检验的结果,简称为T值,表示t统计量。第二个简称为p值,表示t统计量对应的概率值。主要看p值p值大于0.05判断为非平稳序列,小于0.05判断为平稳序列。
白噪声检验:
时序图检测:平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动的范围有界;如果表现出明显的趋势线或周期性,通常不为平稳序列。
-
什么是拖尾和截尾?
截尾是在置信区间内,ACF或PACF在某阶段后恒等于零(或在0附近随机波动)
拖尾是在置信区间内,ACF或PACF始终有非零取值,不呈现在某节后就恒等于零(或在0附近随机波动)
出现以下情况,通常视为(偏)自相关系数d阶截尾:
1)在最初的d阶明显大于2倍标准差范围
2)之后几乎95%的(偏)自相关系数都落在2倍标准差范围以内
3)且由非零自相关系数衰减为在零附近小值波动的过程非常突然
出现以下情况,通常视为(偏)自相关系数拖尾:
1)如果有超过5%的样本(偏)自相关系数都落入2倍标准差范围之外
2)或者是由显著非0的(偏)自相关系数衰减为小值波动的过程比较缓慢或非常连续
模型选择
ARMA模型识别原则
统计量 | 平稳AR§模型 | 平稳MA(q)模型 | 平稳ARMA(p,q)模型 |
---|---|---|---|
均值 | 常数 | 常数 | 常数 |
方差 | 常数 | 常数 | 常数 |
自相关系数ACF | 拖尾 | q阶截尾 | p阶拖尾 |
偏自相关系数PACF | p阶截尾 | 拖尾 | q阶拖尾 |
参数估计(定阶)
通过拖尾和截尾对模型进行定阶的方法,往往具有很强的主观性。回想我们之前在参数预估的时候往往是怎么做的,不就是损失和正则项的加权么?我们这里能不能结合最终的预测误差来确定p,q的阶数呢?在相同的预测误差情况下,根据奥斯卡姆剃刀准则,模型越小是越好的。那么,平衡预测误差和参数个数,我们可以根据信息准则函数法,来确定模型的阶数。预测误差通常用平方误差即残差平方和来表示。
AIC准则
AIC准则全称为全称是最小化信息量准则(Akaike Information Criterion),计算公式如下:
AIC = =2 *(模型参数的个数)-2ln(模型的极大似然函数)
BIC准则
AIC准则存在一定的不足之处。当样本容量很大时,在AIC准则中拟合误差提供的信息就要受到样本容量的放大,而参数个数的惩罚因子却和样本容量没关系(一直是2),因此当样本容量很大时,使用AIC准则选择的模型不收敛与真实模型,它通常比真实模型所含的未知参数个数要多。