ARMA模型的检验与优化 #时间序列分析 R语言

这篇具有很好参考价值的文章主要介绍了ARMA模型的检验与优化 #时间序列分析 R语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 掌握ARMA模型检验的内容和方法
  2. 理解模型优化的SBC准则和BIC准则的思想与原理,能综合运用上述准则选择相对最优拟合模型

训练数据在文末!!!

练习1、根据某公司过去三年每月缴纳的税收金额(行数据)(题目1数据.txt),求

(1)绘制序列时序图,判断序列的平稳性与纯随机性;

(2)绘制序列的样本自相关图(ACF)和偏自相关图(PACF),根据相关性特征,尝试选择多个(例如AR,MA)模型拟合该序列的发展,并分别求出各个拟合模型的口径;

(3)对上述选定的拟合模型进行模型的检验;

(4)综合运用SBC准则和BIC准则,选出相对最优模型。

data <- scan("F:/时间序列分析/实验7/习题数据/题目1数据.txt")
x <- ts(data,start=c(2019,1),frequency = 12)
#原序列时序图
plot(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)
#模型参数估计,确定模型的口径
#①选择MA(1)模型时模型的口径
x.fit1 <- arima(x,order = c(0,0,1),method = "ML")
x.fit1
#②选择AR(2)模型时模型的口径
x.fit2 <- arima(x,order = c(2,0,0),method = "ML")
x.fit2
#模型检验
#MA(1)模型检验
ts.diag(x.fit1)
t = abs(x.fit1$coef)/sqrt(diag(x.fit1$var.coef))
pt(t,length(x)-length(x.fit1$coef),lower.tail = F)
#AR(3)模型检验
ts.diag(x.fit2)
t = abs(x.fit2$coef)/sqrt(diag(x.fit2$var.coef))
pt(t,length(x)-length(x.fit2$coef),lower.tail = F)
#模型优化,比较各模型的AIC值和BIC值
AIC(x.fit1)
AIC(x.fit2)
BIC(x.fit1)
BIC(x.fit2)
data.frame(AIC(x.fit1),AIC(x.fit2),BIC(x.fit1),BIC(x.fit2))

结果分析:

(1)时序图:从时序图可以看出,该序列在常数9附近波动,且波动有界。认为该序列是平稳序列。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

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

    Box-Ljung test

data:  x

X-squared = 25.658, df = 6, p-value = 0.0002578

    Box-Ljung test

data:  x

X-squared = 31.566, df = 12, p-value = 0.001614

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

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

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

ACF图和PACF图:

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

 

确定模型口径:

MA(1)模型口径:ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

Call:

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

Coefficients:

         ma1  intercept

      1.0000     9.2118

s.e.  0.0798     0.2792

sigma^2 estimated as 0.7205:  log likelihood = -46.99,  aic = 99.97

AR(2)模型口径:ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

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

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘, 

Call:

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

Coefficients:

         ar1      ar2  intercept

      1.0276  -0.5412     9.1154

s.e.  0.1524   0.1738     0.2945

sigma^2 estimated as 0.7977:  log likelihood = -47.65,  aic = 103.31

(3)MA(1)模型检验:

模型显著性检验:因为4-24阶延迟下LB统计量的P值都显著大于0.05,接受原假设,可以认为该拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。残差Q-Q图显示,数据点基本围绕在基准线附近,不能拒绝残差项是正态的假设。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

模型参数显著性检验:t统计量的P值小于α=0.05,拒绝原假设,故认为两个参数均显著非零。

         ma1              intercept

1.363877e-14    1.045188e-27

AR(2)模型检验:

模型显著性检验:因为4-24阶延迟下LB统计量的P值都显著大于0.05,接受原假设,可以认为该拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。残差Q-Q图显示,数据点基本围绕在基准线附近,不能拒绝残差项是正态的假设。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

模型参数显著性检验:t统计量的P值小于α=0.05,拒绝原假设,故认为两个参数均显著非零。

         ar1                     ar2                  intercept

5.523818e-08     1.901274e-03     2.922119e-26

(4)模型优化:

用AIC准则和BIC准则评判,MA(1)和AR(2)两个拟合模型的相对优势,最小信息量检验显示,无论是使用AIC准则还是使用BIC准则,MA(1)模型都要优于AR(2)模型,在本题中MA(1)模型是相对最优模型。

       AIC.x.fit1.      AIC.x.fit2.     BIC.x.fit1.        BIC.x.fit2.

1     99.9722        103.3087      104.7228         109.6428

练习2、根据某城市过去45年中每年的人口死亡率(行数据)(题目2数据.txt),求:

(1)绘制序列时序图,判断序列的平稳性与纯随机性;

(2)绘制序列的样本自相关图(ACF)和偏自相关图(PACF),根据相关性特征,尝试选择多个(例如AR,MA,ARMA)模型拟合该序列的发展;

(3)对上述选定的拟合模型进行模型的检验;

(4)综合运用SBC准则和BIC准则,选出相对最优模型。

data <- scan("F:/时间序列分析/实验7/习题数据/题目2数据.txt")
x <- ts(data,start=1977)
#原序列时序图
plot(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)
#模型参数估计,确定模型的口径
#①选择MA(1)模型时模型的口径
x.fit1 <- arima(x,order = c(0,0,1),method = "ML")
x.fit1
#③选择AR(2)模型时模型的口径
x.fit2 <- arima(x,order = c(2,0,0),method = "ML")
x.fit2
#③选择ARMA(2,1),1模型时模型的口径
x.fit3 <- arima(x,order = c(2,0,1),method = "ML")
x.fit3
#模型检验
#MA(1)模型检验
ts.diag(x.fit1)
t = abs(x.fit1$coef)/sqrt(diag(x.fit1$var.coef))
pt(t,length(x)-length(x.fit1$coef),lower.tail = F)
#AR(2)模型检验
ts.diag(x.fit2)
t = abs(x.fit2$coef)/sqrt(diag(x.fit2$var.coef))
pt(t,length(x)-length(x.fit2$coef),lower.tail = F)
#ARMA(2,1)模型检验
ts.diag(x.fit3)
t = abs(x.fit3$coef)/sqrt(diag(x.fit3$var.coef))
pt(t,length(x)-length(x.fit3$coef),lower.tail = F)

#模型优化,比较各模型的AIC值和BIC值
AIC(x.fit1)
AIC(x.fit2)
AIC(x.fit3)
BIC(x.fit1)
BIC(x.fit2)
BIC(x.fit3)
data.frame(AIC(x.fit1),AIC(x.fit2),AIC(x.fit3),BIC(x.fit1),BIC(x.fit2),BIC(x.fit3))

结果分析:

(1)时序图:从时序图可以看出,该序列在常数5附近波动,且波动有界。认为该序列是平稳序列。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

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

    Box-Ljung test

data:  x

X-squared = 10.609, df = 6, p-value = 0.1013

    Box-Ljung test

data:  x

X-squared = 23.893, df = 12, p-value = 0.02104

(2)①从自相关图看出,自相关系数呈现不规则地衰减到零值附近。判定为拖尾;

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

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

ACF图和PACF图:

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

确定模型口径:

MA(1)模型口径:ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

Call:

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

Coefficients:

         ma1  intercept

      0.4495     4.9444

s.e.  0.1203     0.2020

sigma^2 estimated as 0.8857:  log likelihood = -61.23,  aic = 128.47

AR(2)模型口径:ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

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

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

Call:

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

Coefficients:

         ar1      ar2  intercept

      0.4661  -0.3259     4.9569

s.e.  0.1412   0.1394     0.1597

sigma^2 estimated as 0.8383:  log likelihood = -60.06,  aic = 128.12

ARMA(2,1)模型时模型的口径为:

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

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

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

Call:

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

Coefficients:

         ar1      ar2      ma1  intercept

      0.5741  -0.3651  -0.1221     4.9586

s.e.  0.3617   0.1740   0.3847     0.1527

sigma^2 estimated as 0.8363:  log likelihood = -60.01,  aic = 130.02

 

(3)MA(1)模型检验:

模型显著性检验:因为4-24阶延迟下LB统计量的P值都显著大于0.05,接受原假设,可以认为该拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。残差Q-Q图显示,数据点基本围绕在基准线附近,不能拒绝残差项是正态的假设。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

模型参数显著性检验:t统计量的P值小于α=0.05,拒绝原假设,故认为两个参数均显著非零。

         ma1                 intercept

2.740853e-04      3.548356e-27

AR(2)模型检验:

模型显著性检验:因为4-24阶延迟下LB统计量的P值都显著大于0.05,接受原假设,可以认为该拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。残差Q-Q图显示,数据点基本围绕在基准线附近,不能拒绝残差项是正态的假设。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

模型参数显著性检验:t统计量的P值小于α=0.05,拒绝原假设,故认为三个参数均显著非零。

         ar1                       ar2                  intercept

9.847737e-04      1.212639e-02      6.817368e-31

ARMA(2,1)模型检验:

模型显著性检验:因为4-24阶延迟下LB统计量的P值都显著大于0.05,接受原假设,可以认为该拟合模型的残差序列属于白噪声序列,即该拟合模型显著有效。残差Q-Q图显示,数据点基本围绕在基准线附近,不能拒绝残差项是正态的假设。

ARMA模型的检验与优化 #时间序列分析 R语言,时间序列#R,r语言,开发语言,数据挖掘

模型参数显著性检验:只有AR(2)和常数项的t统计量的P值小于α=0.05,拒绝原假设,故认为只有AR(2) 和常数项的参数显著非零。

         ar1                        ar2                     ma1                 intercept

6.006193e-02      2.103146e-02      3.762491e-01      3.541855e-31

(4)模型优化:

用AIC准则和BIC准则评判,MA(1)、AR(2)和ARMA(2,1)三个拟合模型的相对优势,最小信息量检验显示,使用AIC准则时AR(2)模型相对较优,使用BIC准则,MA(1)模型相对较优。

AIC.x.fit1

AIC.x.fit2

AIC.x.fit3

BIC.x.fit1

BIC.x.fit2

BIC.x.fit3

1

128.4692

128.1235

130.0208

133.8892

135.3502

139.0541

需要该练习的训练数据请自行跳转下载:

博文:‘ARMA模型的检验与优化’训练数据资源-CSDN文库文章来源地址https://www.toymoban.com/news/detail-850357.html

到了这里,关于ARMA模型的检验与优化 #时间序列分析 R语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Arma模型预测时间序列的Matlab实现

      Arma模型预测算法在两年之前有看过,当时没有太仔细看没能理解,最近结合网上几篇比较 Nice 的关于ARMA ARIMA算法的博客,对该算法有了进一步了解,将自己的理解进行整理。   Arma模型(自回归移动平均模型)是时间序列分析中常用的模型之一,它可以用于预测未来的

    2024年02月04日
    浏览(58)
  • 通过R语言实现平稳时间序列的建模--基础(ARMA模型)

    目录 1. 建模流程 2. 序列平稳性检验和纯随机性检验 2.1 图检验 2.2 单位根检验 3. 模型选择 ​  4. 参数估计 5. 模型检验 5.1 模型显著性检验 5.2 参数显著性检验 6. 模型优化 6.1 AIC准则 6.2 BIC准则 7. 预测 1.1 序列平稳性检验+纯随机性检验 1.2 模型选择 1.3 参数估计 1.4 模型检验 1

    2024年02月06日
    浏览(63)
  • 时序预测 | MATLAB实现ARMA自回归移动平均模型时间序列预测

    预测效果 基本介绍 MATLAB实现ARMA时间序列预测(完整源码和数据) 本程序基于MATLAB的armax函数实现arma时间序列预测; 实现了模型趋势分析、序列平稳化、AIC准则模型参数识别与定阶、预测结果与误差分析过程,逻辑清晰。 数据为144个月的数据集,周期为一年,最终实现历史

    2024年02月07日
    浏览(62)
  • 金融时间序列分析:Python基于garch模型预测上证指数波动率、计算var和var穿透率、双尾检验

    目录 一、收益率波动效应的分析 1.1  收益率序列平稳性检验 1.2 建立AR(p)模型 1.3 Ljung-Box混成检验残差序列的相关性,判断是否有ARCH效应 1.4 建立ARCH模型  二、GARCH模型与波动率预测 2.1 建立GARCH模型 2.2 波动率预测 三、正态分布的假设下通过波动率计算VaR  四、厚尾分布的假

    2024年02月04日
    浏览(52)
  • 时序预测 | MATLAB实现AR、ARMA、ARIMA时间序列预测模型答疑

    基本介绍 AR 自回归模型(Autoregressive Model),通常简称为AR模型,是一种用于时间序列分析和预测的统计模型。它基于时间序列自身的历史值来预测未来值,通过将当前时刻的观测值与前一时刻的观测值之间的关系进行建模。 AR模型的基本思想是,当前时刻的值可以由之前时

    2024年02月09日
    浏览(63)
  • QuantitativeFinance:量化金融之金融时间序列分析之ES/ETS/GARCH模型的简介、Box-Jenkins方法-AR/MA/ARMA/ARIMA模型的简介及其建模四大步骤之详细攻略

    ML之TS:量化金融之金融时间序列分析之ES/ETS/GARCH模型的简介、Box-Jenkins方法-AR/MA/ARMA/ARIMA模型的简介及其建模四大步骤之详细攻略 目录 时间序列预测模型之ES/HLES/HWES模型/ETS模型/GARCH模型的简介 1、ES/HLES/HWES模型的概述

    2024年02月12日
    浏览(51)
  • 时间序列之单位根检验+显著性检验+固定/随机效应模型选择

    确定时间分隔、开始时间、结束时间 在hive中创建该表 计算每段时间内申购和赎回的量 查询每段时间开始和结束时的万份收益,计算净收益率 在面板数据和序列数据中,如果存在单位根,会产生 伪回归 等严重后果,所以必须对每个变量进行单位根检验,这样能够保证每个变

    2024年02月04日
    浏览(61)
  • 机器学习——时间序列ARIMA模型(三):AR、MA、ARMA、ARIMA模型定义及公式介绍及股价预测案例代码

    使用自身的数据进行预测,且只适用于预测与自身前期相关的现象。 注意:需满足具有平稳性的要求,需满足自相关性,自相关系数需大于0.5。 p阶自回归公式: y t = μ + ∑ i = 1 p γ i y t − i + e t y_{t}=μ+sum_{i=1}^pgamma_{i}y_{t-i}+e_{t} y t ​ = μ + i = 1 ∑ p ​ γ i ​ y t − i ​ + e

    2024年02月02日
    浏览(60)
  • 时间序列基础操作:使用python与eviews对AR与ARMA模型进行定阶与预报

    一般处理时间序列的基本过程:(无季节趋势) 处理时间序列的简单过程(无季节趋势) 注:上图中LB检验的统计量纠正:n*(n+2),而不是n*(n-2)  几种基础时间序列模型(模型的具体形式补充见文末): 目录 一、Python处理 1.1.step1:平稳性检验与白噪音检验 1.1.1平稳性检验:

    2024年02月07日
    浏览(50)
  • R 语言做时间序列分析的实例(模式识别、拟合、检验、预测)

    所使用的数据是 TSA 包中的 co2 数据,如果没有这个包的话,可以先装一下 会有让你选镜像的过程,随便选就行了。下载好之后,导入并查看数据 可以看到,原始数据明显有一个向上的趋势和一个周期趋势。 赤池信息准则(Akaike’s(1973) Information Criterion, AIC)是建立在熵的概

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包