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

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

原始数据在文末!!!

练习1、

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

第1小题:

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

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

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

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)选用适当估计方法确定上述拟合模型的口径。

#第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)模型时模型的口径为:

x_{t}+0.0037=\frac{\varepsilon _{t}}{1+0.4033B}Var(\varepsilon _{t})=0.01589

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

x_{t}=-0.00519221-0.4033x_{t-1}+\varepsilon _{t}Var(\varepsilon _{t})=0.01589

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)模型时模型的口径为:

x_{t}=-0.0033+\varepsilon _{t}-0.5734\varepsilon _{t-1}-0.0495\varepsilon _{t-2}-0.0109\varepsilon _{t-3}Var(\varepsilon _{t})=0.01421

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()函数,对该序列进行系统自动定阶。

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)选用适当估计方法确定上述拟合模型的口径。

#第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)模型时模型的口径为:

x_{t}+0.0189=\frac{1-0.6746B-0.1715B^{2}}{1-0.7210B+0.1642B^{2}}\varepsilon _{t}Var(\varepsilon _{t})=0.4081

该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文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# Solidworks二次开发:模型中实体Entity相关操作API详解

大家好&#xff0c;今天要讲的一些API是关于实体的相关API。 在开发的过程&#xff0c;很多地方会涉及到实体的相关操作&#xff0c;比如通过实体选中节点。下面就直接开始介绍API&#xff1a; &#xff08;1&#xff09;第一个API为Select4&#xff0c;这个API的含义为选中一…

微信小程序中调取小程序实现报错:提示 开发版小程序已过期,请在开发者工具中重新扫码的 解决方案

出现的问题&#xff1a; 解决方法&#xff1a; 将envVersion: develop,开发版切换为正式版 envVersion: release,wx.navigateToMiniProgram({appId:res.data.appId,path: res.data.prePayTn,extraData: {foo: bar,miniProgramOrgId:res.data.miniProgramOrgId,orderId: res.d…

css设置文字撑满盒子

效果如上&#xff1a; <div style"width: 250px;background-color:red;text-align-last:justify;word-break: keep-all;">为中国崛起而读书</div>

Objective-C网络请求开发的高效实现方法与技巧

前言 在移动应用开发中&#xff0c;网络请求是一项至关重要的技术。Objective-C作为iOS平台的主要开发语言之一&#xff0c;拥有丰富的网络请求开发工具和技术。本文将介绍如何利用Objective-C语言实现高效的网络请求&#xff0c;以及一些实用的技巧和方法。 1.Objective-C技…

以太坊源码阅读01

正所谓区块链&#xff0c;怎能不熟悉区块的数据结构呢&#xff1f;区块的结构体被保存在core/types/block.go文件中&#xff0c;下面是我截取出来的&#xff1a; type Block struct {header *Headeruncles []*Headertransactions Transactionswithdrawals Withdr…

干货分享|TensorFlow构建神经网络

MNIST数据集前面章节已经多次遇到过&#xff0c;这里直接引用&#xff0c;并使用TensorFlow构建神经网络模型进行训练。下面举例说明如何构建简单的神经网络并训练。 【例15-33】 TensorFlow构建神经网络训练MNIST数据集。 输入如下代码&#xff1a; # 构建简单模型&#xf…

蓝桥杯单片机超声波示例通常涉及使用超声波模块进行测距。下面是一个基于51单片机的超声波测距示例代码:

蓝桥杯单片机超声波示例通常涉及使用超声波模块进行测距。下面是一个基于51单片机的超声波测距示例代码&#xff1a; #include <reg52.h> #include <intrins.h>sbit Trig P1^0; // 定义超声波发送引脚 sbit Echo P1^1; // 定义超声波接收引脚unsigned int Tim…

进程线程的关系

举个例子 滑稽老师吃100只鸡 如何加快滑稽老师吃鸡的效率&#xff1f;&#xff1f; 有一个方案&#xff0c;搞两个房间&#xff0c;两个滑稽老师 一个滑稽吃50只鸡&#xff0c;速度一定会大幅度增加 多进程的方案 创建新的进程 就需要申请更多的资源&#xff08;房间和…

Python编写一个抽奖小程序,新手入门案例,简单易上手!

“ 本篇文章将以简明易懂的方式引导小白通过Python编写一个简单的抽奖小程序&#xff0c;无需太多的编程经验。通过本文&#xff0c;将学习如何使用Python内置的随机模块实现随机抽奖&#xff0c;以及如何利用列表等基本数据结构来管理和操作参与抽奖的人员名单。无论你是Pytho…

贪心算法:柠檬水找零

题目链接&#xff1a;860. 柠檬水找零 - 力扣&#xff08;LeetCode&#xff09; 收的钱只能是5、10、20美元&#xff0c;分类讨论&#xff1a;收5美元无需找零&#xff1b;收10美元找零5元&#xff1b;收20美元找零15美元。其中对于找零15美元的方案有两种&#xff0c;此处涉及…

mysqlySQL中启用慢查询日志并设置阈值

要在MySQL中启用慢查询日志并设置阈值&#xff0c;可以按照以下步骤进行&#xff1a; 编辑MySQL配置文件&#xff1a;打开MySQL的配置文件&#xff08;通常是my.cnf或my.ini&#xff09;&#xff0c;在[mysqld]部分添加或修改以下行来启用慢查询日志并设置阈值&#xff1a; s…

一种基于镜像指示位办法的RingBuffer实现,解决Mirror和2的幂个数限制

简介 在嵌入式开发中&#xff0c;经常有需要用到RingBuffer的概念&#xff0c;在RingBuffer中经常遇到一个Buffer满和Buffer空的判断的问题&#xff0c;一般的做法是留一个单位的buffer不用&#xff0c;这样做最省事&#xff0c;但是当RingBuffer单位是一个结构体时&#xff0…

设计模式-外观模式(Facade)

1. 概念 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它提供了一个统一的接口&#xff0c;用于访问子系统中的一群接口。外观模式的主要目的是隐藏系统的复杂性&#xff0c;通过定义一个高层级的接口&#xff0c;使得子系统更容易被使用。…

房屋鉴定研究院报告系统

一、项目背景与意义 随着城市化进程的加速和房地产市场的蓬勃发展&#xff0c;房屋安全问题日益受到社会各界的广泛关注。房屋鉴定作为确保房屋安全的重要手段&#xff0c;对于保障人民群众生命财产安全、维护社会稳定具有重要意义。然而&#xff0c;传统的房屋鉴定方式存在诸…

webpack-loader的使用

引入css后执行打包命令 "build": "npx webpack --config wk.config.js"发现报错&#xff1a; webpack默认只能处理js其他的像css,图片都需要借助loader来处理 css-loader loader可以用于对模块的源代码进行转换&#xff0c;可以把css看成一个模块&…

AWS被误扣费了,怎么解决?

有时在使用aws时&#xff0c;可能会无意中被AWS扣费&#xff0c;对于如何处理这个问题&#xff0c;作为aws的合作伙伴&#xff0c;接下来由九河云进行讲解&#xff1a; &#xff08;1&#xff09;审查账单&#xff1a;首先&#xff0c;您需要仔细审查AWS账单&#xff0c;了解具…

并发学习27--多线程 Tomcat 线程池

Tomcat连接器的线程池 socketProcessor也是个线程 Executor处理线程是按照JDK线程池方法处理&#xff0c;优先选用核心线程&#xff0c;再用救急线程&#xff0c;再去阻塞队列&#xff0c;最后采用拒绝策略。 Tomcat线程池与ThreadExecutorPool的区别 Tomcat中的配置 Tomcat …

kafka快速入门+应用

Kafka, 构建TB级异步消息系统 1.快速入门 1.1 阻塞队列 在生产线程 和 消费线程 之间起到了 &#xff0c; 缓冲作用&#xff0c;即避免CPU 资源被浪费掉 BlockingQueue 解决 线程通信 的问题阻塞方法 put 、 take生产者、消费者 模式 生产者&#xff1a;产生数据的线程…

登录加载动画

实现登录中 … 三个点的loading动画 <template><div><el-input type"password" placeholder"请填写密码" autocomplete"new-password"v-model"password" keyup.enter.native"login" show-password clearable…

Word中图表题注样式自动编号

需求 在写论文的时候&#xff0c;希望图表题注是下面的样子&#xff0c;其中图号表示为&#xff1a;章的编号-本章中图的序号&#xff0c;而且都是小写数字。 网上找的方法大多是使用 “插入题注” 来插入&#xff0c;此时章的编号是大写的&#xff0c;如“图一-1”。然后再通…