时间序列分析 #ARMA模型的识别与参数估计 #R语言

掌握ARMA模型的识别和参数估计。

原始数据在文末!!!

练习1、

根据某1915-2004年澳大利亚每年与枪支有关的凶杀案死亡率(每10万人)数据(题目1数据.txt),求:

第1小题:

(1)通过单位根检验,判断该序列的平稳性;判断该序列的纯随机性;

(2) 绘制序列的样本自相关图(ACF)和偏自相关图(PACF),根据相关性特征,选择适当模型拟合该序列的发展;

(3)利用auto.arima()函数,对该序列进行系统自动定阶。

R 复制代码
data <- read.table("F:/时间序列分析/实验6/习题数据/题目1数据.txt",header = T)
x <- ts(data[,2],start=1915)
#第1小题
#原序列ADF检验
library(aTSA)
adf.test(x)
#原序列白噪声检验
for(i in 1:2) print(Box.test(x,type = "Ljung-Box",lag = 6*i))
#原序列绘制自相关图和偏自相关图
par(mfrow = c(1,2))
acf(x)
pacf(x)
#自动识别模型
library(zoo)
library(forecast)
#系统自动定阶
auto.arima(x)

结果分析:

第1小题:

(1)

**单位根检验:**检验结果显示该序列可认为是平稳序列(带漂移项无滞后模型和既有漂移项又有趋势项的无滞后模型的P值小于0.05)。

Augmented Dickey-Fuller Test

alternative: stationary

Type 1: no drift no trend

lag ADF p.value

[1,] 0 -1.473 0.149

[2,] 1 -1.037 0.306

[3,] 2 -0.896 0.357

[4,] 3 -0.835 0.379

Type 2: with drift no trend

lag ADF p.value

[1,] 0 -4.54 0.0100

[2,] 1 -2.88 0.0543

[3,] 2 -2.25 0.2309

[4,] 3 -1.46 0.5330

Type 3: with drift and trend

lag ADF p.value

[1,] 0 -4.53 0.010

[2,] 1 -2.86 0.219

[3,] 2 -2.22 0.480

[4,] 3 -1.40 0.823


Note: in fact, p.value = 0.01 means p.value <= 0.01

**白噪声检验:**延迟6阶和延迟12阶的LB统计量的P值都小于α=0.05,则拒绝原假设,认为序列不是白噪声序列。

Box-Ljung test

data: x

X-squared = 92.781, df = 6, p-value < 2.2e-16

Box-Ljung test

data: x

X-squared = 108.89, df = 12, p-value < 2.2e-16

(2)

①自相关图可以看出,自相关系数是以一种有规律的方式,按指数函数轨迹衰减的,说明自相关系数衰减到零不是一个突然截尾的过程,而是一个连续渐变的过程,判定自相关系数拖尾;

②偏自相关图可以看出,除了1阶偏自相关系数在2倍标准差范围之外,之后几乎95%的偏自相关系数都在2倍标准差范围内,判定偏自相关系数1阶截尾;

综上所述,序列呈现出自相关系数拖尾,偏自相关系数1阶截尾的特性,初步确定拟合模型为AR(1)模型。

(3)系统自动定阶结果表明,该序列为ARMA(1,1)模型。

Series: x

ARIMA(1,0,1) with non-zero mean

Coefficients:

ar1 ma1 mean

0.9065 -0.5302 0.4616

s.e. 0.0682 0.1278 0.0591

sigma^2 = 0.01433: log likelihood = 64.48

AIC=-120.97 AICc=-120.5 BIC=-110.97

第2小题:

(1)绘制序列的时序图,判断该序列的平稳性;

(2)如果判断该序列非平稳,选择适当阶数(或步长)的差分运算。对差分后序列:做出时序图、白噪声检验、自相关图(ACF)和偏自相关图(PACF),选择适当模型拟合该差分后序列的发展(此处不要依赖系统自动定阶)

(3)选用适当估计方法确定上述拟合模型的口径。

R 复制代码
#第2小题
#原序列时序图
plot(x)
#1阶差分
dif_x <- diff(x)
#绘制差分后序列的时序图
plot(dif_x)
#差分后序列的白噪声检验
for (i in 1:2) print(Box.test(dif_x,type = "Ljung-Box",lag = 6*i))
#绘制差分后序列的自相关图和偏自相关图
par(mfrow = c(1,2))
acf(dif_x)
pacf(dif_x)
#模型参数估计,确定模型的口径
#①选择AR(1)模型时模型的口径
arima(dif_x,order = c(1,0,0),method = "ML")
#③选择MA(3)模型时模型的口径
arima(dif_x,order = c(0,0,3),method = "ML")

结果分析:

第2小题:

  1. 从时序图可以看出,该序列存在明显的线性趋势,认为该序列是非平稳序列。

时序图:

  1. 选择1阶差分运算。

1 **阶差分后的时序图:**从1阶差分后序列的时序图可以看出1阶差分运算后,序列在常数0附近波动,且波动有界。认为1阶差分后的序列是平稳序列。

1 **阶差分后序列的白噪声检验:**延迟6阶和延迟12阶的LB统计量的P值为都小于α=0.05,则拒绝原假设,认为1阶差分后的序列不是白噪声序列。

Box-Ljung test

data: dif_x

X-squared = 21.986, df = 6, p-value = 0.001218

Box-Ljung test

data: dif_x

X-squared = 40.071, df = 12, p-value = 6.998e-05

ACF 图和PACF图:

  • 从自相关图看出,除了1阶自相关系数在2倍标准差范围之外,之后几乎95%的自相关系数都突然衰减到2倍标准差范围之内。判定为1阶截尾;
  • 从偏自相关图看出,除了1-3阶偏自相关系数在2倍标准差范围之外,之后几乎95%的自相关系数都突然衰减到2倍标准差范围之内。判定为3阶截尾;

综上所述,序列呈现出自相关系数1阶截尾的特性,偏自相关系数3阶截尾的特性,初步确定拟合模型为AR(1)模型或MA(3)模型。

(3)

①选择AR(1)模型时模型的口径为:

该AR(1)模型的等价表达为:

Call:

arima(x = dif_x, order = c(1, 0, 0), method = "ML")

Coefficients:

ar1 intercept

-0.4033 -0.0037

s.e. 0.0964 0.0096

sigma^2 estimated as 0.01589: log likelihood = 57.94, aic = -109.87

  • 选择MA(3)模型时模型的口径为:

Call:

arima(x = dif_x, order = c(0, 0, 3), method = "ML")

Coefficients:

ma1 ma2 ma3 intercept

-0.5734 -0.0495 -0.0109 -0.0033

s.e. 0.1103 0.1069 0.1067 0.0047

sigma^2 estimated as 0.01421: log likelihood = 62.79, aic = -115.58

练习2、

根据1860-1955年密歇根湖每月平均水位的最高值序列(题目2数据.csv),求:

第1小题:

(1)通过单位根检验,判断该序列的平稳性;判断该序列的纯随机性;

(2) 绘制序列的样本自相关图(ACF)和偏自相关图(PACF),根据相关性特征,选择适当模型拟合该序列的发展;

(3)利用auto.arima()函数,对该序列进行系统自动定阶。

R 复制代码
data <- read.csv("F:/时间序列分析/实验6/习题数据/题目2数据.csv",sep = ",",header = T)
x <- ts(data[,2],start=1860)
#第1小题
#原序列ADF检验
adf.test(x)
#原序列白噪声检验
for(i in 1:2) print(Box.test(x,type = "Ljung-Box",lag = 6*i))
#原序列绘制自相关图和偏自相关图
par(mfrow = c(1,2))
acf(x)
pacf(x)
#系统自动定阶
auto.arima(x)

结果分析:

第1小题:

  1. **单位根检验:**检验结果显示该序列可认为是平稳序列(带漂移项1阶滞后模型和既有漂移项又有趋势项的1阶滞后模型的P值小于0.05)。

Augmented Dickey-Fuller Test

alternative: stationary

Type 1: no drift no trend

lag ADF p.value

[1,] 0 -0.312 0.553

[2,] 1 -0.320 0.551

[3,] 2 -0.307 0.555

[4,] 3 -0.245 0.573

Type 2: with drift no trend

lag ADF p.value

[1,] 0 -2.88 0.0535

[2,] 1 -3.39 0.0154

[3,] 2 -2.73 0.0776

[4,] 3 -2.34 0.1973

Type 3: with drift and trend

lag ADF p.value

[1,] 0 -3.22 0.0891

[2,] 1 -4.03 0.0113

[3,] 2 -3.10 0.1204

[4,] 3 -2.60 0.3258


Note: in fact, p.value = 0.01 means p.value <= 0.01

**白噪声检验:**延迟6阶和延迟12阶的LB统计量的P值为都小于α=0.05,则拒绝原假设,认为序列不是白噪声序列。

Box-Ljung test

data: x

X-squared = 215.96, df = 6, p-value < 2.2e-16

Box-Ljung test

data: x

X-squared = 329.2, df = 12, p-value < 2.2e-16

(2)①自相关图可以看出,自相关系数是以一种有规律的方式,按指数函数轨迹衰减的,说明自相关系数衰减到零不是一个突然截尾的过程,而是一个连续渐变的过程,判定自相关系数拖尾;

②偏自相关图可以看出,除了1阶偏自相关系数在2倍标准差范围之外,之后几乎95%的偏自相关系数都在2倍标准差范围内,判定偏自相关系数1阶截尾;

综上所述,序列呈现出自相关系数拖尾,偏自相关系数1阶截尾的特性,初步确定拟合模型为AR(1)模型。

(3)利用auto.arima()函数,对该序列进行系统自动定阶:

Series: x

ARIMA(0,1,0)

sigma^2 = 0.4751: log likelihood = -99.44

AIC=200.87 AICc=200.92 BIC=203.43

第2小题:

(1)绘制序列的时序图,判断该序列的平稳性;

(2)如果判断该序列非平稳,选择适当阶数(或步长)的差分运算。对差分后序列:做出时序图、白噪声检验(延迟3阶和6阶)、自相关图(ACF)和偏自相关图(PACF),选择适当模型拟合该差分后序列的发展(此处不要依赖系统自动定阶)

(3)选用适当估计方法确定上述拟合模型的口径。

R 复制代码
#第2小题
#原序列时序图
plot(x)
#1阶差分
dif_x <- diff(x)
#绘制差分后序列的时序图
plot(dif_x)
#差分后序列的白噪声检验
for (i in 1:2) print(Box.test(dif_x,type = "Ljung-Box",lag = 3*i))
#绘制差分后序列的自相关图和偏自相关图
par(mfrow = c(1,2))
acf(dif_x)
pacf(dif_x)
#模型参数估计,确定模型的口径
arima(dif_x,order = c(2,0,2),method = "ML")

第2小题:

(1)从时序图可以看出,该序列存在明显的线性趋势,认为该序列是非平稳序列。

时序图:

(2)选择1阶差分运算。

1 **阶差分后的时序图:**从1阶差分后序列的时序图可以看出1阶差分运算后,序列在常数0附近波动,且波动有界。认为1阶差分后的序列是平稳序列。

1 **阶差分后序列的白噪声检验:**延迟3阶的LB统计量的P值为0.01051小于α=0.05,但延迟6阶的LB统计量P值为0.0648,大于α=0.05,则拒绝原假设,认为1阶差分后的序列不是白噪声序列。

Box-Ljung test

data: dif_x

X-squared = 11.236, df = 3, p-value = 0.01051

Box-Ljung test

data: dif_x

X-squared = 11.876, df = 6, p-value = 0.0648

ACF 图和PACF图:

  • 从自相关图看出,自相关系数呈现不规则地衰减到零值附近。判定为拖尾;
  • 从偏自相关图看出,偏自相关系数呈现出对数函数单调收敛到零值附近。判定为拖尾特性;

综上所述,序列呈现出自相关系数拖尾的特性,偏自相关系数拖尾的特性,初步确定拟合模型为ARMA(2,2)模型。

(3)选择ARMA(2,2)模型时模型的口径为:

该ARMA(2,2)模型的等价表达为:

Call:

arima(x = dif_x, order = c(2, 0, 2), method = "ML")

Coefficients:

ar1 ar2 ma1 ma2 intercept

0.7210 -0.1642 -0.6746 -0.1715 -0.0189

s.e. 0.3128 0.4113 0.3091 0.4237 0.0281

sigma^2 estimated as 0.4081: log likelihood = -92.51, aic = 197.02

需要本训练原始数据请自行跳转下载:

博文:'ARMA模型的识别与参数估计'训练数据资源-CSDN文库

相关推荐
材料苦逼不会梦到计算机白富美10 分钟前
线性DP 区间DP C++
开发语言·c++·动态规划
java小吕布11 分钟前
Java Lambda表达式详解:函数式编程的简洁之道
java·开发语言
sukalot15 分钟前
windows C#-查询表达式基础(一)
开发语言·c#
一二小选手35 分钟前
【Java Web】分页查询
java·开发语言
大G哥35 分钟前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
卡卡_R-Python37 分钟前
子集选择——基于R语言实现(最优子集选择法、逐步回归法、Lasso回归法、交叉验证法)
回归·r语言·kotlin
Code成立1 小时前
《Java核心技术 卷I》用户图形界面鼠标事件
java·开发语言·计算机外设
Xiao Fei Xiangζั͡ޓއއ1 小时前
一觉睡醒,全世界计算机水平下降100倍,而我却精通C语言——scanf函数
c语言·开发语言·笔记·程序人生·面试·蓝桥杯·学习方法
记录无知岁月1 小时前
【MATLAB】目标检测初探
开发语言·yolo·目标检测·matlab·yolov3·yolov2
远望清一色1 小时前
基于MATLAB身份证号码识别
开发语言·图像处理·算法·matlab