平稳非白噪声序列的检验(R语言)

文章所属内容为时间序列分析,是构建模型、构建预测模型的第一步。

我们在拿到一组数据X之后,先对数据X进行时间序列的转换。

price <- ts(X,start = c(2015,1),frequency = 4) 
#X是我们的数据,start是选择我们时间是从什么时候开始,frequency是数据的频率,通常12为月,1为年,52为星期,4为季度。

平稳性检验

平稳性检验有很多种,这里我们只采用三种方法对时间序列进行平稳性检验:

我们可以采用图检验方法做出时序图,这种方法操作简单,运用广泛,但它也有不足之处,它的判别中带有操作者的主观色彩,目前我们对平稳性检验使用的最多的是自相关图检验单位根检验(又叫特征根检验)

①图检验方法

plot(price)

我们直接做出时间序列的时序图,以肉眼的形式观察,这组序列是否平稳。

②自相关图检验

acf(price,lag.max = ,plot = )
#peice为变量名
#lag.max为延迟阶数,如果缺少这个参数时,系统会根据序列长度进行自动指定
#plot = T时,选择生成自相关图
#plot = F时,选择生成自相关系数

acf(price)$acf
#如果看完相关图后,又想看相关系数时,可以使用以上命令

运行出来如下图:

平稳非白噪声序列的检验(R语言)_第1张图片

 平稳非白噪声序列的检验(R语言)_第2张图片

 ③单位根检验(特征根检验)

在进行单位根检验之前,我们首先要安装aTSA包:install.packages("aTSA")

library(aTSA)   #调用aTSA包
adf.test(price,nlag = )
#price为变量名
#nlag为最高延迟阶数,如诺该省略参数,系统自动指定延迟阶数

运行出来如下图:P值显著小于(0.05),故显著平稳。平稳非白噪声序列的检验(R语言)_第3张图片

 非白噪声检验

白噪声检验又称纯随机性检验,即检验序列值之间应该是否存在相关关系。

Box.test(price,lag = 6,type = "Ljung-Box")
Box.test(price,lag = 12,type = "Ljung-Box")
#price为变量名
#lag为延迟阶数
#type = "Ljung-Box"为白噪声检验的LB统计量

#我们通常采用for循环对白噪声检验进行延迟6阶和7阶一起检验
for (i in 1:2) print(Box.test(price,lag = 6*i,type = "Ljung-Box"))

检验结果如图所示:

平稳非白噪声序列的检验(R语言)_第4张图片

 我们从检验结果中的P值中可以看出,P值远远小于0.05,故拒绝原假设(白噪声),所以该序列显著为非白噪声。

补充:

通常我们对数据进行平稳性非白噪声检验时,我们首选单位根检验进行平稳检验,不仅代码简洁,且准确。因为平稳序列通常具有短期相关性,所以我们的延迟阶数都不易过大。

新手小白上路,大家相互探讨相互学习,如果有更好的检验方法,希望能够相互学习。以上代码读者有不理解的,随时提出。

你可能感兴趣的:(R,r语言,学习方法)