【STATA】ARIMA模型(含代码)

您所在的位置:网站首页 stata的代码 【STATA】ARIMA模型(含代码)

【STATA】ARIMA模型(含代码)

2023-09-15 00:01| 来源: 网络整理| 查看: 265

0. 缘起

一个被数学建模折磨的苦命人,在CSDN上找不到STATA相关的教程,没办法只有自己借了两本书,找了些相关资料进行学习。想到可能有同样苦命的人存在,将自己的理解上传,希望能提供一些帮助。

PS:其实原来会用SPSS跑ARIMA模型,但是这次需要对几十个国家的数据跑(也就是几十个模型),想寻找一种自动确定模型参数的方法【但是现在并没有找到】。觉得如果可能有的话,应该是通过STATA实现,若有好心人知道且愿意告知,将会非常感谢!

1. ARIMA模型介绍

就使用而言,ARIMA(p, d, q)模型有现成的程序,需要人工做的仅仅只有:

通过观察结果得到确定三个待定参数的值 d:差分阶数,通过看检验结果确定p、q:自回归和移动平均阶数,看AC和 PAC图像确定 对模型进行检验,查看模型结果

在此以某国人口数据为例,介绍自己对刚学的ARIMA模型的理解。

最近事情有点多,先占个坑,忙过了就更新前边的相关内容。在后边的代码中,

先检验稳定性,确定d的取值(即稳定时候的值)再做AC和PAC的图像,确定p和q的值相关的检验看法已经使用【】标出

按照此思路看代码其实应该很容易能看得懂,所以就先发了出来。若仅仅只是为了使用,只需要导入文件和变量名即可使用。

2. STATA代码 /* Purpose :ARIMA模型学习 Author :CZY - CQU Date Created :2020年12月1日20:00:13 */ /* AR(p):p阶自回归(针对变量)【ACF衰减趋于0,PACF在P阶后截尾】 I(d):d阶差分 MA(q):q阶移动平均(针对误差)【ACF在q阶截尾,PACF衰减趋于0】 */ * 清除数据 cls clear all * 路径查询和切换 pwd //查询当前工作路径 cd "C:/Users/10400/Desktop/计量经济学/ARIMA" //切换工作路径【这里需要改成自己的路径(即文件所在位置)】 * Log文件 capture log close //关闭现有的Log文件 log using ARIMA.log, replace //创建新的Log文件 ************************数据导入************************** * 导入文件 import excel "人口数据.xlsx", sheet("Sheet1") firstrow clear tsset YEAR //设置时间变量 * 数据信息:计量经济基础[张晓峒(第三版)]:第十二章时间序列数据 /* > YEAR: 年份 > PEOPLE 年份对应人口数 */ ************************平稳性检验【定d】************************ //1. 【看Test Statistic的绝对值与临界值(Critical Value)的大小,越大越好】 //2. 【看P值,越小说明越平稳】 * DF检验 dfuller PEOPLE //先检验PEOPLE是否平稳,不平稳则检验差分项 dfuller d.PEOPLE //d.PEOPLE:PEOPLE的一阶差分 * GLS扩展的DF检验【通常采用】 dfgls d.PEOPLE, notrend //notrend不含趋势项 // Ng-P、SC、MAIC三种方法投票确定查看的阶数 * PP检验 pperron d.PEOPLE * 三种检验说明做一阶差分后平稳,故确定d = 1 ************************相关性分析【定p,q】************************ corrgram d.PEOPLE //绘制人口数据的自相关相关图和偏自相相关图【Table格式】 * 图形绘制与保存 ac d.PEOPLE, lags(20) level(95) generate(New_ac) //PEOPLE滞后绘制1-8阶的自相关图【Graph格式】 graph save Graph Fig01_AC.gph, replace graph export Fig01_AC.png, as(png) replace pac d.PEOPLE, lags(20) level(95) generate(New_pac) //偏自相关图【Graph格式】 graph save Graph Fig01_PAC.gph, replace graph export Fig01_PAC.png, as(png) replace /* lags(n):n阶滞后项 level(alpha):显著性水平alpha generate(name):将自相关命名为name并保存 */ graph combine ///图片并排 Fig01_AC.gph ///导入AC图片 Fig01_PAC.gph ///导入PAC图片 , rows(2) altshrink ///排列成两行 title("AC and PAC of D.PEOPLE", size(medium)) * 根据图像选择p = 1, q = 0 ************************ARIMA模型************************ arima PEOPLE, arima(1,1,0) //建立ARIMA(1,1,0)模型 * 模型检验和评价 predict PEOPLE_RES, resid //回归残差序列 corrgram PEOPLE_RES //残差序列的AC和PAC图 wntestq PEOPLE_RES, lag(20) //白噪声零假设-Q检验【P大于0.05即可】 ********* * 保存预测值 predict PEOPLE_HAT label variable PEOPLE_HAT "predicted PEOPLE" tsline D.PEOPLE PEOPLE_HAT, lcolor(blue red) lwidth(medium medithic) xtitle("") xlabel(, grid gmax gmin) ytitle("PEOPLE") ylabel(, grid gmax gmin) ylabel(0. lcolor(gs12))


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3