时间序列模型stata 基本命令汇总
stata中var模型命令
stata中var模型命令使用Stata中的var模型命令进行经济数据分析引言:var模型(Vector Autoregression Model)是一种用于分析时间序列数据的统计模型,广泛应用于经济学和其他社会科学领域。
Stata作为一种流行的统计软件,提供了强大的var模型命令,可以帮助研究人员进行数据分析和预测。
本文将介绍如何在Stata中使用var模型命令进行经济数据分析,从而得出相关结论。
一、数据准备在进行var模型分析之前,首先需要准备好相关的经济数据。
在Stata中,可以使用"import"命令将外部数据导入到软件中。
导入数据后,可以使用"describe"命令查看数据的基本信息,包括变量的名称、类型和取值范围等。
对于时间序列数据,可以使用"tsset"命令将数据设置为时间序列格式,以便后续的分析。
二、模型估计在Stata中,可以使用"var"命令来估计var模型。
var命令的基本语法为:var depvar indepvars,其中depvar是被解释变量,indepvars是解释变量的列表。
在var模型中,解释变量可以包括自身滞后的值和其他变量的滞后值。
可以使用"lags()"选项来指定滞后阶数。
另外,还可以使用"dfadj"选项来进行截断或差分操作。
在进行模型估计之前,可以使用"varbasic"命令对数据进行基本的检验和预处理。
该命令可以检验数据是否平稳、是否存在共线性等。
根据检验结果,可以选择合适的模型和参数设置。
三、模型诊断模型诊断是判断估计模型质量的重要步骤。
在Stata中,可以使用"var"命令估计的结果来进行模型诊断。
可以使用"varbasic"命令的"irf"选项来进行脉冲响应函数分析,以评估各变量对脉冲冲击的响应情况。
与时间序列相关的STATA命令及其统计量的解析完整版
与时间序列相关的S T A T A命令及其统计量的解析Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】与时间序列相关的S T A T A命令及其统计量的解析残差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 andStatistics(倒数第二个) ——在里面选择 Breush-Godfrey LM(当然你在里面还可以找到方差膨胀因子还有DW 统计量等常规统计量)LM 统计量如何看:P 值越小(越接近 0)表示越显着(显着拒绝原假设),存在序列相关具体是几阶序列相关,你可以把滞后期写为几,当然默认是 1,(通常的方法是先看图,上面说的自相关和偏相关图以及Q 值,然后再利用LM 肯定)。
时间序列模型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命令总结
表2-1: 回归分析相关命令一览命令用途anova 方差和协方差分析heckman Heckman 筛选模型intreg 离散型变量模型,包括Tobit 、cnreg 和intregivreg 工具变量法(IV 或2SLS)newey Newey-West 标准差设定下的回归prais 针对序列相关的Prais-Winsten, Cochrane-Orcutt, or Hildreth-Lu 回归qreg 分量回归reg OLS 回归sw 逐步回归法reg3 三阶段最小二乘回归rreg 稳健回归(不同于方差稳健型回归,即White 方法)sureg 似无相关估计svyheckman 调查数据的Heckman 筛选模型svyintreg 调查数据的间断变量回归svyregress 调查数据的线性回归tobit Tobit 回归treatreg treatment 效应模型truncreg 截断回归表2-2: 时间序列命令一览命令用途clemao1 允许结构突变的单位根检验zandrewsdfullerdfglspperroncoin 单方程协整检验dwstat 参考dwstat2 , durbina2durbinh表2-3: Panel Data 模型相关命令一览I命令模型统计描述相关命令:xtdes 变量类型,数据类型描述xtsum 基本统计量xttab 按表格形式列示xtpattern 面板数据的模式估计相关命令:xtreg 面板数据模型(固定效应、随机效应)xtregar 含有AR(1) 干扰项的固定效应和随机效应面板数据模型xtgls 截面-时序混合模型,可处理异方差、组内序列相关和组间相关性xtpcse OLS or Prais-Winsten models with panel-corrected standard errorsxtrchh Hildreth-Houck random coefficients modelsxtivreg 面板模型的工具变量或两阶段最小二乘法估计xtabond Arellano-Bond(1991) 线性动态面板数据模型估计xtabond2 Arellano-Bover(1995) 系统GMM 动态面板数据模型估计xttobit Tobit 随机效应面板模型xtintreg Random-effects interval data regression modelsxtlogit Fe, Re, Pa logit modelsxtprobit Re, Pa probit modelsxtcloglog Re, Pa cloglog modelsxtpoisson Fe, Re, Pa Poisson modelsxtnbreg Fe, Re, Pa negative binomial modelsxtfrontier 面板随机前沿模型xthtylor Hausman-Taylor estimator for error-components models表2-4: Panel Data 模型相关命令一览II命令模型假设检验相关:test Wald 检验,如时间效应联合显著性检验xttest0 随机效应检验xttest1 面板序列相关检验xttest2 adsxtserial Wooldridge 一阶序列相关检验xtab Arellano 面板一阶序列相关检验hausman Hausman 检验面板单位根和协整相关:xtunit stata提供的检验方法ipshin IPS(2003)面板单位根检验levilin Levin,Lin和Chu(LLC, 2002)面板单位根检验madfuller Sarno-Taylor(1998) 面板单位根检验xtfisher Maddala和Wu(1999),基于P 值的面板单位根检验表2-5: Post-estimation Commands命令名称用途adjust 列示预测结果的均质,适于多种回归分析,可分组列示estimates 估计结果的存储、再显示、列表比较等hausman Hausman 模型识别检验lincom 获得参数的线性组合,在Logit 模型中可以获得系数线性组合的OR 值linktest 但方程link 识别检验,用y 对O y 和O y2 回归lrtest 似然比(LR)检验mfx 计算边际效应和弹性系数nlcom 系数的非线性组合predict 获得拟合值、残差等predictnl 获得非线性估计的拟合值、残差等test 线性约束的假设检验,Wald 检验testnl 非线性约束的假设检验vce 列示参数估计值的方差-协方差矩阵表2-6: 二维图种类一览图形种类简单描述scatter scatterplotline line plotconnected connected-line plotscatteri scatter with immediate argumentsarea line plot with shadingbar bar plotspike spike plotdropline dropline plotdot dot plotrarea range plot with area shadingrbar range plot with barsrspike range plot with spikesrcap range plot with capped spikesrcapsym range plot with spikes capped with symbols rscatter range plot with markersrline range plot with linesrconnected range plot with lines and markerstsline time-series plottsrline time-series range plotmband median-band line plotmspline spline line plotlowess LOWESS line plotlfit linear prediction plotqfit quadratic prediction plotfpfit fractional polynomial plotlfitci linear prediction plot with CIsqfitci quadratic prediction plot with CIsfpfitci fractional polynomial plot with CIsfunction line plot of functionhistogram histogram plotkdensity kernel density plot表2-7: 二维图选项一览选项类别简单描述added line options draw lines at specified y or x values added text option display text at specified (y,x) value axis options labels, ticks, grids, log scalestitle options titles, subtitles, notes, captionslegend option legend explaining what means what scale(#) resize text, markers, and line widthsregion options outlining, shading, aspect ratio, sizeaspect option constrain aspect ratio of plot regionscheme(schemename) overall lookby(varlist, ...) repeat for subgroupsnodraw suppress display of graphname(name, ...) specify name for graphsaving(filename, ...) save graph in fileadvanced options difficult to explain表2-9: 模拟分析相关命令一览命令用途备注抽样相关:corr2data 产生具有指定相关性的数据仅适用于模拟相关分析drawnorminvnorm(uniform()) 产生服从标准正态分布的随机数函数,可调节均值和方差matuniform(r,c) 产生均匀分布函数sample 从现有数据中进行非重复随机抽样参考bsamplesim arma 产生服从ARIMA 过程的随机变量需要下载Bootstrap 相关:bootstrapbsbstatbsampleMC 相关:simulate MC simulationjknife 类似于MCpermutepostfile 存储MC 的结果statsbyexp list。
stata命令大全(全)
*
*-- F(4,373) = 855.93检验除常数项外其他解释变量的联合显著性
*-- corr(u_i, Xb)=-0.2347
*-- sigma_u, sigma_e, rho
* rho = sigma_uA2/(sigma_uA2+sigma_eA2)
*空间计量分析:SLM模型与SEM模型
*说明:STATA与Matlab结合使用。常应用于空间溢出效应(R&D)、财政 分权、地方政府公共行为等。
、常用的数据处理与作图
*指定面板格式
xtset id year(id为截面名称,year为时间名称)
xtdes /*数据特征*/
xtsum logy h /*数据统计特征*/
drop if id==2/*注意用==*/
*如何得到连续year或id编号(当完成上述操作时, 为形成panel格式,需要用egen命令)
ege n year_ new二group(year)
xtset id year_ new
**保留变量或保留观测值
keep inv /*删除变量*/
**或
keep if year==2000
dis e(sigma_u)A2/(e(sigma_u)A2+e(sigma_e)A2)
个体效应是否显著?
*F(28,373) =338.86 HO: al=a2 = a3 = a4 = a29
*Prob > F = 0.0000表明,固定效应高度显著
*---如何得到调整后的R2即adj-R2?
ereturn list
考虑中国29个省份的C-D生产函数
stata常用命令总结
Stata常用命令总结Stata是一种统计分析软件,广泛用于社会科学、经济学、生物医学等领域的数据分析。
它具有丰富的功能和灵活的数据处理能力,能够进行各种统计分析、数据可视化和模型建立。
本文将总结Stata的常用命令,包括重要观点、关键发现和进一步思考,帮助读者更好地理解和使用Stata。
一、数据导入和处理e命令:用于导入Stata数据文件(.dta)。
2.import命令:用于导入其他格式的数据文件(如Excel、CSV等)。
3.save命令:用于保存当前数据文件。
4.drop命令:用于删除变量或观察值。
5.keep命令:用于保留指定的变量或观察值。
重要观点:在数据导入和处理阶段,要注意数据的完整性和准确性。
需要检查数据的缺失值、异常值和数据类型,做好数据清洗和预处理工作。
二、数据描述和统计分析1.summarize命令:用于计算变量的描述性统计量,如均值、标准差、最大值、最小值等。
2.tabulate命令:用于制作交叉表和列联表。
3.correlate命令:用于计算变量之间的相关系数。
4.regress命令:用于进行线性回归分析。
5.logit命令:用于进行二分类的逻辑回归分析。
重要观点:在进行数据描述和统计分析时,要根据研究问题选择合适的方法和指标。
同时要注意解释统计结果的意义,避免过度解读和误导。
三、数据可视化1.histogram命令:用于绘制直方图。
2.scatter命令:用于绘制散点图。
3.twoway命令:用于绘制多种类型的图形,如线图、柱状图、饼图等。
4.graph export命令:用于将图形导出为图片文件。
重要观点:数据可视化是数据分析的重要手段,能够直观地展示数据的分布和关系。
在进行数据可视化时,要选择合适的图形类型和参数,使图形简洁明了,易于理解和解释。
四、面板数据分析1.xtset命令:用于设置面板数据的时间和单位。
2.xtreg命令:用于进行面板数据的固定效应或随机效应模型分析。
时间序列模型分析报告地各种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 tsvarlist use 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 - 1 tsset 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命令大全(全)
********* 面板数据计量分析与软件实现 *********说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。
本人做了一定的修改与筛选。
*----------面板数据模型* 1.静态面板模型:FE 和RE* 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验* 4.动态面板模型(DID-GMM,SYS-GMM)* 5.面板随机前沿模型* 6.面板协整分析(FMOLS,DOLS)*** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。
* 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA)*** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog生产函数,一步法与两步法的区别。
常应用于地区经济差异、FDI 溢出效应(Spillovers Effect)、工业行业效率状况等。
* 空间计量分析:SLM模型与SEM模型*说明:STATA与Matlab结合使用。
常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。
* ---------------------------------* --------一、常用的数据处理与作图-----------* ---------------------------------* 指定面板格式xtset id year (id为截面名称,year为时间名称)xtdes /*数据特征*/xtsum logy h /*数据统计特征*/sum logy h /*数据统计特征*/*添加标签或更改变量名label var h "人力资本"rename h hum*排序sort id year /*是以STATA面板数据格式出现*/sort year id /*是以DEA格式出现*/*删除个别年份或省份drop if year<1992drop if id==2 /*注意用==*/*如何得到连续year或id编号(当完成上述操作时,year或id就不连续,为形成panel 格式,需要用egen命令)egen year_new=group(year)xtset id year_new**保留变量或保留观测值keep inv /*删除变量*/**或keep if year==2000**排序sort id year /*是以STATA面板数据格式出现sort year id /*是以DEA格式出现**长数据和宽数据的转换*长>>>宽数据reshape wide logy,i(id) j(year)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。
stata命令总结
stata命令总结.docStata命令总结引言Stata是一款强大的统计分析软件,广泛应用于经济学、社会学、医学等领域。
Stata命令是进行数据处理、统计分析、图形展示等操作的基础。
本文将对Stata中常用的命令进行总结,以帮助用户更高效地使用Stata进行数据分析。
Stata基础命令1. 数据管理导入数据:import excel, import delimited导出数据:export excel, export delimited数据集保存:save, saveold2. 变量管理创建变量:generate, egen修改变量:replace删除变量:drop3. 数据清洗数据类型转换:destring, encode, format缺失值处理:mvdecode, drop if missing()异常值检测:tabulate, summarize描述性统计分析1. 基本统计量描述性统计:summarize频率统计:tabulate相关系数:correlate2. 分组统计分组描述:bysort, xtsum 分组汇总:collapse3. 数据转换数据长格式:reshape long 数据宽格式:reshape wide 推断性统计分析1. 假设检验t检验:ttest方差分析:anova卡方检验:tabulate, chi2 2. 回归分析线性回归:regress逻辑回归:logit泊松回归:poisson3. 时间序列分析时间序列描述:tsreport自回归模型:arima高级统计分析1. 面板数据分析面板数据描述:xtset, xtsum固定效应模型:xtreg fe随机效应模型:xtreg re2. 多层次模型多层次线性模型:xtmelogit3. 结构方程模型结构方程模型:sem绘图与可视化1. 基本图形散点图:scatter线图:line柱状图:bar2. 高级图形箱线图:boxplot直方图:histogram核密度估计图:kdensity3. 交互式图形交互式图形:twoway, graph edit编程与自动化1. 循环与条件语句循环:foreach, forvalues条件语句:if, else2. 脚本与批处理脚本编写:do-file批处理:batch3. 宏与用户定义命令宏:macro用户定义命令:program define结语Stata命令的掌握是进行高效数据分析的前提。
stata命令大全(全)
********* 面板数据计量分析与软件实现 *********说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。
本人做了一定的修改与筛选。
*----------面板数据模型* 1.静态面板模型:FE 和RE* 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验* 4.动态面板模型(DID-GMM,SYS-GMM)* 5.面板随机前沿模型* 6.面板协整分析(FMOLS,DOLS)*** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。
* 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA)*** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog生产函数,一步法与两步法的区别。
常应用于地区经济差异、FDI 溢出效应(Spillovers Effect)、工业行业效率状况等。
* 空间计量分析:SLM模型与SEM模型*说明:STATA与Matlab结合使用。
常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。
* ---------------------------------* --------一、常用的数据处理与作图-----------* ---------------------------------* 指定面板格式xtset id year (id为截面名称,year为时间名称)xtdes /*数据特征*/xtsum logy h /*数据统计特征*/sum logy h /*数据统计特征*/*添加标签或更改变量名label var h "人力资本"rename h hum*排序sort id year /*是以STATA面板数据格式出现*/sort year id /*是以DEA格式出现*/*删除个别年份或省份drop if year<1992drop if id==2 /*注意用==*/*如何得到连续year或id编号(当完成上述操作时,year或id就不连续,为形成panel 格式,需要用egen命令)egen year_new=group(year)xtset id year_new**保留变量或保留观测值keep inv /*删除变量*/**或keep if year==2000**排序sort id year /*是以STATA面板数据格式出现sort year id /*是以DEA格式出现**长数据和宽数据的转换*长>>>宽数据reshape wide logy,i(id) j(year)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。
stata命令大全(全)
********* 面板数据计量分析与软件实现 *********说明:以下do文件相当一部分内容来自于中山大学连玉君STATA教程,感谢他的贡献。
本人做了一定的修改与筛选。
*----------面板数据模型* 1.静态面板模型:FE 和RE* 2.模型选择:FE vs POLS, RE vs POLS, FE vs RE (pols混合最小二乘估计) * 3.异方差、序列相关和截面相关检验* 4.动态面板模型(DID-GMM,SYS-GMM)* 5.面板随机前沿模型* 6.面板协整分析(FMOLS,DOLS)*** 说明:1-5均用STATA软件实现, 6用GAUSS软件实现。
* 生产效率分析(尤其指TFP):数据包络分析(DEA)与随机前沿分析(SFA)*** 说明:DEA由DEAP2.1软件实现,SFA由Frontier4.1实现,尤其后者,侧重于比较C-D与Translog生产函数,一步法与两步法的区别。
常应用于地区经济差异、FDI 溢出效应(Spillovers Effect)、工业行业效率状况等。
* 空间计量分析:SLM模型与SEM模型*说明:STATA与Matlab结合使用。
常应用于空间溢出效应(R&D)、财政分权、地方政府公共行为等。
* ---------------------------------* --------一、常用的数据处理与作图-----------* ---------------------------------* 指定面板格式xtset id year (id为截面名称,year为时间名称)xtdes /*数据特征*/xtsum logy h /*数据统计特征*/sum logy h /*数据统计特征*/*添加标签或更改变量名label var h "人力资本"rename h hum*排序sort id year /*是以STATA面板数据格式出现*/sort year id /*是以DEA格式出现*/*删除个别年份或省份drop if year<1992drop if id==2 /*注意用==*/*如何得到连续year或id编号(当完成上述操作时,year或id就不连续,为形成panel 格式,需要用egen命令)egen year_new=group(year)xtset id year_new**保留变量或保留观测值keep inv /*删除变量*/**或keep if year==2000**排序sort id year /*是以STATA面板数据格式出现sort year id /*是以DEA格式出现**长数据和宽数据的转换*长>>>宽数据reshape wide logy,i(id) j(year)*宽>>>长数据reshape logy,i(id) j(year)**追加数据(用于面板数据和时间序列)xtset id year*或者xtdestsappend,add(5) /表示在每个省份再追加5年,用于面板数据/tsset*或者tsdes.tsappend,add(8) /表示追加8年,用于时间序列/*方差分解,比如三个变量Y,X,Z都是面板格式的数据,且满足Y=X+Z,求方差var(Y),协方差Cov(X,Y)和Cov(Z,Y)bysort year:corr Y X Z,cov**生产虚拟变量*生成年份虚拟变量tab year,gen(yr)*生成省份虚拟变量tab id,gen(dum)**生成滞后项和差分项xtset id yeargen ylag=l.y /*产生一阶滞后项),同样可产生二阶滞后项*/gen ylag2=L2.ygen dy=D.y /*产生差分项*/*求出各省2000年以前的open inv的平均增长率collapse (mean) open inv if year<2000,by(id)变量排序,当变量太多,按规律排列。
STATA命令应用及详细解释(汇总情况)
STATA命令应用及详细解释(汇总)调整变量格式:format x1 .3f ——将x1的列宽固定为10,小数点后取三位format x1 .3g ——将x1的列宽固定为10,有效数字取三位format x1 .3e ——将x1的列宽固定为10,采用科学计数法format x1 .3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符format x1 .3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符format x1 %-10.3gc ——将x1的列宽固定为10,有效数字取三位,加入千分位分隔符,加入“-”表示左对齐合并数据:use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge using "C:\Documents and Settings\xks\桌面\1999.dta" ——将1999和2006的数据按照样本(observation)排列的自然顺序合并起来use "C:\Documents and Settings\xks\桌面\2006.dta", clear merge id using "C:\Documents and Settings\xks\桌面\1999.dta" ,unique sort——将1999和2006的数据按照唯一的(unique)变量id来合并,在合并时对id进行排序(sort)建议采用第一种方法。
对样本进行随机筛选:sample 50在观测案例中随机选取50%的样本,其余删除sample 50,count在观测案例中随机选取50个样本,其余删除查看与编辑数据:browse x1 x2 if x3>3 (按所列变量与条件打开数据查看器)edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器)数据合并(merge)与扩展(append)merge表示样本量不变,但增加了一些新变量;append表示样本总量增加了,但变量数目不变。
与时间序列相关的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第六讲
如果ARMA(p,q)是不平稳的,经过d阶单整 (差分)后成为平稳模型,称为 ARIMA(p,d,q)。单整后可以用一个 ARMA(p,q)模型作为它的生成模型的。 • 下载外部命令: • Findit sim_arma
Stata 第六讲
时间序列
一、 基本命令介绍
1、时间序列的定义 • STATA命令: tsset timevar • 其中,timevar为你要定义的时间变量名 • eg: gen t=_n 表示新建一个变量,取值为
1,2,……n • 打开 gdp.dta • tsset year表示将变量year设置为时间变量
p、q阶数的确定
比较信息准则AIC、BIC,约小越好。 •ቤተ መጻሕፍቲ ባይዱ1。假定为ARIMA(1,1,1),创建模型方程: • arima logmr, arima(1,1,1) 或者
arima d_logmr, ar(1) ma(1) • 列示信息准则 • estat ic
• 2。假定为ARIMA(1,1,2),创建模型方程: • arima d_logmr, ar(1) ma(2) • estat ic • 3。假定为ARIMA(2,1,1),创建模型方程: • arima d_logmr, ar(2) ma(1) • estat ic • 4。假定为ARIMA(2,1,2),创建模型方程: • arima d_logmr, ar(2) ma(2) • estat ic • 应该是一个ARIMA(1,1,1)模型 • AIC BIC 越小越好!
• 其基本思想是,如果多个单位根序列拥有 “共同的随机趋势”,则可以对这些变量 做线性组合而消去此随机趋势
时间序列模型分析的各种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)使用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, clear tsset 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命令及其统计量的解析完整版与时间序列相关的S T A T A命令及其统计量的解析Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】与时间序列相关的S T A T A命令及其统计量的解析残差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 andStatistics(倒数第⼆个) ——在⾥⾯选择 Breush-Godfrey LM(当然你在⾥⾯还可以找到⽅差膨胀因⼦还有DW 统计量等常规统计量)LM 统计量如何看:P 值越⼩(越接近 0)表⽰越显着(显着拒绝原假设),存在序列相关具体是⼏阶序列相关,你可以把滞后期写为⼏,当然默认是 1,(通常的⽅法是先看图,上⾯说的⾃相关和偏相关图以及Q 值,然后再利⽤LM 肯定)。
时间序列模型分析的各种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 COMMAND FOR TIME SERIES ANALYSISHow to set time series data:tsset year, yearlyHow to fill missing data for Time Series analysis:ipolate x time, gen(xi) epolateHow to check unit root using Augmented Dikker Fuller test (ADF):ADF unit root test using constantdfuller xADF test for constant and trend:dfuller x, trendWhen a variable has unit root, we take difference as follows:dfuller d.xADF test after differencing for constant and trend:dfuller d.x, trendIf you want to have summary statistics:sum y x1 x2 x3 x4How to run correlation matrix for your data:correlate y x1 x2 x3 x4Command for running regression model:regress y x1 x2 x3 x4If you want to check normality after running regression model, run two commands consecutively:predict myResiduals, rsktest myResidualsAfter regression, you can check for serial correlation using either of the following: dwstat or estat bgodfreyUse the following command for heteroskedasticity test :Prob value below 10% means there is heteroskedasticity problem in the modelestat hottestIf you want to see whether the model is mis-specified or if some variables are omitted: estat ovtestCommand for selecting optimum lags for your model is given below:varsoc y x1 x2 x3 x4, maxlag(4)the asterisk (*) indicates the appropriate lag selectedCommand for testing co-integration:vecrank y x1 x2 x3 x4, trend(constant)When co-integration is established, run VECM otherwise unrestricted VAR model is appropriate.Assuming variables are co-integrated, we run VECM using the following command:vec y x1 x2 x3 x4, trend(contant)The long-run causality must be negative, significant and in between 0 to 1, representing error correction term or speed of adjustment.Command to run impulse response function (you must estimate VECM or VAR model before running it) as follows:First you use the following command to create file:irf create order1, step(10) set(myirf1)Command for impulse response of all independent variables on dependent variable:irf graph irf, irf(order1) impulse(y x1 x2 x3 x4) response(smd)Assuming there is no co-integration, you run VAR model as a replacement for VECM as follows: (Note VAR model is for short run effect only)var y x1 x2 x3 x4, lags(1/4)If you want to check how variables jointly affect the dependent variables, use Granger causality test as follows:vargrangerDiagnostic checking for VAR model: Run the following tests:Lagrange multiplier test to check if residuals are auto-correlated or not (whether model is well-specified):varlmarJarque-Bera test to check whether residuals are normally distributed or not:varnorm, jberajbera stands for Jarque-BeraProb value below 10% shows residuals are not normally distributedTime Series Autoregressive Distributed Lag (ARDL) Model:ardl y x1 x2 x3 x4, lag(2 1 1 1 1) ecThe value must be negative, significant and in between 0 to 1, representing error correction term or speed of adjustmentTo confirm existence of long-run relationship, we run bound test as follows:estat btestbtest stand for bound testThe long-run cointegration is possible if the F statistics value is above the critical value. Command for Zivot-Andrews unit root test (structural break):zandrews xzandrews d.xGregory-Hansen Cointegration testCommand for g-hansen test with change in level:ghansen y x1 x2 x3 x4, break(level) lagmethod(aic) maxlags(4)Command for g-hansen test under regime change;ghansen y x1 x2 x3 x4, break(regime) lagmethod(fixed) maxlags(4)Command for g-hansen test with change in regime and trend:ghansen y x1 x2 x3 x4, break(regimetrend) lagmethod(downt) level(0.99) trim(0.1) Command for Non-linear Autoregressive Distributed Lag (NARDL) for frequency data nardl y x1 x2 x3 x4, p(2) q(4) constraints (1/2) plot bootstrapt (500) level (95)p(2) stands for lags of dependent variable, q(4) lags for explanatory variablesCommand for non-linear Autoregressive Distributed Lag (NARDL) for fewer observations nardl y x1 x2 x3 x4The results include positive and negative coefficients otherwise asymmetric effectSteps for running Toda and Yamamoto Granger-non causality testAfter testing for unitrootEstimate var model to select appropriate lag as followsvar y x1 x2 x3 x4, lags(1/4)varsocAssuming lag 3 is selected for the model, then run var model to include exogenous variables: var y x1 x2 x3 x4, lags(1/2) exog(13.y 13.x1 13.x2 13.x3 13.x4)Then run Toda Yamamoto causality test as follows:vargranger。
stata命令总结
stata命令总结表2-1: 回归分析相关命令一览命令用途anova 方差和协方差分析heckman Heckman 筛选模型intreg 离散型变量模型,包括T obit 、cnreg 和intregivreg 工具变量法(IV 或2SLS)newey Newey-West 标准差设定下的回归prais 针对序列相关的Prais-Winsten, Cochrane-Orcutt, or Hildreth-Lu 回归qreg 分量回归reg OLS 回归sw 逐步回归法reg3 三阶段最小二乘回归rreg 稳健回归(不同于方差稳健型回归,即White 方法)sureg 似无相关估计svyheckman 调查数据的Heckman 筛选模型svyintreg 调查数据的间断变量回归svyregress 调查数据的线性回归tobit Tobit 回归treatreg treatment 效应模型truncreg 截断回归表2-2: 时间序列命令一览命令用途clemao1 允许结构突变的单位根检验zandrewsdfullerdfglspperroncoin 单方程协整检验dwstat 参考dwstat2 , durbina2durbinh表2-3: Panel Data 模型相关命令一览I命令模型统计描述相关命令:xtdes 变量类型,数据类型描述xtsum 基本统计量xttab 按表格形式列示xtpattern 面板数据的模式估计相关命令:xtreg 面板数据模型(固定效应、随机效应)xtregar 含有AR(1) 干扰项的固定效应和随机效应面板数据模型xtgls 截面-时序混合模型,可处理异方差、组内序列相关和组间相关性xtpcse OLS or Prais-Winsten models with panel-corrected standard errors精品文库xtrchh Hildreth-Houck random coefficients modelsxtivreg 面板模型的工具变量或两阶段最小二乘法估计xtabond Arellano-Bond(1991) 线性动态面板数据模型估计xtabond2 Arellano-Bover(1995) 系统GMM 动态面板数据模型估计xttobit Tobit 随机效应面板模型xtintreg Random-effects interval data regression modelsxtlogit Fe, Re, Pa logit modelsxtprobit Re, Pa probit modelsxtcloglog Re, Pa cloglog modelsxtpoisson Fe, Re, Pa Poisson modelsxtnbreg Fe, Re, Pa negative binomial modelsxtfrontier 面板随机前沿模型xthtylor Hausman-Taylor estimator for error-componentsmodels表2-4: Panel Data 模型相关命令一览II命令模型假设检验相关:test Wald 检验,如时间效应联合显著性检验xttest0 随机效应检验xttest1 面板序列相关检验xttest2 adsxtserial Wooldridge 一阶序列相关检验xtab Arellano 面板一阶序列相关检验hausman Hausman 检验面板单位根和协整相关:xtunit stata提供的检验方法ipshin IPS(2003)面板单位根检验levilin Levin,Lin和Chu(LLC, 2002)面板单位根检验madfuller Sarno-Taylor(1998) 面板单位根检验xtfisher Maddala和Wu(1999),基于P 值的面板单位根检验表2-5: Post-estimation Commands命令名称用途adjust 列示预测结果的均质,适于多种回归分析,可分组列示estimates 估计结果的存储、再显示、列表比较等hausman Hausman 模型识别检验lincom 获得参数的线性组合,在Logit 模型中可以获得系数线性组合的OR 值linktest 但方程link 识别检验,用y 对O y 和O y2 回归lrtest 似然比(LR)检验mfx 计算边际效应和弹性系数nlcom 系数的非线性组合predict 获得拟合值、残差等predictnl 获得非线性估计的拟合值、残差等test 线性约束的假设检验,Wald 检验精品文库testnl 非线性约束的假设检验vce 列示参数估计值的方差-协方差矩阵表2-6: 二维图种类一览图形种类简单描述scatter scatterplotline line plotconnected connected-line plotscatteri scatter with immediate argumentsarea line plot with shadingbar bar plotspike spike plotdropline dropline plotdot dot plotrarea range plot with area shadingrbar range plot with barsrspike range plot with spikesrcap range plot with capped spikesrcapsym range plot with spikes capped with symbols rscatter range plot with markersrline range plot with linesrconnected range plot with lines and markerstsline time-series plottsrline time-series range plotmband median-band line plotmspline spline line plotlowess LOWESS line plotlfit linear prediction plotqfit quadratic prediction plotfpfit fractional polynomial plotlfitci linear prediction plot with CIsqfitci quadratic prediction plot with CIsfpfitci fractional polynomial plot with CIsfunction line plot of functionhistogram histogram plotkdensity kernel density plot表2-7: 二维图选项一览选项类别简单描述added line options draw lines at specified y or x values added text option display text at specified (y,x) valueaxis options labels, ticks, grids, log scalestitle options titles, subtitles, notes, captionslegend option legend explaining what means whatscale(#) resize text, markers, and line widths精品文库region options outlining, shading, aspect ratio, size aspect option constrain aspect ratio of plot region scheme(schemename) overall lookby(varlist, ...) repeat for subgroupsnodraw suppress display of graphname(name, ...) specify name for graphsaving(filename, ...) save graph in fileadvanced options difficult to explain表2-9: 模拟分析相关命令一览命令用途备注抽样相关:corr2data 产生具有指定相关性的数据仅适用于模拟相关分析drawnorminvnorm(uniform()) 产生服从标准正态分布的随机数函数,可调节均值和方差matuniform(r,c) 产生均匀分布函数sample 从现有数据中进行非重复随机抽样参考bsample sim arma 产生服从ARIMA 过程的随机变量需要下载Bootstrap 相关:bootstrapbsbstatbsampleMC 相关:simulate MC simulationjknife 类似于MCpermutepostfile 存储MC 的结果statsbyexp list。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。
在一些大规模的联立方程中,情况更是如此。
而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着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 模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。
这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。
ARIMA(1,1)模型:t t t t y y εθερα+++=--112.1 ARIMA 模型预测的基本程序:1) 根据时间序列的散点图、自相关函数和偏自相关函数图以ADF 单位根检验其方差、趋势及其季节性变化规律,对序列的平稳性进行识别。
一般来讲,经济运行的时间序列都不是平稳序列。
2) 对非平稳序列进行平稳化处理。
如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。
3) 根据时间序列模型的识别规则,建立相应的模型。
若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定序列适合AR 模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA 模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA 模型。
4) 进行参数估计,检验是否具有统计意义。
5) 进行假设检验,诊断残差序列是否为白噪声。
6) 利用已通过检验的模型进行预测分析。
2.2 ARIMA 模型中AR 和MA 阶数的确定方法: clearsim_arma y_ar, ar(0.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模型中涉及的检验:use /data/r11/wpi1 ,cleartsset tgen d_wpi = D.wpidfuller wpi /*单位根检验*/dfuller d_wpiwntestq wpi /*白噪声检验:Q检验*/wntestq d_wpiwntestb wpi,table /*累积统计Q检验并以列表显示*/wntestb d_wpi,tablewntestb wpi /*画出累积统计量Q*/wntestb d_wpi /*画出累积统计量Q*/corrgram wpi ,lag(24) /*自相关、偏相关、Q统计量*/corrgram d_wpi ,lag(24)2.4 ARIMA模型和SARIMA模型的估计ARIMA模型:use /data/r11/wpi1 ,cleargen d_wpi = D.wpiarima wpi,arima(1,1,1) /* 没有漂移项即常数项的命令是noconstant */ * 或者下面的这种形式也行arima D.wpi,ar(1) ma(1)SARIMA模型:use /data/r11/air2,clearline air tgenerate lnair=ln(air)arima lnair,arima(0,1,1) sarima(0,1,1,12) noconstant2.5 ARIMA模型的一个真实应用——美国批发物价指数use /data/r11/wpi1 ,cleardfuller wpi /*单位根检验*/gen d_wpi = D.wpidfuller d_wpiarima wpi,arima(1,1,1) /* 没有漂移项即常数项的命令是noconstant */ * 或者下面的这种形式也行arima D.wpi,ar(1) ma(1)ac D.ln_wpi,ylabels(-.4(.2).6)pac D.ln_wpi,ylabels(-.4(.2).6)arima D.ln_wpi,ar(1) ma(1/4)estat ic /*LL 越大越好, AIC 和 BIC 越小越好*/arima D.ln_wpi,ar(1) ma(1 4) /*季节效应 */estat ic* 残差检验predict r,reswntestq r /*白噪声检验:Q检验*/wntestb r,table /*累积统计Q检验并以列表显示*/wntestb r /*画出累积统计量Q*/corrgram r ,lag(24) /*自相关、偏相关、Q统计量*/* 样本内预测predict y_hat0 /* y的拟合值 */* 样本外预测list in -15/-1tsappend, add(8)list in -15/-1predict y_hat1 /* y 的样本外一步预测值 */list in -15/-1gen Dln_wpi = D.ln_wpisumpredict y_hat_dy0, dynamic(124) /*动态预测*/predict y,y /*对未差分变量的预测*/predict fy,y dynamic(124)gen fwpi=exp(fy) /*实际wpi的预测值*/gen ywpi=exp(y)line wpi fwpi ywpi t in -20/-1三、ARCH 模型传统的计量经济学对时间序列变量的第二个假设:假定时间序列变量的波动幅度(方差)是固定的,不符合实际,比如,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数。