ARIMA模型——如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数

ARIMA模型全称为自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model,简记ARIMA),是由博克思(Box)和詹金斯(Jenkins)于70年代初提出一著名时间序列(Time-series Approach)预测方法 [1]  ,所以又称为Box-Jenkins模型、博克思-詹金斯法。其中ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。ARIMA模型根据原序列是否平稳以及回归中所含部分的不同,包括移动平均过程(MA)、自回归过程(AR)、自回归移动平均过程(ARMA)以及ARIMA过程。

基本思想

ARIMA模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。现代统计方法、计量经济模型在某种程度上已经能够帮助企业对未来进行预测。

预测程序

ARIMA模型预测的基本程序

(一)根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列都不是平稳序列。

(二)对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。

(三)根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定序列适合AR模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型。(截尾是指时间序列的自相关函数(ACF)或偏自相关函数(PACF)在某阶后均为0的性质(比如AR的PACF);拖尾是ACF或PACF并不在某阶后均为0的性质(比如AR的ACF)。)

(四)进行参数估计,检验是否具有统计意义。

(五)进行假设检验,诊断残差序列是否为白噪声。

(六)利用已通过检验的模型进行预测分析。

案例分析

案例一:ARlMA模型在海关税收预测中的应用 [2] 

2008年。海关税收预算计划8400亿元.比2007年实际完成数增加10.8%,比2007年预算数增加22.1%。为了对2008年江门海关税收总体形势进行把握,笔者尝试利用SAS统计分析软件的时间序列预测模块建立ARIMA模型,对2008年江门海关税收总值进行预测。从预测结果来看,预测模型拟合度较高,预测值也切合实际情况,预测模型具有一定的应用价值。现将预测的方法、原理以及影响税收工作的相关因素分析。

二、应用ARIMA模型进行预测

每月税收数据.可以看作是随着时间的推移而形成的一个随机时间序列,通过对该时间序列上税款值的随机性、平稳性以及季节性等因素的分析,将这些单月税收值之间所具有的相关性或依存关系用数学模型描述出来,从而达到利用过去及现在的税收值信息来预测未来税收情况的目的。

(一)对序列取对数和作差分处理,形成稳定随机序列

ARIMA模型建模的基本条件是要求待预测的数列满足平稳的条件,即个体值要围绕序列均值上下波动,不能有明显的上升或下降趋势,如果出现上升或下降趋势,需要对原始序列进行差分平稳化处理。

(二)模型参数的估计

时间序列预测模块的自相关分析包括对自相关系数和偏相关系数的分析,通过对比分析从而实现对时间序列特性的识别。从计算结果可知,自相关函数1步截尾,偏自相关函数2步截尾,自相关函数通过白噪声检验。根据变换数列的自相关函数和偏自相关函数的特点,并经过反复测试,对ARIMA模型的参数进行估计.三个参数定为d=l,p=2和q=l。

对参数进行检验。从检验结果可知,参数估计全部通过显著性检验.拟合优度统计量表中给出了残差序列的方差(0.063367)和标准误差(0.251729),以及按AIC和SBC标准计算的统计量(9.496798)和(18.54752),这两个值都较小,表明对预测模型拟合得较好。从残差的自相关检验结果数据中.可以得知残差通过白噪声显著性检验。预测模型最终形式为:(14-0.98284B)(1+0.56103B-2)Z=(1-0.34111B)(1+B)u其中,Z=logX。B为后移算子,u为随机干扰项。

原文地址:https://www.cnblogs.com/bonelee/p/9523452.html

时间: 2024-11-13 11:38:08

ARIMA模型——如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数的相关文章

使用BERT模型生成句子序列向量

之前我写过一篇文章,利用bert来生成token级向量(对于中文语料来说就是字级别向量),参考我的文章:<使用BERT模型生成token级向量>.但是这样做有一个致命的缺点就是字符序列长度最长为512(包含[cls]和[sep]).其实对于大多数语料来说已经够了,但是对于有些语料库中样本的字符序列长度都比较长的情况,这就有些不够用了,比如我做一个法院文书领域预测任务,里面的事实部分许多都大于1000字,我做TextCharCNN的时候定义的最大长度为1500(能够涵盖百分之95以上的样本).

DATASNAP数据序列之FIREDAC的TFDJSONDataSets

DELPHI XE5开始增加了新的数据引擎——FIREDAC,它是跨平台的数据引擎,WINDOWS.LINUX.MAC.APP......都可以使用. 随之DATASNAP也增加了新的远程方法返回数据类型——TFDJSONDataSets. 顾名思义TFDJSONDataSets是数据集列表,是多个数据集的集合,DATASNAP通过它一次可以返回多个查询结果数据集. 服务端代码: function TServerMethods1.QuerySql2(const accountNo, sql: s

matlab数据序列的几种滤波器

一维数据序列滤波的matlab代码, 其实和之前做的图像滤波大同小异, 只是图像的噪声情况复杂得多, 而且是二维的. 做这个主要是手上有个心电的的mens传感器, 蓝牙把数据传过来做一个数据的100Hz左右的带通滤波, 用butterworht做个带通滤波, 再用c语言重构一下. 1 %**************************************************************************************** 2 % 3 % 创建两个信号Mix

java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例

package org.rui.io.xml; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.List; import nu.xom.Document; import nu.

多备份:云端数据物流平台为企业提供云备份服务(通过增值服务盈利,数据备份相当于买保险)

在第六届云计算大会召开之际,云计算创新项目评选也在如火如荼展开,今天我们给大家介绍深圳木浪科技公司是国内首家从事基于互联网的云备份行业,团队成员都是来自腾讯.盛大.迅雷.1号店等知名IT公司的技术骨干. 云计算和大数据的产业顶级盛会,“ 第六届中国云计算大会”将于2014年5月20-23日在北京国家会议中心隆重召开.“ 全国云计算大数据创新项目评选”于2014年3月正式启动.本次项目评选由中国电子学会主办,中国电子学会云计算专家委员会及中国云计算技术与产业联盟共同承办, CSDN协办.该活动最终

定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据?

原文:http://www.iteye.com/problems/77856 定时从一个数据库表中的数据存储到另外一个数据库中的表,而且怎么处理重复的数据? 表结构肯定是不能破坏,但是临时表如果是自己的数据库还行,问题是这个Oracle数据库是客户的数据库呢,你不能在他的数据库做任何多余的操作吧?还有别的更好的方法吗? 这个真的是比较困难. 首先,你要从客户机oracle取数据,因为这1分钟间隔之内不知道用户机新增加了哪些数据(大部分情况下是用户使用别的系统插入数据,而你又没有这个系统的程序接口

客户端技术的一点思考(数据存储用SQLite, XMPP通讯用Gloox, Web交互用LibCurl, 数据打包用Protocol Buffer, socket通讯用boost asio)

今天看到CSDN上这么一篇< 彻底放弃没落的MFC,对新人的忠告!>, 作为一个一直在Windows上搞客户端开发的C++程序员,几年前也有过类似的隐忧(参见 落伍的感觉), 现在却有一些不同的想法. 首先,个人职业发展是否成功, 技术只是其中一小块,尤其是在大公司, 更多的是依靠所谓的软实力.作为一个对技术有追求的工匠,我们下面重点说技术相关的. 现在回头看计算机行业的发展,我们看到不同的发展阶段: 1. PC时代,这个时代离我们并不遥远, 也有是2000年前后, 该时代最鲜明的特征是Win

FP-growth算法发现频繁项集(二)——发现频繁项集

上篇介绍了如何构建FP树,FP树的每条路径都满足最小支持度,我们需要做的是在一条路径上寻找到更多的关联关系. 抽取条件模式基 首先从FP树头指针表中的单个频繁元素项开始.对于每一个元素项,获得其对应的条件模式基(conditional pattern base),单个元素项的条件模式基也就是元素项的关键字.条件模式基是以所查找元素项为结尾的路径集合.每一条路径其实都是一条前辍路径(perfix path).简而言之,一条前缀路径是介于所査找元素项与树根节点之间的所有内容. 下图是以{s:2}或{

Android学习----------长按列表项弹出菜单,给菜单项添加事件,获取上下文

这里是先显示一个listview,长按listview的一个列表项,弹出一个菜单来,菜单有两个条目, "更新该条"和"删除该条",并且这两条都有监听事件,整体就像微信好友对话操作一样. 其中菜单项有一个获取上下文的操作:AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 这句也是用于列表项的. 具体代码如下: protected void onCreate(Bundle