时间序列分析——自回归移动平均(ARMA)模型

2024-02-27 11:38

本文主要是介绍时间序列分析——自回归移动平均(ARMA)模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    一、时间序列与ARMA模型

    自回归滑动平均模型(ARMA模型,Auto-Regression and Moving Average Model)是研究时间序列的重要方法,由自回归模型(AR模型)与滑动平均模型(MA模型)为基础“混合”而成,具有适用范围广、预测误差小的特点。

    一般p阶自回归过程AR(p)是:

        (1-1)

其中{}为白噪声,为自回归模型的参数。若用滞后算子L表示,则式(1-1)可以用滞后算子的p阶多项式来描述。

        (1-2)

其中,称为特征多项式或自回归算子。

    如果时序{}满足方程:

        (1-3)

则称{}为q阶滑动平均过程,简写为MA(q)。其中{}为白噪声,为滑动平均模型的参数。

    自回归移动平均过程具有随机性的特点,它包括了两个不同的部分,即自回归、移动平均。如果前p代表一部分的阶数值的上限值,用q代表后一部分的阶数值的上限值,那么自回归滑动平均过程就可以表示为ARMA(p,q)。具体表达式如下:

        (1-4)

其中{}为白噪声,为自回归模型的参数,为滑动平均模型的参数。

    二、ARMA模型的建立

    ARMA建模步骤

    (1)对输入的数据进行判断,判断其是否为平稳非纯随机序列,若平稳则直接进入步骤2;若不平稳则进行数据处理,处理后才能进入步骤2。

    (2)通过自相关和偏自相关函数,并结合AIC或BIC准则对建立的模型进行模型识别和定阶。

    (3)完成模型识别和定阶后,进入模型的参数估计阶段。

    (4)完成参数估计后,对拟合的模型进行适应性检验。如果拟合模型通过检验,则开始进行预测阶段。若模型检验不通过,则重新进行模型识别和检验,即重复步骤2,重新选择模型。

    (5)最后,利用适应性高的拟合模型,来预测序列的未来变化趋势。


    数据的平稳性检验与处理

    假如时间序列符合下列要求:(1)对任意时间t,其均值恒为常数;(2)对于任意的时间t与s,此时间序列的相关系数是由两个时间点之间的时间段决定的,两个时间点的起始点不会造成任何影响。这样的时间序列就是平稳时间序列。

    若一个AR过程是一个平稳过程,则其特征方程的根绝对值应在单位圆之外;而MA过程包含一组有限的、平稳的白噪声的线性组合,因此,MA过程是“天生”平稳的。ARMA模型可以看成是AR模型和MA模型的组合,而MA过程必定是平稳的。所以,ARMA模型的平稳性只需检验AR部分的平稳性。

    平稳性检验的方法有数据图、逆序检验、游程检验、单位根检验、DF检验、ADF检验等。

    在实际中,常常会遇到输入的时间序列经检验是非平稳的,这样就无法采用ARMA模型,通常的处理方法是采用差分的方法将它们变换为平稳的。经差分后,如果时间序列检验为平稳,就对差分后的时间序列进行处理,便可建立对应的平稳随机过程或模型。一个非平稳时间序列接受了d次差分处理并成为平稳序列时,就能够用一个平稳的ARMA(p,q)模型当作其对应的模型,则称该原始时间序列是一个自回归积分滑动平均时间序列,表示成ARIMA(p,d,q)

    模型识别和定阶

    模型的识别方法一般有两种,一种是自相关函数(ACF),另一种是偏自相关函数(PACF)。这两种方法是识别ARMA模型最有效的方法。可以采用两种函数的截尾性质来判断该模型的类型。


    使用自相关函数和偏自相关函数的截尾来判断模型为ARMA模型时,并不能确定p和q的阶数,为了比较精确的确定p和q的阶数,就必须与常用的定阶准则联合起来应用。如今应用最为广泛的是AIC(最小信息量准则(A-Information Criterion))和BIC准则。

    AIC准则是拟合精度和参数个数的加权函数,使AIC函数达到最小值的模型被认为是最优模型。设{}为一时间序列的样本,我们用AR(n)模型来描述它。是拟合残差方差,定义AIC准则函数如下:

        (2-1)

        (2-2)

其中M(N)等于 或 ,我们便取为最佳自回归模型阶数。

    BIC准则定义如下:

        (2-3)

其中,n为参数个数。若某一阶数满足

        (2-4)

其中M(N)等于 或 ,则为最佳系数。

    模型参数估计和适应性检验

    任何ARMA或MA过程可以用一个无限阶的AR过程表示,所以如果选择了一个不合适的模型,但只要模型的阶数足够高,它仍然能够比较好地逼近被建模的随机过程。在这三种参数模型中,AR模型得到了普遍应用,其原因是AR模型的参数计算过程是线性方程,比较简便。MA模型一般需要数量很多的参数;ARMA模型虽然所需的参数数量最少,但参数估计的算法是非线性方程组,其运算远比AR模型复杂。再考虑到任意ARMA或MA信号模型可以用无限阶或阶数足够大的AR模型来表示,我们就将ARMA模型转换为AR模型,并用Bury递推算法求解参数。详见点击打开链接。

这篇关于时间序列分析——自回归移动平均(ARMA)模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752270

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3