时间序列模式——arima模型

fangbei fangbei     2022-10-13     123

关键词:

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

 

1. ARIMA的优缺点

优点: 模型十分简单,只需要内生变量而不需要借助其他外生变量。

缺点:
1.要求时序数据是稳定的(stationary),或者是通过差分化(differencing)后是稳定的。
2.本质上只能捕捉线性关系,而不能捕捉非线性关系。
注意,采用ARIMA模型预测时序数据,必须是稳定的,如果不稳定的数据,是无法捕捉到规律的。比如股票数据用ARIMA无法预测的原因就是股票数据是非稳定的,常常受政策和新闻的影响而波动。

2. 判断是时序数据是稳定的方法。

严谨的定义: 一个时间序列的随机变量是稳定的,当且仅当它的所有统计特征都是独立于时间的(是关于时间的常量)。
判断的方法:

  1. 稳定的数据是没有趋势(trend),没有周期性(seasonality)的; 即它的均值,在时间轴上拥有常量的振幅,并且它的方差,在时间轴上是趋于同一个稳定的值的。
  2. 可以使用Dickey-Fuller Test进行假设检验。(另起文章介绍)

股票预测 Python实现

 

步骤

本系统使用yahoo_finance,pandas,numpy,matplotlib,statsmodels,scipy,pywt这些包
1.从yahoo_finance包中获取股票信息,使用panda存储及处理数据,只提取其中Close属性,按照时间排序为时间序列。
2.对Close时序进行小波分解处理,选用DB4进行小波分解,消除噪音。
3.进行差分运算,使用panda包的diff()方法,并使用ADF检验进行平稳性检验,保证时间序列是平稳或趋于平稳的。
4.输出ACF,PACF图,确定p,q的值。
5.运用ARIMA模型对平稳序列进行预测,ARIMA(p,q)。
6.还原差分运算,得到股票预测时序。
 

输出图

本图顺序与步骤顺序无关,仅仅是作为一种直观的展示:技术分享图片
 

总结

ARIMA是一种处理时序的方法模型,可以作用于股票预测,但是效果只能说是一般,因为股市预测有一定的时序关系,却又不完全是基于时序关系,还有社会关系,公司运营,新闻,政策等影响,而且ARIMA使用的数据量仅仅只有一阶的Close属性。因此本模型可以作用在平稳发展,没有什么负面新闻和政策干扰的公司(不懂经济学,不知道对不对= =)。
 

Github

https://github.com/jerry81333/StockProdiction/
 
 

Java中的Arima / Arma时间序列模型[关闭]

】Java中的Arima/Arma时间序列模型[关闭]【英文标题】:Arima/ArmaTimeseriesModelsinJava[closed]【发布时间】:2011-05-0110:22:26【问题描述】:我正在寻找java中的Arima时间序列模型。有没有实现Arima/Arma模型的Java库?【问题讨论】:【参考方... 查看详情

解释 ARIMA 模型的预测

...6:27:31【问题描述】:我试图向自己解释将ARIMA模型应用于时间序列数据集的预测结果。数据来自M1-Competition,系列为MNB65。我正在尝试将数据拟合到ARIMA(1,0,0)模型并获得预测。我正在使用R。这里有一些输出sn-ps:>arima(x,order=c 查看详情

机器学习笔记之五用arima模型做需求预测用arima模型做需求预测

本文结构:时间序列分析?什么是ARIMA?ARIMA数学模型?input,output是什么?怎么用?-代码实例常见问题?时间序列分析?时间序列,就是按时间顺序排列的,随时间变化的数据序列。生活中各领域各行业太多时间序列的数据了... 查看详情

python statsmodels:帮助将 ARIMA 模型用于时间序列

】pythonstatsmodels:帮助将ARIMA模型用于时间序列【英文标题】:pythonstatsmodels:HelpusingARIMAmodelfortimeseries【发布时间】:2015-10-1919:48:11【问题描述】:来自statsmodels的ARIMA为我的输出提供了不准确的答案。我想知道是否有人可以帮助... 查看详情

时间序列arima模型

时间序列ARIMA模型1、数据的平稳性与差分法 让均值和方差不发生明显的变化(让数据变平稳),用差分法   2、ARIMA模型-----差分自回归平均移动模型求解回归的经典算法:最大似然估计、最小二乘法   &... 查看详情

r语言时间序列(timeseries)分析实战:使用arima模型预测时间序列

R语言时间序列(timeseries)分析实战:使用ARIMA模型预测时间序列目录 查看详情

使用额外回归量预测 ARIMA 模型

...发布时间】:2016-06-0205:12:26【问题描述】:假设我有一些时间序列如下,我想预测c1领先一步,这样做在R中非常简单且容易:testurl="https://docs.google.com/spreadsheets/d/1jtpQaSxNY1V3b-Xfa5OJKDCLE6pNlzTbwhSHB 查看详情

时间序列分析-如何写出arima模型的公式

根据之前分享的R语言时间序列分析步骤,得到最佳的模型拟合结果后,如何将p,d,q代入公式呢?需要搞清楚的知识点有:·ar,ma,arma,arima模型的公式,参考维基百科·滞后算子(表示前几期... 查看详情

时间序列分析-如何写出arima模型的公式

根据之前分享的R语言时间序列分析步骤,得到最佳的模型拟合结果后,如何将p,d,q代入公式呢?需要搞清楚的知识点有:·ar,ma,arma,arima模型的公式,参考维基百科·滞后算子(表示前几期... 查看详情

r语言的arima模型预测

R通过RODBC连接数据库stats包中的st函数建立时间序列funitRoot包中的unitrootTest函数检验单位根forecast包中的函数进行预测差分用timeSeries包中diffstats包中的acf和pacf处理自相关和偏自相关stats包中的arima函数模型  查看详情

时间序列笔记-季节性arima模型(一)

...部分主要以实例讲解季节性ARIMA模型的拟合和预测。有些时间序列数据会表现出一定的周期性。有些月度数据,其季节性可以以12个月为一个周期也可能以一个季度为一个周期。纯季节性模型的数据只与其季节性滞后期的数据相... 查看详情

arima基本概念和流程讲解(代码片段)

基本概念p:自回归阶数q:滑动平均阶数d:时间序列成为平稳时所做的差分次数AR-AutoRegression,自回归模型:AR可以解决当前数据与后期数据之间的关系;表示为自回归模型AR(p)MA-MovingAverage,移动平均模型:MA则可以解决... 查看详情

使用 ARIMA 进行预测

...:2019-05-0621:11:06【问题描述】:我正在使用ARIMA模型预测时间序列数据。我使用以下代码找到了最适合的ARIMA模型:defrun_arima_model(df,ts,p,d,q):fromstatsmodels.tsa.arima_modelimportARIMAmodel=ARIMA(df[ts],order=(p,d,q) 查看详情

产生直线预测的 ARIMA 模型

】产生直线预测的ARIMA模型【英文标题】:ARIMAmodelproducingastraightlineprediction【发布时间】:2019-11-2612:52:50【问题描述】:我在2个数据集上使用ARIMA模型进行了一些实验Airlinepassengersdata美元兑印度卢比数据我在Airlinepassengersdata上得... 查看详情

如何执行不涉及重新拟合 ARIMA 模型的多步超时预测?

...题描述】:我有一个现有的ARIMA(p,d,q)模型适合使用python的时间序列数据(例如,data[0:100])。我想用这个模型做预测(forec 查看详情

滚动率预测模型是不是与 ARIMA 相同

】滚动率预测模型是不是与ARIMA相同【英文标题】:IsrollrateforecastingmodelthesameasARIMA滚动率预测模型是否与ARIMA相同【发布时间】:2018-11-0810:24:18【问题描述】:我目前正在尝试建立一个滚动率模型来估计未来几个月的财务损失。... 查看详情

auto.arima() 函数中的错误

...】:2017-05-2304:01:14【问题描述】:我正在为我的论文处理时间序列,我想知道错误“找不到合适的ARIMA模型”的所有可能原因。我认为当您尝试使用auto.arima()函数拟合Arima模型的时间序列不是固定的时,会出现此错误。就我而言... 查看详情

时间序列模型-arima(代码片段)

...型必须满足平稳性的要求;(何为平稳性:见时间序列数据分析基本概念)p阶自回归过程的公式定义:        其中是当前值,是常数项,p是阶数,是自相关系数,是误差。1.1.1自回归模型... 查看详情