时间序列模型stata-基本命令汇总.docx
时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比拟低。在一 些大规模的联立方程中,情况更是如此。而早期的单变量时间序列模型有较少的参数却可 以得到非常精确的预测,因此随着Box and JenkinS(1984)等奠基性的研究,时间序列方 法得到迅速开展。从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时 间序列分析方法被广泛应用于经济、气象和过程控制等领域。本章将介绍如下时间序列分 析方法,ARlMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。一、根本命令1.1时间序列数据的处理1)声明时间序列:tsset命令use gnp96. dta, clear list in 1/20 gen Lgnp = L. gnp tsset date list in 1/20 gen Lgnp = L. gnp2)检查是否有断点:tsreport, report use gnp96. dta, clear tsset date tsreport, report drop in 10/10 list in 1/12 tsreport, report tsreport, report list *列出存在断点的样本信息*/3)填充缺漏值:tsfill tsfill tsreport, report list list in 1/124)追加样本:tsappend use gnp96. dta, clear tsset date list in -10/-1sum tsappend , add (5)*追加 5 个观察值*/list in -10/-1sum5)应用:样本外预测:predictreg gnp96 L.gnp96predict gnphatlist in -10/-16)去除时间标识:tsset, cleartsset, clear1. 2变量的生成与处理1)滞后项、超前项和差分项help tsvarlist use gnp96. dta, clear tsset dategen Lgnp =L.gnp96gen L2gnp =L2.gnp96gen Fgnp =F.gnp96gen F2gnp =F2.gnp96gen Dgnp =D.gnp96gen D2gnp =D2.gnp96list in 1/10list in -10/-1* 一阶滞后*/* 一阶超前*/* 一阶差分*/2)产生增长率变量:对数差分gen Ingnp = In (gnp96)gen growth = D.Ingnpgen growth2 = (gnp96-L. gnp96)L. gnp96gen diff = growth - growth2*说明对数差分和变量的增长率差异很小*/list date gnp96 Ingnp growth* diff in 1/10L3日期的处理日期的格式help tsfmt根本时点:整数数值,如-3, -2, -1, 0, 1, 2, 3 .1960年1月1日,取值为0;显示格式:定义含义默认格式%td日%tdDlCY%tw周%twCY!ww%tm月%tmCY!mn%tq季度%tqCY!qq%th半年%thCY!hh%ty%tyCY1)使用tsset命令指定显示格式use B6tsset.dta, clear tsset t, daily listuse B6tsset.dta, clear tsset t, weekly list2)指定起始时点cap drop monthgenerate month = m(1990-l) + _n - 1format month %tmlist t month in 1/20cap drop yeargen year = y (1952) + _n - 1format year %tylist t year in 1/203)自己设定不同的显示格式日期的显示格式%d (%td)定义如下:机-td描述特定的显示格式具体工程释义:“描述特定的显示格式”中可包含如下字母或字符 cymlndjhqw_. , : - !c CYMLNDJ W定义如下:C and C世纪值(个位数不附加/附加0)y and Y不含世纪值的年份(个位数不附加/附加0)m三个英文字母的月份简写(第一个字母大写)M英文字母拼写的月份(第一个字母大写) and N数字月份(个位数不附加/附力口 0)d and D一个月中的第几日(个位数不附加/附力口 0)j and J 一年中的第几日(个位数不附加/附加0)h一年中的第几半年(1 or 2)q一年中的第几季度(1, 2, 3, or 4)w and W一年中的第几周(个位数不附加/附加0)_display a blank (空格).display a Period(句号),displayaCOmma(逗号):displayaCOlon(冒号)-displayadash (短线)/displayaSIaSh(斜线)'displayaclose single quote(右弓号)!c display character C (code ! to display an exclamation point)样式1:FormatSample date in format%td%tdM_d, _CY %tdYMD %tdM-D-CY %tqCY. q %tqCY:q %twCY, _w07jull948 July 7, 1948 48/07/11 07-11-1948 1999. 2 1992:2 2010, 48样式2:FormatSample date in format%d %dDlCY %dDlY %dM_d, _CY %dd_M_CY %dNDY %dDNY %dYND %dN-D-CYjull948 jull948 jul48July 11, 1948 11 July 1948 07/11/48 11/07/48 48/07/11 07-11-1948clearset obs IOOgen t = _n + d(13febl978)list t in 1/5format t %dCY-N-D /*1978-02-14*/ list t in 1/5format t %dcy_n_d *1978 2 14*/list t in 1/5use B6_tsset, clearlisttsset t, format(%twCY-m) list4) 一个实例:生成连续的时间变量use el920. dta, clearlist year month in 1/30sort year monthgen time = _ntsset timelist year month time in 1/30generate newmonth = m(1920-l) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/30L4图解时间序列1)例 1:clearset seed 13579113sim_arma ar2, ar (0. 7 0. 2) nobs (200)sim_arma ma2, ma (0. 7 0. 2)tsset _ttsline ar2 ma2*亦可采用twoway line命令绘制,但较为繁琐twoway line ar2 ma2 _t2)例2:增加文字标注sysuse tsline2, cleartsset daytsline calories, ttick(28nov2002 25dec2002, tpos (in) / ttext (3470 28nov2002 "thanks" /3470 25dec2002 x-mas,orient (vert)3)例3:增加两条纵向的标示线sysuse tsline2, cleartsset daytsline calories, tline(28nov2002 25dec2002)*或采用twoway line命令local dl = d(28nov2002)local d2 = d(25dec2002)line calories day, XIine(dl' d2')4)例4:改变标签tsline calories, tlabel (, format (%tdmd) ttitle (zzDate (2002) tsline calories, tlabel (, format (%td)二、ARIMA模型和SARMIA模型ARIMA模型的根本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序 列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的 过去值及现在值来预测未来值。ARlMA(1, 1)模型:yt + pyt_x + t +t2.1 ARIMA模型预测的根本程序:D根据时间序列的散点图、自相关函数和偏自相关函数图以ADF单位根检验其方差、趋 势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列 都不是平稳序列。2)对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增长或下降 趋势,那么需要对数据进行差分处理,如果数据存在异方差,那么需对数据进行技术 处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。3)根据时间序列模型的识别规那么,建立相应的模型。假设平稳序列的偏相关函数是截 尾的,而自相关函数是拖尾的,可断定序列适合AR模型;假设平稳序列的偏相关函数 是拖尾的,而自相关函数是截尾的,那么可断定序列适合MA模型;假设平稳序列的偏 相关函数和自相关函数均是拖尾的,那么序列适合ARMA模型。4)进行参数估计,检验是否具有统计意义。5)进行假设检验,诊断残差序列是否为白噪声。6)利用已通过检验的模型进行预测分析。2. 2 ARIMA模型中AR和MA阶数确实定方法:clearsim arma y_ar, ar(O. 9) nobs (300)line y_ar _t, yline(0)ac y_ar *AR过程的ACF具有“拖尾”特征,长期记忆*/pac y_ar *AR过程的PACF具有“截尾”特征*/sim arma y_ma, ma(0. 8)line y_ma _t, yline(0)ac y_ma *MA过程的ACF具有“截尾”特征,短期记忆*/pac y_ma *MA过程的PACF具有锯齿型“拖尾”特征*/2. 3 ARIMA模型中涉及的检验:.stata-press /data/rll/wpil , clear tsset tgen d wpi = D. wpidfuller wpi *单位根检验*/dfuller dwpiwnte