全文链接:https://tecdat.cn/?p=34361
众自20世纪80年代至今,随着改革开放的深入以及中国最终加入WTO,我国的对外贸易实现了跨越式的发展,中国已经成为世界第一大出口国和第二大进口国,中国经济对世界经济做出了重大贡献(点击文末“阅读原文”获取完整代码数据)。
相关视频
与此同时,中国经济自身的外贸依存度也已经达到了很高的水平,因此正确分析预测我国的进出口贸易额将对我国对外贸易的发展起着举足轻重的作用。
本文帮助客户在分析了我国出口总额的数据基础上(查看文末了解数据免费获取方式),根据其数据特征建立ARIMA模型和指数曲线趋势外推模型,主要利用Eviews对模型进行检验分析,从而预测了中国出口贸易总额。
数据的选取与描述性统计
本文选取了进出口总额数据(X),(见图1)通过对数据的初步观察可得出:中国进出口总额带有明显的趋势性,这个社会经济现象可以看成是随机过程在现实中的一次样本实现。
图中显示,中国进出口总额保持指数增长趋势,特别是1978年改革开放以后,呈现出较强劲的增长趋势。从中国进出口总额的变化特征来看,这是一个非平稳序列,明显呈现上升趋势。
以下为利用软件相关过程:
第一步:读取中国进出口总额数据建模及预测
在workfile中新建序列im_ex,并录入数据(点击File/Import/Read Text-Lotus-Excel…,
找到相应的Excel数据集,打开数据集,出现如下图的窗口,在“Data order”选项中选择“By observation-series in columns”即按照观察值顺序录入 ,本例只有一列数据,在“Names for series or number if named in file”中输入序列的名字im_ex,点击ok,则录入了数据):
第二步:时序图判断平稳性
双击序列im_ex,点击view/Graph/line,得到下列对话框:
得到如下该序列的时序图,由图形可以看出该序列呈指数上升趋势,直观来看,显著非平稳。
得到图1所示,中国进出口总额变化趋势图。
中国进出口总额的趋势模型应用
y序列显著非平稳,现对其一阶差分序列进行ADF检验。在对y的一阶差分序列进行ADF单位根检验之前,需要明确y的一阶差分序列的趋势特征。在Eviews命令框中输入相应的命令“series dy1=D(y)”就得到对数序列的一阶差分序列dy1,其时序图见下图
检验结果见下图,可以看出在显著性水平0.05下,拒绝存在单位根的原假设,说明序列y的一阶差分序列是平稳序列,因此d=1。
点击标题查阅往期内容
基于ARIMA、SVM、随机森林销售的时间序列预测
左右滑动查看更多
01
02
03
04
变量 | 检验类型 | Adf统计量 | 5%临界值 | Prob | 结论 |
---|---|---|---|---|---|
Ex-im | C(0,0) | 2.3275 | -2.91 | 0.99 | 非平稳 |
D(ex-im) | C(0,0) | -4.839 | -2.91 | 0.0002 | 平稳 |
在Eviews对话框中输入“series x=y-y(-1)”或“series x=y-y(-1)”,并点击“回车”,便得到了经过一阶差分处理后的新序列x,其时序图见下图,从直观上来看,序列x也是平稳的,这就可以对x序列进行ARMA模型分析了。
结果如下:
PACF为拖尾的,ACF二阶截尾,故模型为MA(2)。
接下来估计模型参数:
得到了以下结果:
对模型参数进行显著性检验,计算其T统计量,显然参数在5%的显著水平下拒绝零假设。
模型的适应性检验与预测
参数估计后,应对拟合模型的适应性进行检验,实质是对模型残差序列进行白噪声检验。若残差序列不是白噪声,说明还有一些重要信息没被提取,应重新设定模型。可以对残差进行纯随机性检验,也可用针对残差的检验。
残差序列采用拟合的ARMA(1,6)模型生成。
将该方程的残差序列定义为a_eq01_06_1即可,可以得到从1978至2012年采用拟合的ARMA(1,6)模型生成的残差序列。
代码语言:javascript复制a_eq01_06_1 (2)=x(2)-0.151676-0.785440*0 0.463391*0 0.428391*0-0.454978*0
这样得到的序列a_eq01_06_1即为ARMA(1,6)模型的残差序列,a_eq01_06_1序列的自相关偏自相关图如下:
(偏)相关函数值、以及Q-Stat及其p值显示,残差序列不存在自相关,为白噪声,因此模型是适合的模型。模型拟合图如下
检验结果表明:
LB统计量的P值均大于0.05(或其ACF均落在区间内),说明残差序列无自相关,模型为适应的。
接下来做模型预测:
首先需要扩展样本期,在命令栏输入expand 1952 2015,回车则样本序列长度就变成64了,且最后面4个变量值为空。在方程估计窗口点击Forecast,出现下图对话框,
(1)进行样本内(1978-2012)静态预测,在方程估计窗口点击Forecast,出现下图对话框,预测序列记为xf_static_eq01_06_1,预测方法选择“Static forecast”,预测样本区间为“1952-2015”,点击OK,得到下列预测图
(2)将序列的估计值x_fit_eq01_06_1和这里的静态预测序列xf_static_eq01_06_1以组的形式打开,并将组命名为x_fit_xf_static,组序列图形如下
可见,样本内的静态预测序列值严格落在拟合值序列x_fit的曲线上,说明在样本期内(1978-2012)静态预测值与模型的拟合值(估计值)是相等的。
(3)进行样本外动态预测,在方程估计窗口点击Forecast
预测序列记为xf_dynamic_eq01_06_1,预测方法选择“Dynamic forecast”,预测样本区间为样本外区间“2012-2015”,点击OK,得到下列预测图
(4)建立新的序列x_fit_f存放序列的静态和动态预测值,将序列xf_dynamic_eq01_06_1中第2012-2015年的数值复制到序列x_fit_f的对应位置,这样得到的序列x_fit_f就是序列x的预测值。
(5)将序列的实际值x和这里的预测序列x_fit_f以组的形式打开,并将组命名为x_x_fit_f,组序列图形,即x的实际值与预测值图形如下
指数平滑模型
除了趋势拟合外,平滑法也是消除短期随机波动反应长期趋势的方法,而其平滑法可以追踪数据的新变化。平滑法主要有移动平均方法和指数平滑法两种,这里主要使用指数平滑方法。
对已经平稳了的时间序列,通过Eviews进行指数平滑。
步骤如下:
给定方法为选择使残差平方和最小的平滑系数,该例中平滑系数0.88,超过0.5用一次平滑效果不太好
可以看出,平滑系数为0.1 ,修匀或者趋势预测效果不错。
结论
2005 年进口总额预测值6438.752 亿美元, 根据 《 海关统计》 数据, 2005年两项指标实际值分别为63169.8亿元、6601亿美元, 误差分别为1.66% , 2.45% 0误差非常之小, 因此预测模型有相当的可信度。时间序列预测法是一种重要的预测方法, 其模型比较简单 , 对资料的要求比较单一, 只需变量本身的历史数据, 在实际中有着广泛的适用性。
数据获取
在公众号后台回复“进出口数据”,可免费获取完整数据。
本文选自《数据分享|Eviews用ARIMA、指数曲线趋势模型对中国进出口总额时间序列预测分析》。
点击标题查阅往期内容
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测
结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
用PyTorch机器学习神经网络分类预测银行客户流失模型
PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据
Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R语言深度学习:用keras神经网络回归模型预测时间序列数据
Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
MATLAB中用BP神经网络预测人体脂肪百分比数据
Python中用PyTorch机器学习神经网络分类预测银行客户流失模型
R语言实现CNN(卷积神经网络)模型进行回归数据分析
SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型
【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析
Python使用神经网络进行简单文本分类
R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析
R语言基于递归神经网络RNN的温度时间序列预测
R语言神经网络模型预测车辆数量时间序列
R语言中的BP神经网络模型分析学生成绩
matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类
R语言实现拟合神经网络预测和结果可视化
用R语言实现神经网络预测股票实例
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译
用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类