stata操作介绍之时间序列-(四)

合集下载

stata操作介绍之时间序列-四

stata操作介绍之时间序列-四

ARIMA模型
dfuller 检验: . dfuller fylltemp, lag(3)
说明:P值为0.089,大于0.05,故不能拒绝原假设,说明该 变量满足稳定性检验;
ARIMA模型
dfgls检验: . dfgls fylltemp, maxlag(3) notrend
说明:P值为0.0,小于0.05,故拒绝原假设,说明该变量不 满足稳定性检验;
说明:由上图可知,常数项与一期滞后变量系数都是统计显 著的,卡方检验也显著。
ARIMA模型
生成残差: . predict fylres, res . corrgram fylres ,lags(9)
说明:由图可知,统计量对应的P值为0.6574,不能拒绝原 假设,即认为残差不存在自相关。因此,认为变量fylltemp 使用AR(1)进行分析是合适的。
平滑分析
生成移动平均值(1):
. gen water3=(water[ _n-1]+water[ _n]+water[ _n+1])/3
平滑分析
生成移动平均值(2): . tssmooth ma water5=water,window(2 1 2)
注:tssmooth:表示移动平均值平滑(加权或不加权); window(2 1 2):表示使用该值的前两个值、该值与该值的
说明:由图可知,lag为0时,交叉相关性最强(线条最长), 且为负。
自相关分析
交叉相关表: . xcorr wNAO fylltemp if year >=1970 & year <=1990,lags(7) table
ARIMA模型
时间序列中的自相关集成移动平均模型 (autoregressive integrated moving average简称 ARIMA),是指将非平稳时间序列转化为平稳时间 序列,然后将因变量仅对它的滞后值以及随机误差 项的现值和滞后值进行回归所建立的模型。

stata操作介绍之时间序列-(四)[优质ppt]

stata操作介绍之时间序列-(四)[优质ppt]
. reg fylltemp L(0/2).wNAO if year >=1970 & year <=1990
平滑分析-滞后变量
回归结果:
相关分析
自相关系数是对变量自身与其滞后变量之 间相关关系的估计。偏相关系数是在消除其 他变量影响的条件下,所计算的某两变量之 间的相关系数。交叉相关是分析两个时间序 列之间的关系。
四、平稳时间序列分析
平滑分析
大多数时间序列数据都具有上下起伏的波动,对 于时间序列数据的识别十分困难。平滑分析可以把 数据分为两个部分:一部分逐渐发生变化,便于分 析处理;另一部分则含有突变的成份。
时间平滑:用某时刻及其前后若干时刻的值进行 加权平均,所得值作为该时刻的替代值以滤去小扰 动的方法。
注:阴影部分是95%的置信区间;
自相关分析
偏相关图: . pac fylltemp,lags(9) yline(0) ciopts(bstyle(outline))
注:ciopts(bstyle(outline))表示将偏相关图中阴影部分改为 矩阵区域。
自相关分析
交叉相关图:
. xcorr wNAO fylltemp if year >=1970 & year <=1990,lags(7) xlabel(-9(1)9,grid)
平滑分析-滞后变量
时间平滑: . tssmooth ma fylln= fylltemp,window(2 1 2)
平滑分析-滞后变量
趋势图:
. graph two spike fylltemp year,base(1.67) yline(1.67) || line fylln year ,clpattern(solid)

stata操作介绍之时间序列分析

stata操作介绍之时间序列分析

【例1】使用文件“cpi.dta”的数据来对tsset命令的应用 进行说明。该例子是我国1983年1月年至2007年8月的居 民消费价格指数CPI。部分数据如表2所示: 表2 我国居民消费价格指数CPI Year
1983 1983 1983 1983 1983 1983 1983
month
daily weekly monthly quarterly harfyearly yearly generic format(%fmt) 时间周期 delta(#) delta((exp)) delta(#units) delta((exp)units)
注:(1)units表示时间单位,对于%tc,允许的时间单位包括:second、seconds、secs、secs、 minutes、minute、mine、min、hours、hour、days、weeks、week。对于其他%t的格式,Stata自动 获得其时间单位,delta选项经常与%tc格式一起使用。 STATA从入门到精通 Page 4
【例2】继续使用上例的数据来对tssmooth命令的应用进 行说明。在本例中对该组数据进行修匀,以便消除不规则 变动的影响,得到时间序列长期趋势,本例修匀的方法是 利用之前的1个月和之后的2个月及本月进行平均。
Page 9
STATA从入门到精通
二、
ARIMA模型的估计、单位根与协整
时间序列模型一般分为四类,分别是自回归过程、移动平均过程、自 回归移动平均过程、单整自回归移动平均过程。 自回归过程 如果一个剔出均值和确定性成分的线性过程可表达为 xt = 1xt-1 + 2 xt-2 + … + p xt-p + ut 其中i, i = 1, … p 是自回归参数,ut 是白噪声过程,则称xt为p阶自 回归过程,用AR(p)表示。xt是由它的p个滞后变量的加权和以及ut相 加而成。

stata操作介绍之时间序列分析

stata操作介绍之时间序列分析

时间序列构成分析就是要观察现象在一个相当长的时期内, 由于各个影响因素的影响,使事物发展变化中出现的长期趋 势、季节变动、循环变动和不规则变动。
通过测定和分析过去一段时间之内现象的发展趋势,可以认 识和掌握现象发展变化的规律性,为统计预测提供必要的条 件,同时也可以消除原有时间序列中长期趋势的影响,更好 地研究季节变动和循环变动等问题。测定和分析长期趋势的 主要方法是对时间序列进行修匀。
timevar的格式为%tc, 0=1jan1960 00:00:00.000,1=1jan1960 00:00:00.001 即0代表1960年1月1日的第一秒,1为1960年1月1日的第二秒,依次后推。 timevar的格式为%td,0=1jan1960,1=2jan1960;即0为1960年第一天,1 为1960年第二天,依次后推。 timevar的格式为%tw,0=1960w1,1=1960w2;即0为1960年第一周,1 为1960年第二周,依次后推。 timevar的格式为%tm,0=1,1=;即0为1960年第一月,1为1960年第二 月,依次后推。 timevar的格式为%tq,0=1960q1,1=1960q2;即0为1960年第一季,1为 1960年第二季,依次后推。 timevar的格式为%th,0=1960h1,1=1960h2;即0为从1960起的第一个半 年,1为从1960年起第二个半年,依次后推。 timevar的格式为%ty,1960=1960,1961=1960 timevar的格式为%tg
义时间单位,或者定义时间周期(即timevar两个观测值 之间的周期数)。Options的相关描述如表1所示。
Page 3
STATA从入门到精通
时间单位
格式说明
Clocktime

时间序列Stata操作 题4-7

时间序列Stata操作  题4-7

《应用时间序列分析(第四版)》王燕编著中国人民大学出版社第四章习题71974年1月至1994年12月,某地胡椒价格数据如下:(21行*12列)1102 1151 1093 1118 1168 1118 1085 1135 1138 1135 1235 1301 1283 1250 1210 1135 1085 1060 1102 1151 1127 1226 1217 1215 1250 1210 1268 1402 1486 1534 1567 1585 1717 2002 2086 2059 1250 1210 1268 1402 1486 1534 1567 1585 1717 2002 2086 2059 2425 2326 2176 2121 2000 2000 1850 1640 1700 1925 1850 1830 1850 1790 1700 1700 1750 1775 1925 2000 1975 1940 1889 1881 2000 2024 1900 1750 1649 1601 1625 1609 1649 1640 1640 1620 1590 1526 1451 1424 1424 1329 1199 1179 1285 1349 1265 1299 1373 1440 1451 1376 1325 1261 1199 1219 1250 1274 1365 1424 1420 1385 1321 1235 1215 1310 1319 1319 1279 1481 1956 2165 2125 2087 1895 1840 1874 1863 1836 1894 2105 2159 2131 2029 2270 2411 2652 3294 3360 3686 3593 3482 3615 3963 4328 4309 4336 4382 4326 4009 4000 4070 4200 4278 4435 4772 4812 4908 4857 4865 4711 4640 4877 4902 4884 4833 4903 4963 4804 4679 4810 4571 4250 3850 3775 3357 2946 2342 1994 2420 2464 2763 2993 3108 2729 2525 2457 2136 2272 2175 2100 2068 1955 1950 1969 2025 1726 1579 1768 1766 1621 1692 1634 1750 1620 1515 1508 1525 1502 1374 1212 1198 1107 1052 1069 1050 1098 1150 1126 1200 1193 1058 1043 1026 980 976 1000 1210 1264 1150 1117 1188 1100 1040 1028 1113 1154 1350 1722 1616 1525 1403 1497 1522 1550 1575 1538 1650 1800 1933 2219 2606 2563 2433 1检验序列的平稳性(Stata语句). drop B-T. generate n=_n. rename A price. tsset ntime variable:n, 1 to 252delta: 1 unit . tsline price=>p r i c e由时序图观测得price 变化落差很大,该序列不平稳...。

stata操作介绍之时间序列分析 PPT

stata操作介绍之时间序列分析 PPT
ቤተ መጻሕፍቲ ባይዱ
数据=修匀部分+粗糙部分,运用Stata进行修匀使用tssmooth命令, 其基本命令格式如下所示:
tssmooth smoother[type] newvar = exp [if] [in] [, ...] 其中smoother[type]有一系列目录,如下表3所示:
【例2】继续使用上例的数据来对tssmooth命令的应用进 行说明。在本例中对该组数据进行修匀,以便消除不规则 变动的影响,得到时间序列长期趋势,本例修匀的方法是 利用之前的1个月和之后的2个月及本月进行平均。
可以通过以下三种方式来定义时间序列。例如,想要生成 格式为%td的时间序列,并定义该时间序列为t,则可以用 以下三种方法:
【例1】使用文件“cpi.dta”的数据来对tsset命令的应用 进行说明。该例子是我国1983年1月年至2007年8月的居 民消费价格指数CPI。部分数据如表2所示:
表2 我国居民消费价格指数CPI
义时间单位,或者定义时间周期(即timevar两个观测值 之间的周期数)。Options的相关描述如表1所示。
注:(1)units表示时间单位,对于%tc,允许的时间单位包括:second、seconds、secs、secs、 minutes、minute、mine、min、hours、hour、days、weeks、week。对于其他%t的格式,Stata自动 获得其时间单位,delta选项经常与%tc格式一起使用。
通过测定和分析过去一段时间之内现象的发展趋势,可以认 识和掌握现象发展变化的规律性,为统计预测提供必要的条 件,同时也可以消除原有时间序列中长期趋势的影响,更好 地研究季节变动和循环变动等问题。测定和分析长期趋势的 主要方法是对时间序列进行修匀。

时间序列Stata操作题4-7

时间序列Stata操作题4-7

{Dp} 的自相关图
由图可见,短期( 5 期)内ρ 便衰减直逼零值,衰减速度非常快,明显具有短期自相关性。ρ
在延迟 1 期以
后,除了当 k=30 时跳出过阴影范围, 其余全都落在 2 倍标准误的范围内, 围绕着零值做很小幅 (约± 0.1 )的波动。 因此, {Dp} 是平稳的时间序列。
平稳性检验通过,看白噪声检验。自相关图明显显示:ρ
文案大全
≠0,ρ ≠ 0。因此, {Dp} 非白噪声序列,有信息待
提取。预处理完毕,开始识别模型:
0.40
实用标准文档
p ofD
0.20
0
10
20
30
40
Lag
Bartlett's formula for MA(q) 95% confidence bands
{price} 的自相关图
短期(延迟阶数为 5 期及 5 期以内)来看,自相关系数拖尾;长期来看,自相关系数缓慢地由正转负,一直是 下降趋势。序列值 2086 1850 1889 1640 1265 1365 1956 2131 4328 4812 4804 2464 1955 1620 1098 1264 1525 2563
1301 1215 2059 2059 1830 1881 1620 1299 1424 2165 2029 4309 4908 4679 2763 1950 1515 1150 1150 1403 2433
4810 4571 4250 3850 3775 3357 2946 2342 1994
2993 3108 2729 2525 2457 2136 2272 2175 2100
1969 2025 1726 1579 1768 1766 1621 1692 1634

与时间序列相关的STATA-命令及其统计量的解析

与时间序列相关的STATA-命令及其统计量的解析

与时间序列相关的STATA 命令及其统计量的解析残差U 序列相关:①DW 统计量——针对一阶自相关的(高阶无效)STATA 命令:1.先回归2.直接输入dwstat统计量如何看:查表②Q 统计量——针对高阶自相关correlogram-Q-statisticsSTATA 命令:1.先回归reg2.取出残差predict u,residual(不要忘记逗号)3. wntestq u Q统计量如何看:p 值越小(越接近0)Q 值越大——表示存在自相关具体自相关的阶数可以看自相关系数图和偏相关系数图:STATA 命令:自相关系数图:ac u( 残差) 或者窗口操作在 Graphics ——Time-series graphs —— correlogram(ac) 偏相关系数图:pac u 或者窗口操作在Graphics——Time-series graphs—— (pac)自相关与偏相关系数以及Q 统计量同时表示出来的方法:corrgram u或者是窗口操作在Statistics——Time-series——Graphs——Autocorrelations&Partial autocorrelations③LM 统计量——针对高阶自相关STATA 命令:1.先回归reg2.直接输入命令estate bgodfrey,lags(n) 或者窗口操作在 Statistics——Postestimation(倒数第二个)——Reports and Statistics(倒数第二个) ——在里面选择 Breush-Godfrey LM(当然你在里面还可以找到方差膨胀因子还有DW 统计量等常规统计量)LM 统计量如何看:P 值越小(越接近 0)表示越显著(显著拒绝原假设),存在序列相关具体是几阶序列相关,你可以把滞后期写为几,当然默认是 1,(通常的方法是先看图,上面说的自相关和偏相关图以及Q 值,然后再利用LM 肯定)。

时间序列模型stata 基本命令汇总

时间序列模型stata 基本命令汇总

时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。

在一些大规模的联立方程中,情况更是如此。

而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。

从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。

本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。

一、基本命令1.1时间序列数据的处理1)声明时间序列:tsset 命令use gnp96.dta, clearlist in 1/20gen Lgnp = L.gnptsset datelist in 1/20gen Lgnp = L.gnp2)检查是否有断点:tsreport, reportuse gnp96.dta, cleartsset datetsreport, reportdrop in 10/10list in 1/12tsreport, reporttsreport, report list /*列出存在断点的样本信息*/3)填充缺漏值:tsfilltsfilltsreport, report listlist in 1/124)追加样本:tsappenduse gnp96.dta, cleartsset datelist in -10/-1sumtsappend , add(5) /*追加5个观察值*/list in -10/-1sum5)应用:样本外预测: predictreg gnp96 L.gnp96predict gnp_hatlist in -10/-16)清除时间标识: tsset, cleartsset, clear1.2变量的生成与处理1)滞后项、超前项和差分项 help tsvarlistuse gnp96.dta, cleartsset dategen Lgnp = L.gnp96 /*一阶滞后*/gen L2gnp = L2.gnp96gen Fgnp = F.gnp96 /*一阶超前*/gen F2gnp = F2.gnp96gen Dgnp = D.gnp96 /*一阶差分*/gen D2gnp = D2.gnp96list in 1/10list in -10/-12)产生增长率变量: 对数差分gen lngnp = ln(gnp96)gen growth = D.lngnpgen growth2 = (gnp96-L.gnp96)/L.gnp96gen diff = growth - growth2 /*表明对数差分和变量的增长率差别很小*/ list date gnp96 lngnp growth* diff in 1/101.3日期的处理日期的格式 help tsfmt基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 ....1960年1月1日,取值为 0;1)使用 tsset 命令指定显示格式use B6_tsset.dta, cleartsset t, dailylistuse B6_tsset.dta, cleartsset t, weeklylist2)指定起始时点cap drop monthgenerate month = m(1990-1) + _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) 定义如下:%[-][t]d<描述特定的显示格式>具体项目释义:“<描述特定的显示格式>”中可包含如下字母或字符c y m l nd j h q w _ . , : - / ' !cC Y M L ND 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 (空格). 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/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----------------------------------clearset obs 100gen t = _n + d(13feb1978)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 e1920.dta, clearlist year month in 1/30sort year monthgen time = _ntsset timelist year month time in 1/30generate newmonth = m(1920-1) + time - 1tsset newmonth, monthlylist year month time newmonth in 1/301.4图解时间序列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 d1 = d(28nov2002) local d2 = d(25dec2002)line calories day, xline(`d1' `d2')4)例4:改变标签tsline calories, tlabel(, format(%tdmd)) ttitle("Date (2002)") tsline calories, tlabel(, format(%td))二、ARIMA 模型和SARMIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。

stata操作介绍之时间序列分析

stata操作介绍之时间序列分析
时间单位,或者定义时间周期(即timevar两个观测值之间 的周期数)。Options的相关描述如表1所示。
时间单位
格式说明
Clocktime
daily weekly monthly quarterly harfyearly yearly generic format(%fmt) 时间周期
timevar的格式为%tc, 0=1jan1960 00:00:00.000,1=1jan1960 00:00:00.001 即0代表1960年1月1日的第一秒,1为1960年1月1日的第二秒,依次后推。 timevar的格式为%td,0=1jan1960,1=2jan1960;即0为1960年第一天,1 为1960年第二天,依次后推。 timevar的格式为%tw,0=1960w1,1=1960w2;即0为1960年第一周,1 为1960年第二周,依次后推。 timevar的格式为%tm,0=1,1=;即0为1960年第一月,1为1960年第二 月,依次后推。 timevar的格式为%tq,0=1960q1,1=1960q2;即0为1960年第一季,1为 1960年第二季,依次后推。 timevar的格式为%th,0=1960h1,1=1960h2;即0为从1960起的第一个半 年,1为从1960年起第二个半年,依次后推。 timevar的格式为%ty,1960=1960,1961=1960 timevar的格式为%tg
数据=修匀部分+粗糙部分,运用Stata进行修匀使用 tssmooth命令,其基本命令格式如下所示:
tssmooth smoother[type] newvar = exp [if] [in] [, ...]
其中平s滑mo的o种t类her[type]有一系sm列oo目ther录[ty,pe]如下表3所示:

STATA做时间序列

STATA做时间序列

To extract days of the week (Monday, Tuesday, etc.) use the function dow() gen dayofweek= dow(date) Replace “date” with the date variable in your dataset. This will create the variable ‘dayofweek’ where 0 is ‘Sunday’, 1 is ‘Monday’, etc. (type help dow for more details) To specify a range of dates (or integers in general) you can use the tin() and twithin() functions. tin() includes the first and last date, twithin() does not. Use the format of the date variable in your dataset. /* Make sure to set your data as time series before using tin/twithin */ tsset date regress y x1 x2 if tin(01jan1995,01jun1995) regress y x1 x2 if twithin(01jan2000,01jan2001) 3
. list datevar unemp if tin(2000q1,2000q4) datevar 173. 174. 175. 176. 2000q1 2000q2 2000q3 2000q4 unemp 4.033333 3.933333 4 3.9

stata时间序列分解法预测

stata时间序列分解法预测

stata时间序列分解法预测
Stata是一种广泛使用的统计和数据分析软件,它提供了多种时间序列分析工具,包括时间序列分解法。

时间序列分解法是一种将时间序列数据分解为趋势、季节性和随机波动成分的方法,通过这种方法可以更好地理解数据的长期趋势和短期波动,并提高预测的准确性。

在Stata中进行时间序列分解的步骤如下:
1.导入数据:首先需要将时间序列数据导入到Stata中。

可以使用use
命令或import命令来导入数据。

2.平稳化处理:在进行时间序列分解之前,需要对数据进行平稳化处
理,以消除趋势和季节性成分。

可以使用tsset命令来设置时间变
量,并使用diff命令或coseal命令来进行差分或对数转换等处
理。

3.分解模型:使用tsls命令或tsomp命令来估计分解模型。

这些命
令将使用最小二乘法或加权最小二乘法来估计趋势、季节性和随机波动成分。

4.预测:在估计出分解模型后,可以使用predict命令来生成预测
值。

可以选择不同的预测期限,并指定要预测的成分(如趋势、季节性或随机波动)。

通过以上步骤,可以使用Stata的时间序列分解法对时间序列数据进行预测,并提高预测的准确性。

stata时间序列单变量插补

stata时间序列单变量插补

Stata时间序列单变量插补
在Stata中进行时间序列数据的单变量插补,可以使用以下步骤:
1.导入时间序列数据:首先,你需要将时间序列数据导入到Stata中。


以使用import delimited命令来导入以逗号分隔的数据文件。

2.检查缺失值:使用list命令来查看数据中是否存在缺失值。

3.识别缺失值的模式:了解缺失值的模式对于选择适当的插补方法非常
重要。

你可以使用missing命令来查看缺失值的分布情况。

4.选择合适的插补方法:根据缺失值的类型和分布,选择适合的插补方
法。

常用的单变量插补方法包括均值插补、中位数插补、众数插补、
线性插补等。

5.执行插补操作:使用Stata提供的命令或程序来执行插补操作。

例如,
fill命令可以用于替换缺失值。

6.验证插补结果:执行插补操作后,可以使用一些统计量或可视化工具
来验证插补结果是否合理。

例如,使用graph twoway (scatter varname)
命令来绘制变量与时间的关系图,查看插补后的数据是否平滑且符合
趋势。

7.导出结果:最后,你可以将插补后的数据导出到其他软件中进行进一
步的分析或可视化。

需要注意的是,单变量插补只能处理单个变量的缺失值,如果多个变量同时存在缺失值,可能需要使用更复杂的方法来进行处理。

此外,在进行插补操作时,应保持数据的原始结构和特点,避免引入额外的偏差或错误。

stata考试协整时间序列

stata考试协整时间序列

Part1 基础操作1.drop命令drop if v==”blabla”删除样本drop _all清空drop var 删除变量2.rename命令rename oldname newname 修改变量名称3.destring 命令destring v1 ,replace 将v1变量转换成数字格式4.gen命令gen x=ln(y)gen x=exp(y)gen x=y^2 生产新变量5.sum命令sum 所有变量查看变量数字特征sum v1sum v1 v2 v3sum v1 ,detail 查看数字特征,包括分布和中位数区分中位数与均值的区别,在缺失数据情况下,均值和中位数可能存在偏差。

6.tab命令tab v1 查看数据的分布7.cor(corr)命令cor v1 v2查看变量v1与v2的相关系数cor v1 v2 v3 v4 多个变量8.histogram 直方图histogram v19.scatter 命令scatter v1 v2 (v1纵轴v2横轴)10.reg 命令reg y x1 x2 x3 回归y和xipredict z 预测回归结果,z是预测值predict w,res 输出残差项,w表示残差PART2 课堂专题(一)均匀分布、伯努利分布,标准正态分布的生产与转换set obs 10 设置样本个数gen x=(uniform()) 生产x为均匀分布gen z=0replace z=1 if x <=.5 其中z是伯努利分布(二项分布)程序省去查看变量x 变量z的数字特征drop _allset obs 1000000gen z=invnorm(uniform()) uniform()生成均匀分布invnorm()生成标准正态分布sum z 数字特征均值约为0,标准差约为1histogram zgen z1=z+2gen z2=2*zsum z z1 z2 z1均值2,方差相同,z2均值0,标准差2gen z3=10*z+20sum z z1 z2 z3 其中z3均值20 标准差10(二)虚拟变量生成命令tab b,gen(b_)回归reg a b_* 此时所有虚拟变量做回归(*代表通配符),产生共线性系统自动ommit掉一个,或者回归时自动去掉一个reg a b_1 避免共线性问题。

时间序列模型分析的各种stata命令

时间序列模型分析的各种stata命令

时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。

在一些大规模的联立方程中,情况更是如此。

而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着BoxandJenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。

从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。

本章将介绍如下时间序列分析方法,ARIMA模型、ARCH族模型、VAR模型、VEC模型、单位根检验及协整检验等。

一、基本命令1.1时间序列数据的处理1)声明时间序列:tsset命令usegnp96.dta,clearlistin1/20genLgnp=L.gnptssetdatelistin1/20genLgnp=L.gnp2)检查是否有断点:tsreport,reportusegnp96.dta,cleartssetdatetsreport,reportdropin10/10listin1/12tsreport,reporttsreport,reportlist/*列出存在断点的样本信息*/3)填充缺漏值:tsfilltsfilltsreport,reportlistlistin1/124)追加样本:tsappendusegnp96.dta,cleartssetdatelistin-10/-1sumtsappend,add(5)/*追加5个观察值*/listin-10/-1sum5)应用:样本外预测:predictreggnp96 L.gnp96predictgnp_hatlistin-10/-16)清除时间标识:tsset,cleartsset,clear1.2变量的生成与处理1)滞后项、超前项和差分项helptsvarlistusegnp96.dta,cleartssetdategenLgnp=L.gnp96/*一阶滞后*/genL2gnp=L2.gnp96genFgnp=F.gnp96/*一阶超前*/genF2gnp=F2.gnp96genDgnp=D.gnp96/*一阶差分*/genD2gnp=D2.gnp96listin1/10listin-10/-12)产生增长率变量:对数差分genlngnp=ln(gnp96)gengrowth=D.lngnpgengrowth2=(gnp96-L.gnp96)/L.gnp96gendiff=growth-growth2/*表明对数差分和变量的增长率差别很小*/ listdategnp96lngnpgrowth*diffin1/101.3日期的处理日期的格式helptsfmt基本时点:整数数值,如-3,-2,-1,0,1,2,3....1960年1月1日,取值为0;1)使用useB6_tsset.dta,cleartssett,dailylistuseB6_tsset.dta,cleartssett,weeklylist2)指定起始时点capdropmonthgeneratemonth=m(1990-1)+_n-1formatmonth%tmlisttmonthin1/20capdropyeargenyear=y(1952)+_n-1formatyear%tylisttyearin1/203)自己设定不同的显示格式日期的显示格式%d(%td)定义如下:%[-][t]d<描述特定的显示格式>具体项目释义:“<描述特定的显示格式>”中可包含如下字母或字符cymlndjhqw_.,:-/'!cCYMLNDJW定义如下:candC世纪值(个位数不附加/附加0)yandY不含世纪值的年份(个位数不附加/附加0)m三个英文字母的月份简写(第一个字母大写)M英文字母拼写的月份(第一个字母大写)nandN数字月份(个位数不附加/附加0)dandD一个月中的第几日(个位数不附加/附加0)jandJ一年中的第几日(个位数不附加/附加0)h一年中的第几半年(1or2)q一年中的第几季度(1,2,3,or4)wandW一年中的第几周(个位数不附加/附加0)_displayablank(空格).displayaperiod(句号),displayacomma(逗号):displayacolon(冒号)-displayadash(短线)/displayaslash(斜线)'displayaclosesinglequote(右引号)!cdisplaycharacterc(code!!todisplayanexclamationpoint) 样式1:FormatSampledateinformat-----------------------------------%td07jul1948%tdM_d,_CYJuly7,1948%tdY/M/D48/07/11%tdM-D-CY07-11-1948%tqCY.q1999.2%tqCY:q1992:2%twCY,_w2010,48-----------------------------------样式2:FormatSampledateinformat----------------------------------%d11jul1948%dDlCY11jul1948%dDlY11jul48%dM_d,_CYJuly11,1948%dd_M_CY11July1948%dN/D/Y07/11/48%dD/N/Y11/07/48%dY/N/D48/07/11%dN-D-CY07-11-1948---------------------------------- clearsetobs100gent=_n+d(13feb1978)listtin1/5formatt%dCY-N-D/*1978-02-14*/listtin1/5formatt%dcy_n_d/*1978214*/listtin1/5useB6_tsset,clearlisttssett,format(%twCY-m)list4)一个实例:生成连续的时间变量usee1920.dta,clearlistyearmonthin1/30sortyearmonthgentime=_ntssettimelistyearmonthtimein1/30 generatenewmonth=m(1920-1)+time-1 tssetnewmonth,monthly listyearmonthtimenewmonthin1/301.4图解时间序列1)例1:clearsetseedsim_armaar2,ar(0.70.2)nobs(200)sim_armama2,ma(0.70.2)tsset_ttslinear2ma2*亦可采用twowayline命令绘制,但较为繁琐twowaylinear2ma2_t2)例2:增加文字标注sysusetsline2,cleartssetdaytslinecalories,ttick(28nov200225dec2002,tpos(in))///ttext(347028nov2002"thanks"///347025dec2002"x-mas",orient(vert))3)例3:增加两条纵向的标示线sysusetsline2,cleartssetdaytslinecalories,tline(28nov200225dec2002)*或采用twowayline 命令locald1=d(28nov2002)locald2=d(25dec2002)linecaloriesday,xline(`d1'`d2')4)例4:改变标签tslinecalories,tlabel(,format(%tdmd))ttitle("Date(2002)")tslinecalories,tlabel(,format(%td))二、ARIMA 模型和SARMIA 模型ARIMA 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。

时间序列Stata

时间序列Stata
4
gen t = _n + d(13feb1978) list t in 1/5 format t %dCY-N-D list t in 1/5 format t %dcy_n_d list t in 1/5 /*1978-02-14*/
/*1978 2 14*/
use B6_tsset, clear list tsset t, format(%twCY-m) list 4)一个实例:生成连续的时间变量 use e1920.dta, clear list year month in 1/30 sort year month gen time = _n tsset time 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.4 图解时间序列 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 命令绘制,但较为繁琐 twoway line ar2 ma2 _t 2)例 2:增加文字标注 sysuse tsline2, clear tsset day tsline calories, ttick(28nov2002 25dec2002, tpos(in)) /// ttext(3470 28nov2002 "thanks" /// 3470 25dec2002 "x-mas", orient(vert))

stata操作介绍之时间序列-

stata操作介绍之时间序列-

虽然pperron 检验和dfgls检验拒绝了变量 fylltemp具有稳定性的假设,但是dfuller 检验 不能拒绝原假设,还是可以认为该变量具有 稳定性。
ARIMA模型
自相关表: . corrgram fylltemp,lags(4)
说明:该变量的自相关关系随着滞后期的增加而减少,偏自 相关关系在一期自后滞后消失,故适合模型AR(1)来分析该 变量。
注:本部分继续使用ch52.dta数据。
自相关分析
自相关表: . corrgram fylltemp,lags(9)
说明:大多数P值都小于0.05,故认为fylltemp具有显著的自相 关性;相关关系或偏相关关系越强,相应的线条越长;
自相关分析
自相关图: . ac fylltemp,lags(9)
平滑分析
生成移动平均值(1):
. gen water3=(water[ _n-1]+water[ _n]+water[ _n+1])/3
平滑分析
生成移动平均值(2): . tssmooth ma water5=water,window(2 1 2)
注:tssmooth:表示移动平均值平滑(加权或不加权); window(2 1 2):表示使用该值的前两个值、该值与该值的
平滑分析-滞后变量
生成n阶滞后变量的两种方法: . gen wNAO_n=wNAO[ _n-1] . gen wNAO_n=Ln.wNAO 注:第二种方法中的''Ln''表示Lag(n);
平滑分析-滞后变量
生成一阶滞后变量: . gen wNAO_1=wNAO[ _n-1]
生成二阶滞后变量: . gen wNAO_2=L2.wNAO
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

平滑分析
趋势图:
. graph two line water5 date, clwidth(thick) || line water date , clwidth(thin) clpattern(solid)
平滑分析
波动幅度:
. gen ch=water- water5 . list in 1/5
说明:由上图可知,常数项与一期滞后变量系数都是统计显 著的,卡方检验也显著。
故上图可得到模型为:
fylltemp fylltemp t 1.689 0.410 t -1 1
ˆ 0.627
在得出结论之前,还需对残差进行检验,检验残 差是否存在自相关性。 在进行检验之前需要生成残差。
平滑分析-滞后变量
平滑分析-滞后变量
三种滞后回归方法:
. reg fylltemp wNAO wNAO_1 wNAO_2 if year >=1970 & year <=1990 . reg fylltemp wNAO L.wNAO L2.wNAO if year >=1970 & year <=1990 . reg fylltemp L(0/2).wNAO if year >=1970 & year <=1990
ARIMA模型
自相关表: . corrgram fylltemp,lags(4)
说明:该变量的自相关关系随着滞后期的增加而减少,偏自 相关关系在一期自后滞后消失,故适合模型AR(1)来分析该 变量。
ARIMA模型
AR(1): . arima fylltemp,arima(1,0,0) nolog
平滑分析
生成移动平均值(1):
. gen water3=(water[ _n-1]+water[ _n]+water[ _n+1])/3
平滑分析
生成移动平均值(2): . tssmooth ma water5=water,window(2 1 2)
注:tssmooth:表示移动平均值平滑(加权或不加权); window(2 1 2):表示使用该值的前两个值、该值与该值的 后两个值进行平均计算;
ARIMA模型
生成残差: . predict fylres, res . corrgram fylres ,lags(9)
说明:由图可知,统计量对应的P值为0.6574,不能拒绝原 假设,即认为残差不存在自相关。因此,认为变量fylltemp 使用AR(1)进行分析是合适的。
四、平稳时间序列分析

• 平滑分析 • 自相关分析 • ARIMA模型
平滑分析
大多数时间序列数据都具有上下起伏的波动,对 于时间序列数据的识别十分困难。平滑分析可以把 数据分为两个部分:一部分逐渐发生变化,便于分 析处理;另一部分则含有突变的成份。
时间平滑:用某时刻及其前后若干时刻的值进行 加权平均,所得值作为该时刻的替代值以滤去小扰 动的方法。
平滑分析
该部分以1983年1月到7月Milford城镇的 自来水消费量为例。 文件:ch51.dta
导入数据: . use "C:\Users\Administrator\Desktop\时间 序列\数据\ch51.dta", clear
平滑分析
描述性统计: . describe
平滑分析
生成日期变量(一):
平滑分析-滞后变量
回归结果:
相关分析
自相关系数是对变量自身与其滞后变量之 间相关关系的估计。偏相关系数是在消除其 他变量影响的条件下,所计算的某两变量之 间的相关系数。交叉相关是分析两个时间序 列之间的关系。
注:本部分继续使用ch52.dta数据。
自相关分析
自相关表: . corrgram fylltemp,lags(9)
ARIMA模型
三种单位根检验方法: pperron 检验: . pperron fylltemp, lag(3)
说明:P值为0.0003,小于0.05,故拒绝原假设,说明该变 量不满足稳定性检验;
ARIMA模型
dfuller 检验: . dfuller fylltemp, lag(3)
说明:P值为0.089,大于0.05,故不能拒绝原假设,说明该 变量满足稳定性检验;
自相关分析
交叉相关表: . xcorr wNAO fylltemp if year >=1970 & year <=1990,lags(7) table
ARIMA模型
时间序列中的自相关集成移动平均模型 (autoregressive integrated moving average简称 ARIMA),是指将非平稳时间序列转化为平稳时间 序列,然后将因变量仅对它的滞后值以及随机误差 项的现值和滞后值进行回归所建立的模型。 ARIMA模型根据原序列是否平稳以及回归中所含 部分的不同,包括移动平均过程(MA)、自回归过 程(AR)、自回归移动平均过程(ARMA)以及 ARIMA过程。
. gen date=mdy( month ,day, year) . list in 1/5
平滑分析
设置时间(二): . tsset date, format(%d) . list in 1/5
平滑分析
趋势图:
. graph two line water date, ylabel(300(100)900)
说明:大多数P值都小于0.05,故认为fylltemp具有显著的自相 关性;相关关系或偏相关关系越强,相应的线条越长;
自相关分析
自相关图: . ac fylltemp,lags(9)
注:阴影部分是95%的置信区间;
自相关分析
偏相关图: . pac fylltemp,lags(9) yline(0) ciopts(bstyle(outline))
平滑分析
波动幅度: . graph two line ch date
平滑分析-滞后变量
导入数据: . use "C:\Users\Administrator\Desktop\时间序列\数 据\ch52.dta", clear
描述性统计: . describe 时间设置: . tsset year,yearly
平滑分析-滞后变量
时间平滑: . tssmooth ma fylln= fylltemp,window(2 1 2)
平滑分析-滞后变量
趋势图:
. graph two spike fylltemp year,base(1.67) yline(1.67) || line fylln year ,clpattern(solid)
ARIMA模型
dfgls检验: . dfgls fylltemp, maxlag(3) notrend
说明:P值为0.0,小于0.05,故拒绝原假设,说明该变量不 满足稳定性检验;
虽然pperron 检验和dfgls检验拒绝了变量 fylltemp具有稳定性的假设,但是dfuller 检验 不能拒绝原假设,还是可以认为该变量具有 稳定性。
平滑分析-滞后变量
生成n阶滞后变量的两种方法:
. gen wNAO_n=wNAO[ _n-1] . gen wNAO_n=Ln.wNAO 注:第二种方法中的''Ln''表示Lag(n);
平滑分析-滞后变量
生成一阶滞后变量: . gen wNAO_1=wNAO[ _n-1] 生成二阶滞后变量: . gen wNAO_2=L2.wNAO
ARIMA模型
ARIMA模型操作步骤:
1、对变量进行检验,若变量具有稳定性,进行第二步,否 则,不能使用ARIMA模型; 2、做出变量的自相关图; 3、根据变量的自相关图,选择合适的模型; 4、根据选定的模型进行分析,并检验系数是否显著。若有 的系数不显著,所选择的模型可能存在问题;若所有系数都 显著,进行第五步; 5、检验残差是否具有自相关性。若残差具有自相关性,则 所选择的模型存在问题;若残差不具有自相关性,则所选择 的模型是合适的。
注:ciopts(bstyle(outline))表示将偏相关图中阴影部分改为 矩阵区域。
自相关分析
交叉相关图:
. xcorr wNAO fylltemp if year >=1970 & year <=1990,lags(7) xlabel(-9(1)9,grid)
说明:由图可知,lag为0时,交叉相关性最强(线条最长), 且为负。
相关文档
最新文档