时间序列模型分析的各种stata命令.doc
《时间序列模型分析的各种stata命令.doc》由会员分享,可在线阅读,更多相关《时间序列模型分析的各种stata命令.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、- 时间序列模型时间序列模型 结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比 较低。在一些大规模的联立方程中,情况更是如此。而早期的单变量时间序列 模型有较少的参数却可以得到非常精确的预测,因此随着 Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。从单变量时间序 列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛 应用于经济、气象和过程控制等领域。本章将介绍如下时间序列分析方法, ARIMA 模型、ARCH 族模型、VAR 模型、VEC 模型、单位根检验及协整检验等。 一、基本命令一、基本命令 1.11.1 时间序列数据的
2、处理时间序列数据的处理 1)1)声明时间序列:声明时间序列:tssettsset 命令命令 use gnp96.dta, clear list in 1/20 gen Lgnp = L.gnp tsset date list in 1/20 gen Lgnp = L.gnp 2)2)检查是否有断点:检查是否有断点:tsreport,tsreport, reportreport use gnp96.dta, clear tsset date tsreport, report drop in 10/10 list in 1/12 tsreport, report tsreport, report
3、list /*列出存在断点的样本信息*/ 3)3)填充缺漏值:填充缺漏值:tsfilltsfill tsfill tsreport, report list list in 1/12 4)4)追加样本:追加样本:tsappendtsappend use gnp96.dta, clear tsset date list in -10/-1 sum tsappendtsappend , add(5) /*追加 5 个观察值*/ list in -10/-1 sum - 5)5)应用:样本外预测应用:样本外预测: : predictpredict reg gnp96 L.gnp96 predict
4、gnp_hat list in -10/-1 6)6)清除时间标识清除时间标识: : tsset,tsset, clearclear tsset, clear 1.21.2 变量的生成与处理变量的生成与处理 1)1)滞后项、超前项和差分项滞后项、超前项和差分项 helphelp tsvarlisttsvarlist use gnp96.dta, clear tsset date gen Lgnp = L.gnp96 /*一阶滞后*/ gen L2gnp = L2.gnp96 gen Fgnp = F.gnp96 /*一阶超前*/ gen F2gnp = F2.gnp96 gen Dgnp =
5、D.gnp96 /*一阶差分*/ gen D2gnp = D2.gnp96 list in 1/10 list in -10/-1 2)2)产生增长率变量产生增长率变量: : 对数差分对数差分 gen lngnp = ln(gnp96) gen growth = D.lngnp gen growth2 = (gnp96-L.gnp96)/L.gnp96 gen diff = growth - growth2 /*表明对数差分和变量的增长率差别很小*/ list date gnp96 lngnp growth* diff in 1/10 1.31.3 日期的处理日期的处理 日期的格式 help
6、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 年 %tyCY 1 1)使用)使用 tssettsset 命令指定显示格式命令指定显示格式 use B6_tsset.dta, clear tsset t, daily list use B6_tsset.dta, clear tsset t, weekly list 2)2
7、)指定起始时点指定起始时点 cap drop month generate month = m(1990-1) + _n - 1 format month %tm list t month in 1/20 cap drop year gen year = y(1952) + _n - 1 format year %ty list t year in 1/20 3 3)自己设定不同的显示格式)自己设定不同的显示格式 日期的显示格式 %d (%td) 定义如下: %-td 具体项目释义: “”中可包含如下字母或字符 c y m l n d j h q w _ . , : - / !c C Y M
8、L N D J W 定义如下: c and C 世纪值(个位数不附加/附加 0) y and Y 不含世纪值的年份(个位数不附加/附加 0) m 三个英文字母的月份简写(第一个字母大写) M 英文字母拼写的月份(第一个字母大写) n 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 (空格)
9、 . display a period(句号) , display a comma(逗号) : display a colon(冒号) - display a dash (短线) / display a slash(斜线) display a close single quote(右引号) !c display character c (code ! to display an exclamation point) 样式 1: Format Sample date in format - %td 07jul1948 %tdM_d,_CY July 7, 1948 %tdY/M/D 48/07/
10、11 %tdM-D-CY 07-11-1948 %tqCY.q 1999.2 %tqCY:q 1992:2 %twCY,_w 2010, 48 - 样式 2: Format Sample date in format - %d 11jul1948 %dDlCY 11jul1948 %dDlY 11jul48 %dM_d,_CY July 11, 1948 %dd_M_CY 11 July 1948 %dN/D/Y 07/11/48 %dD/N/Y 11/07/48 %dY/N/D 48/07/11 %dN-D-CY 07-11-1948 - clear set obs 100 gen t =
11、_n + d(13feb1978) - list t in 1/5 format t %dCY-N-D /*1978-02-14*/ list t in 1/5 format t %dcy_n_d /*1978 2 14*/ list t in 1/5 use B6_tsset, clear list tsset t, format(%twCY-m) list 4 4)一个实例:生成连续的时间变量)一个实例:生成连续的时间变量 use e1920.dta, clear list year month in 1/30 sort year month gen time = _n tsset tim
12、e list year month time in 1/30 generate newmonth = m(1920-1) + time - 1 tsset newmonth, monthly list year month time newmonth in 1/30 1.41.4 图解时间序列图解时间序列 1 1)例)例 1 1: clear set seed 13579113 sim_arma ar2, ar(0.7 0.2) nobs(200) sim_arma ma2, ma(0.7 0.2) tsset _t tsline ar2 ma2 * 亦可采用 twoway line 命令绘制
13、,但较为繁琐 twoway line ar2 ma2 _t 2 2)例)例 2 2:增加文字标注:增加文字标注 sysuse tsline2, clear tsset day tsline calories, ttick(28nov2002 25dec2002, tpos(in) / ttext(3470 28nov2002 thanks / 3470 25dec2002 x-mas, orient(vert) 3 3)例)例 3 3:增加两条纵向的标示线:增加两条纵向的标示线 sysuse tsline2, clear - tsset day tsline calories, tline(2
14、8nov2002 25dec2002) * 或采用 twoway line 命令 local d1 = d(28nov2002) local d2 = d(25dec2002) line calories day, xline(d1 d2) 4 4)例)例 4 4:改变标签:改变标签 tsline calories, tlabel(, format(%tdmd) ttitle(Date (2002) tsline calories, tlabel(, format(%td) 二、二、ARIMAARIMA 模型和模型和 SARMIASARMIA 模型模型 ARIMA 模型的基本思想是:将预测对象
15、随时间推移而形成的数据序列视为 一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别 后就可以从时间序列的过去值及现在值来预测未来值。 ARIMA(1,1)模型: tttt yy 11 2.12.1 ARIMAARIMA 模型预测的基本程序模型预测的基本程序: : 1) 根据时间序列的散点图、自相关函数和偏自相关函数图以 ADF 单位根检验 其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲, 经济运行的时间序列都不是平稳序列。 2) 对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的 增长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则
16、 需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数 值无显著地异于零。 3) 根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函 数是截尾的,而自相关函数是拖尾的,可断定序列适合 AR 模型;若平稳序 列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合 MA 模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合 ARMA 模型。 4) 进行参数估计,检验是否具有统计意义。 5) 进行假设检验,诊断残差序列是否为白噪声。 6) 利用已通过检验的模型进行预测分析。 2.22.2 ARIMAARIMA 模型中模型中 ARAR 和和 MAMA 阶数的
17、确定方法:阶数的确定方法: clear sim_arma y_ar, ar(0.9) nobs(300) line y_ar _t, yline(0) acac y_ar /*AR 过程的 ACF 具有“拖尾”特征,长期记忆*/ pacpac 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.32.3 ARIMAARIMA 模型中涉及的检验
18、:模型中涉及的检验: use http:/www.stata- ,clear tsset t gen d_wpi = D.wpi dfullerdfuller wpi /*单位根检验*/ dfuller d_wpi wntestqwntestq wpi /*白噪声检验:Q 检验*/ wntestq d_wpi wntestb wpi,table /*累积统计 Q 检验并以列表显示*/ wntestb d_wpi,table wntestb wpi /*画出累积统计量 Q*/ wntestb d_wpi /*画出累积统计量 Q*/ corrgramcorrgram wpi ,lag(24) /*
19、自相关、偏相关、Q 统计量*/ corrgram d_wpi ,lag(24) 2.42.4 ARIMAARIMA 模型和模型和 SARIMASARIMA 模型的估计模型的估计 ARIMAARIMA 模型:模型: use http:/www.stata- ,clear gen d_wpi = D.wpi arimaarima wpi,arima(1,1,1)wpi,arima(1,1,1) /* 没有漂移项即常数项的命令是 noconstant */ * 或者下面的这种形式也行 arimaarima D.wpi,ar(1)D.wpi,ar(1) ma(1)ma(1) SARIMASARIMA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时间 序列 模型 分析 各种 stata 命令
限制150内