时间序列分析实战(五):ARIMA加法(疏系数)模型建模

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972

   个人介绍: 研一|统计学|干货分享
         擅长Python、Matlab、R等主流编程软件
         累计十余项国家级比赛奖项,参与研究经费10w、40w级横向

文章目录

  • 1 目的
  • 2 原序列差分处理
  • 3 差分后序列平稳性检验
  • 4 差分后序列白噪声检验
  • 5 ARIMA模型建立
  • 6 ARIMA模型定阶
  • 7 ARIMA模型拟合
  • 8 ARIMA模型显著性检验
  • 9 ARIMA加法疏系数模型
  • 10 ARIMA加法疏系数模型显著性检验

1 目的

  该篇文章主要展示针对时序进行ARIMA加法模型建模,并根据实际情况进行改进。案例数据同 时间序列分析实战(三):时序因素分解法:某欧洲小镇1963年1月至1976年12月每月旅馆入住的房间数构成时间序列 x t x_t xt

2 原序列差分处理

  从 时间序列分析实战(三):时序因素分解法一文中可知,该序列具有趋势和季节效应,进行1阶差分提取趋势效应,12步差分提取季节效应。

  运行程序:

#对原数据进行1阶12步差分
y=diff(diff(data1,12))
plot(y,sub='图1 入住房间数差分后序列时序图')

  运行结果:

图1 入住房间数差分后序列时序图

3 差分后序列平稳性检验

  运行程序:

#差分后序列平稳性检验
library(aTSA)
adf.test(y)

  运行结果:

## Augmented Dickey-Fuller Test 
## alternative: stationary 
##  
## Type 1: no drift no trend 
##      lag    ADF p.value
## [1,]   0 -19.56    0.01
## [2,]   1 -11.01    0.01
## [3,]   2 -10.63    0.01
## [4,]   3  -9.08    0.01
## [5,]   4 -10.57    0.01
## Type 2: with drift no trend 
##      lag    ADF p.value
## [1,]   0 -19.50    0.01
## [2,]   1 -10.98    0.01
## [3,]   2 -10.60    0.01
## [4,]   3  -9.05    0.01
## [5,]   4 -10.53    0.01
## Type 3: with drift and trend 
##      lag    ADF p.value
## [1,]   0 -19.44    0.01
## [2,]   1 -10.94    0.01
## [3,]   2 -10.56    0.01
## [4,]   3  -9.01    0.01
## [5,]   4 -10.49    0.01
## ---- 
## Note: in fact, p.value = 0.01 means p.value <= 0.01

4 差分后序列白噪声检验

  运行程序:

#差分后序列纯随机性检验
for(k in 1:2) print(Box.test(y,lag=6*k,type="Ljung-Box"))

  运行结果:

## 
##  Box-Ljung test
## 
## data:  y
## X-squared = 56.87, df = 6, p-value = 1.941e-10
## 
## 
##  Box-Ljung test
## 
## data:  y
## X-squared = 76.751, df = 12, p-value = 1.713e-11

  通过1阶12步差分后序列时序图(图1)显示差分后的序列没有明显趋势和周期特征了,ADF检验结果显示差分后序列平稳,纯随机性检验结果显示差分后序列为非白噪声序列,适合建模。

5 ARIMA模型建立

  考虑建立ARIMA加法模型:

∇ s ∇ d x t = Θ ( B ) ϕ ( B ) ϵ t \nabla s \nabla^d x_t=\frac{\Theta(B)}{\phi(B)}\epsilon_t sdxt=ϕ(B)Θ(B)ϵt

6 ARIMA模型定阶

  运行程序:

par(mfrow=c(1,2))
acf(y)
title(sub="图2 入住房间数差分后序列自相关图(ACF)")
pacf(y)
title(sub="图2 入住房间数差分后序列偏自相关图(PACF)")

  运行结果:

图2 入住房间数差分后序列自相关图(ACF)(左)& 偏自相关图(PACF)(右)

  差分后序列的自相关图和偏自相关图(图2)显示,自相关系数和偏自相关系数都显示出拖尾的性质。经过多次尝试之后,直到ARMA(1,6),模型才通过了显著性检验,再考虑到之前的差分运算,实际上拟合的是加法模型: A R I M A ( 1 , 1 , 6 ) × ( 0 , 1 , 0 ) 12 ARIMA(1,1,6)×(0,1,0)_{12} ARIMA(1,1,6)×(0,1,0)12

7 ARIMA模型拟合

  运行程序:

#拟合加法ARIMA模型
fit2=arima(data1,order = c(1,1,6),seasonal = list(order=c(0,1,0),period=12),transform.pars = F)
fit2

  运行结果:

## 
## Call:
## arima(x = data1, order = c(1, 1, 6), seasonal = list(order = c(0, 1, 0), period = 12), 
##     transform.pars = F)
## 
## Coefficients:
##           ar1      ma1      ma2      ma3      ma4      ma5     ma6
##       -0.3848  -0.5833  -0.5015  -0.2828  -0.0814  -0.0647  0.5148
## s.e.   0.1739   0.1663   0.1787   0.0933   0.1072   0.0893  0.0941
## 
## sigma^2 estimated as 221.7:  log likelihood = -645.52,  aic = 1307.03

8 ARIMA模型显著性检验

  运行程序:

#模型显著性检验
ts.diag(fit2)
title(sub="图3 ARIMA(1,(1,12),6)模型显著性检验")

  运行结果:

图3 ARIMA(1,(1,12),6)模型显著性检验

  此时,参数 θ 4 \theta_4 θ4 θ 5 \theta_5 θ5的估计值在两倍标准差外,未通过显著性检验,所以考虑拟合疏系数模型ARIMA(1,(1,2,3,6)),再考虑到之前的差分运算,实际上拟合的是加法模型 A R I M A ( 1 , 1 , ( 1 , 2 , 3 , 6 ) ) × ( 0 , 1 , 0 ) 12 ARIMA(1,1,(1,2,3,6))×(0,1,0)_{12} ARIMA(1,1,(1,2,3,6))×(0,1,0)12

9 ARIMA加法疏系数模型

  运行程序:

#拟合加法ARIMA模型
fit3=arima(data1,order = c(1,1,6),seasonal = list(order=c(0,1,0),period=12),transform.pars = F,fixed=c(NA,NA,NA,NA,0,0,NA))
fit3

  运行结果:

## 
## Call:
## arima(x = data1, order = c(1, 1, 6), seasonal = list(order = c(0, 1, 0), period = 12), 
##     transform.pars = F, fixed = c(NA, NA, NA, NA, 0, 0, NA))
## 
## Coefficients:
##           ar1      ma1      ma2      ma3  ma4  ma5     ma6
##       -0.4201  -0.6015  -0.5797  -0.2909    0    0  0.4730
## s.e.   0.1958   0.1918   0.2185   0.0997    0    0  0.0982
## 
## sigma^2 estimated as 211.5:  log likelihood = -646.01,  aic = 1304.02

10 ARIMA加法疏系数模型显著性检验

  运行程序:

#模型显著性检验
ts.diag(fit3)
title(sub="图4 ARIMA(1,(1,12),(1,2,3,6))模型显著性检验")

  运行结果:

图4 ARIMA(1,(1,12),(1,2,3,6))模型显著性检验

  此时模型参数估计值均在2倍标准差外,显著非零,且模型残差为白噪声序列,aic = 1304.02。最终 A R I M A ( 1 , 1 , ( 1 , 2 , 3 , 6 ) ) × ( 0 , 1 , 0 ) 12 ARIMA(1,1,(1,2,3,6))×(0,1,0)_{12} ARIMA(1,1,(1,2,3,6))×(0,1,0)12模型为:

( 1 − B ) ( 1 − B ) 12 = 1 i 0.60 B − 0.58 B 2 − 0.29 B 3 + 0.47 B 6 1 + 0.42 B ϵ t , V a r ( ϵ t ) = 211.5 (1-B)(1-B)^{12}=\frac{1i0.60B-0.58B^2-0.29B^3+0.47B^6}{1+0.42B}\epsilon_t,Var(\epsilon_t)=211.5 (1B)(1B)12=1+0.42B1i0.60B0.58B20.29B3+0.47B6ϵt,Var(ϵt)=211.5

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

React PureComponent 和 React.memo()区别

1 注意 ● PureComponent和memo仅作为性能优化的方式存在 ● 不要依赖它来阻止渲染&#xff0c;会产生BUG ● PureComponnet 和memo 都是通过对 props 值的浅比较来决定该组件是否需要更新的。 2 PureComponent 和React.memo() 区别 PureComponent 和React.memo()都是React优化…

基于Springboot + Vue 母婴商城系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

国家电网相关信息收集

国家电网有限公司招聘平台--首页 (sgcc.com.cn) 这是官方唯一招聘网站平台 国家电网最新组织机构&#xff08;总部、分部、27家省公司、40家直属单位&#xff09; - 知乎 (zhihu.com) 总部招聘&#xff1a; 我的评价&#xff1a;总部在北京&#xff0c;而且只招几个&#xff…

Studio One6.6.1有哪些新功能以及2024安装教程操作系统的要求

Studio One 6.6.1是一款专业的音频编辑和制作软件&#xff0c;它具有强大的音频编辑和混音引擎以及用户友好的界面。它支持多种音频文件格式和VST插件&#xff0c;是一款专业音乐制作人员和录音师不可或缺的工具。如果你是一位Mac用户&#xff0c;你一定会发现在处理音乐制作和…

Perplexity.ai为大型语言模型(LLM)时代重新设计谷歌搜索引擎优化(SEO)模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

10分钟快速开始SkyWalking结合Springboot项目

10分钟快速开始SkyWalking结合Springboot项目 实习期间&#xff0c;公司让我去学习一下链路追踪如何集成到Springboot项目中。 为此有两个方案&#xff1a; 1.opentelementryjaegerprometheus opentelementry 收集器收集线上的metrics和traces&#xff0c;然后发送给jaeger和p…

Pytest教程:一种利用 Python Pytest Hook 机制的软件自动化测试网络数据抓包方法

随着计算机技术的发展&#xff0c;使得网络应用的数量不断增加&#xff0c;因此网络数据抓包成为了网络应用开发和测试中非常重要的一部分。目前&#xff0c;已有许多网络数据抓包工具可供使用&#xff0c;例如 Wireshark、Tcpdump、Fiddler 等&#xff0c;但这些工具需要手动配…

Nodejs 第四十二章(jwt)

什么是jwt? JWT&#xff08;JSON Web Token&#xff09;是一种开放的标准&#xff08;RFC 7519&#xff09;&#xff0c;用于在网络应用间传递信息的一种方式。它是一种基于JSON的安全令牌&#xff0c;用于在客户端和服务器之间传输信息。 https://jwt.io/ JWT由三部分组成&…

VUE基础知识九 ElementUI项目

ElementUI官网 一 项目 最终完成的效果&#xff1a; 切换上边的不同按钮&#xff0c;下方显示不同的表格数据 在src/components下新建不同业务组件的文件夹 1.1 搭建项目 使用脚手架搭建项目后&#xff0c;引入ElementUI&#xff08;搭建、引入ElementUI步骤在第七节里已…

现代信号处理学习笔记(二)参数估计理论

参数估计理论为我们提供了一套系统性的工具和方法&#xff0c;使我们能够从样本数据中推断总体参数&#xff0c;并评估估计的准确性和可靠性。这些概念在统计学和数据分析中起着关键的作用。 目录 前言 一、估计子的性能 1、无偏估计与渐近无偏估计 2、估计子的有效性 两个…

Vue-Cropper头像裁剪插件使用

1. 效果预览 2. 插件介绍 官网地址&#xff1a;[GitHub - xyxiao001/vue-cropper: A simple picture clipping plugin for vue](https://github.com/xyxiao001/vue-cropper?fromthosefree.com) 3 . 插件使用 下载插件 npm install vue-croppernext3 . 封装好的代码&#x…

FL Studio Fruity Edition2024中文入门版Win/Mac

FL Studio Fruity Edition2024是一款功能强大的音乐制作软件&#xff0c;适合初学者和音乐爱好者使用。它提供了丰富的音乐制作工具&#xff0c;包括音频录制、编辑、混音以及MIDI制作等功能&#xff0c;帮助用户轻松创作出动人的音乐作品。 FL Studio 21.2.3 Win-安装包下载如…

使用Scrapy将数据提取到数据库中,进行处理

我们将数据处理的方式&#xff0c;最开始csv文件 再到与数据库建立联系 代码&#xff1a; Spider: import scrapyclass ShuangseqiuSpider(scrapy.Spider):name "shuangseqiu"allowed_domains ["sina.com.cn"]start_urls ["https://view.lottery…

[NOIP2011 普及组] 数字反转

AC代码&#xff1a; #include<iostream>using namespace std;int main() {long long n;cin >> n;long long temp n;long long sum 0;while(temp ! 0){int c temp % 10;sum sum * 10 c;temp temp / 10;}printf("%lld",sum);return 0; }

vue3 + vite + ts 中使用less文件全局变量

文章目录 安装依赖新建css变量文件全局引入css变量文件使用css变量 一、安装依赖 npm install less less-loader --save-dev 二、新建CSS变量文件 (1) :在根目录下的src文件中 src-> asset -> css ->glibal.less // glibal.less :root{--public_background_font_Col…

跟着cherno手搓游戏引擎【26】Profile和Profile网页可视化

封装Profile&#xff1a; Sandbox2D.h:ProfileResult结构体和ProfileResult容器&#xff0c;存储相应的信息 #pragma once #include "YOTO.h" class Sandbox2D :public YOTO::Layer {public:Sandbox2D();virtual ~Sandbox2D() default;virtual void OnAttach()ove…

python中的数字类型Number

Python 数字(Number) Python 数字数据类型用于存储数值。 数据类型是不允许改变的&#xff0c;这就意味着如果改变数字数据类型的值&#xff0c;将重新分配内存空间。 以下实例在变量赋值时 Number 对象将被创建&#xff1a; var1 1 var2 10Python 支持三种不同的数值类型…

蜣螂优化算法DBO求解不闭合MD-MTSP,可以修改旅行商个数及起点(提供MATLAB代码)

一、蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09; 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为的启发所得…

kubectl使用及源码阅读

目录 概述实践样例yaml 中的必须字段 kubectl 代码原理kubectl 命令行设置pprof 抓取火焰图kubectl 中的 cobra 七大分组命令kubectl createcreateCmd中的builder模式createCmd中的visitor访问者模式外层VisitorFunc分析 结束 概述 k8s 版本 v1.24.16 kubectl的职责 1.主要的…

SQL注入之order by脚本盲注

一、环境 还是用上次搭建的sql-labs靶机环境 搭建sql注入环境 二、什么是order by盲注 在有的时候我们进行sql注入时&#xff0c;源码的查询语句后面为order by&#xff1b; 众所周知&#xff0c;order by 后面接的字段或者数字不一样&#xff0c;那么这个数据表的排序就会…