时间序列方面在职研究生论文范文 和基于MATLAB的时间序列分析相关在职研究生论文范文

此文是一篇时间序列论文范文,为你的毕业论文写作提供有价值的参考。

基于MATLAB的时间序列分析

摘 要本文介绍了时间序列分析的基本步骤及其在MATLAB软件中的实现.最后基于MATLAB 软件对某上市公司股票的每日收盘进行实证分析,建立了ARIMA(2,1,3)模型,并利用该模型对股票走势进行预测.

关键词MATLAB 软件时间序列ARMA模型

1 引言

时间序列,通俗地说就是随时间变化而随机地变化的序列.时间序列分析是基于随机过程理论和数理统计学方法,研究随机数据序列统计规律的一门学科,其目的在于通过建立适当的时间序列模型从动态的角度刻画某一现象自身或与其他现象之间的内在关系及其变化规律,从而预测和控制现象的未来行为[1].例如在股票市场中,根据股票指数的历史数据,可以预测未来短期内的股票指数走势,便于投资者做出理性的投资决策;根据某地区已有的电力负荷数据,预测下一时段的电力负荷,以便控制发电机的发电量等.时间序列分析在国民经济宏观控制、企业经营管理、市场潜量预测、气象预报、地震预报、农作物病虫灾害预报、环境污染控制、天文学和海洋学等方面都有广泛应用.

目前在时间序列分析方面经常使用的软件有SAS、Eviews、TSP 等[2,3],这些软件提供了一些基本的时间序列计算功能,但其可扩充功能较弱,难以满足实际复杂计算功能的需要.MATLAB 软件作为国际科学界最具影响力、最具活力的科学计算软件,其操作简单、语言简洁,具有强大的数据可视化能力以及良好的开放性等优点,配合其系统辨识、金融时间序列、GARCH等工具箱,能够灵活实现各种算法,是进行时间序列分析的有力工具.本文着重讨论了基于MATLAB的时间序列建模问题,并结合某上市公司股票2016 年2 月18 日至2017 年11 月27 日每日收盘数据实例讨论了MATLAB 在时间序列建模方面的优越性和实际应用.

2 时间序列模型的建立

2.1 ARMA模型的定义

常见的时间序列模型主要有三种:AR 模型(自回归模型) 、MA 模型(滑动平均模型)和ARMA 模型(自回归滑动平均模型).

2.2 ARMA模型的识别与定阶

对一个平稳时间序列{xt},建立其适合的模型的第一步是模型识别,即判别该序列所适合的模型的类型.模型识别的方法较多,这里我们利用平稳时间序列的样本自相关函数(ACF)和样本偏自相关函数(PACF)的统计特性来识别模型.ARMA(n,m)模型的ACF 和PACF 的统计特性如下:

确定了时间序列适合的模型类型之后,还需要知道模型的阶数,即确定n、m 的大小.模型定阶的常见方法有残差方差图定阶法、F 检验定阶法和准则函数定阶法等,本文应用AIC 准则定阶方法.首先假定ARMA(n,m)模型的一组阶数

AIC(k,j)的最小值点(n0,m0)称为(n,m)的AIC 定阶,也就是ARMA(n,m)模型的最佳阶数.

在MATLAB 中计算样本自相关函数(ACF)和样本偏自相关函数(PACF)的代码如下:

语法:[ACF,Lags,Bounds]等于autocorr (Series,nLags,L,nSTDs);

[PACF,Lags,Bounds]等于parcorr (Series,nLags,L,nSTDs);

说明: Series 为时间序列向量;nLags(可选项)表示要计算ACF 的阶数;L(可选项)设定为当Lags>L 时,理论的ACF 显著为0;nSTDs(可选项)设定样本ACF 的标准差;ACF返回自相关函数的计算结果;Lags 为对应的阶数;Bounds返回ACF 的近似置信区间.parcorr 的参数设置与autocorr类似,PACF 返回偏自相关函数的计算结果.

在MATLAB 中计算AIC 准则函数的代码如下:

语法:A等于aic(M);

说明: M为模型参数估计的结果;A 返回相应的AIC 准则函数值.

2.3 ARMA 模型的参数估计

对一组样本数据序列x1,x2,…,xN所适合的ARMA 模型进行识别和定阶后,接下来的工作就是要估计出其中数,以便进一步应用模型.常用的参数估计方法有矩估计法、最小二乘估计法和极大似然估计法等.

在MATLAB 中实现ARMA 模型参数估计的代码如下:

语法: M等于armax(data,orders);

说明: data 为时间序列数据;orders等于[na,nc]是自回归滑动平均的阶数,na、nc 为非负整数,当na等于0 时,表示滑动平均模型MA(nc),当nc等于0 时,表示自回归模型AR(na);M返回模型参数估计的结果和效果,其中FPE 项表示估计模型的Akaike 最终预测误差.

2.4 ARMA 模型的适应性检验

完成模型的识别、定阶和参数估计后,还需要判断这个模型用于描述时间序列是否恰当,即模型的适应性检验.若所建模型是合理的,则其应该完全或基本上解释了系统的动态性(即数据序列的相关性),从而模型中的残差序列{at}应该是白噪声序列,否则就应当进一步改进模型.

在MATLAB 中实现ARMA 模型适应性检验的代码如下:

语法:[H,pValue,Qstat,CV]等于lbqtest (Series,Lags,Alpha);

说明: Series 为残差向量;Lags 为滞后期数;Alpha 为显著性水平(默认为0.05);H 返回一个由0 和1 构成的向量,0 表示接受假设,即模型适合,1 表示拒绝假设,H 的维数和Lags 相同;pValue 返回检验的显著性概率值;Qstat 为修正的Ljung-Box-Pierce 统计量的值;CV 返回x2 分布临界值.

2.5 平稳时间序列的预测

时间序列模型是利用时间序列中的相关信息建立起来的,它是时间序列动态性和发展变化规律的客观描述,因而我们可以采用建立的ARMA 模型对时间序列的未来取值进行预测.预测原则通常为预测误差的均方值达到最小.在MATLAB 中实现模型预测的代码如下:

语法: P等于predict(data,M,t);

说明: data 为时间序列数据;M 为模型参数估计的结果;t为向前预测的步长;P 返回预测结果.

3 应用实例

下面以2016 年2 月18 日至2017 年11 月27 日期间,某上市公司股票每日收盘价为原始数据进行分析,建立适合股票走势规律的ARMA 模型,并利用该模型对该股票在未来五个交易日的走势进行预测.

从原始数据{xt}的序列图1 中可以看出该序列显然是非平稳的,对其进行一阶差分,差分后序列记为{yt},其序列图如图2.从图2 可以看出增长趋势明显被消除掉,因此可以认为经一阶差分后,新序列是平稳的.

对差分后的序列计算其样本自相关函数(ACF)和样本偏自相关函数(PACF),结果如图3 和图4 所示.从图3 和图4中可以看出序列的ACF 和PACF 均呈现拖尾性,因此可初步判断为ARMA 模型.

下面采用AIC 准则函数法对模型的阶数进行判定.运用MATLAB 软件编程计算,通过调试,确定n等于2、m等于3 时模型的拟合效果最好,即选定模型为ARMA(2,3),此时AIC等于-3.9557.所得模型如下:

残差序列的自相关函数图如图5 所示.

取Lags等于[6,12],运用x2 检验法对模型的适应性进行检验,检验结果为:H等于[0,0],pValue等于[0.9103,0.9747],说明ARMA(2,3)模型是适合的.

最后,我们利用上述模型以2009 年11 月27 日为原点对该股票在未来五个交易日的走势进行预测,预测结果为5.61、5.66、5.70、5.69、5.72,与11 月30 日至12 月4日的实际收盘价5.66、5.87、5.89、6.18、6.22 相比,预测相对误差分别为0.88%、3.58%、3.23%、7.93%、8.04%,均在10%以内,说明预测效果是不错的.实际值和预测值的比较见图6.

4 结语

时间序列分析是统计学的一个重要分支,在经济金融、信息、天文、气象等众多领域中有着广泛的应用.本文介绍了时间序列建模的基本步骤及其在MATLAB 软件中的实现,通过上面的实例分析可以看出,利用MATLAB 软件可以很方便地实现数据的时间序列建模,建模精度高,分析结果可靠,同时利用它强大的图形功能可以很直观地进行数据的分析与比较.随着MATLAB 功能的不断强大,其在时间序列分析方面的应用必将越来越广.

参考文献

[1] 王振龙,胡永宏.应用时间序列分析[M].北京:科学出版社,2007.

[2] 郭雪,王彦波.基于ARMA模型对沪市股票指数的预测[J].时代经贸,2006,4(51):58-59.

[3] 于妮莎,王珊珊.对经济增长的时间序列分析[J].价值工程,2007(7):13-16.

[4] 杨叔子,吴雅,等.时间序列分析[M].武汉:华中理工大学出版社,1994.

[5] 孙祥,徐流美,吴清. MATLAB7.0 基础教程[M].北京:清华大学出版社,2005.

[6] Lennart Ljung.System Identification-Theory For theUser[M].PTR Prentice Hall,2002.

时间序列论文范文结:

适合时间序列论文写作的大学硕士及相关本科毕业论文,相关时间序列开题报告范文和学术职称论文参考文献下载。

1、自考本科论文报名时间

2、时间管理论文

3、自考本科论文答辩时间

4、自考毕业论文申请时间

5、自考论文答辩时间

6、大学生时间管理论文