当前位置:文档之家› 时间序列模型分析的各种stata命令

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

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

时间序列模型

结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。在一些大规模的联立方程中,情况更是如此。而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。本章将介绍如下时间序列分析方法,ARIMA模型、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.gnp

2)检查是否有断点: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/12

4)追加样本:tsappend

use gnp96.dta, clear

tsset date

list in -10/-1

sum

tsappend , add(5) /*追加5个观察值*/

list in -10/-1

sum

5)应用:样本外预测: predict

reg gnp96 L.gnp96

predict gnp_hat

list in -10/-1

6)清除时间标识: tsset, clear

tsset, clear

1.2变量的生成与处理

1)滞后项、超前项和差分项 help tsvarlist

use gnp96.dta, clear

tsset date

gen Lgnp = L.gnp96 /*一阶滞后*/

gen L2gnp = L2.gnp96

gen Fgnp = F.gnp96 /*一阶超前*/

gen F2gnp = F2.gnp96

gen Dgnp = D.gnp96 /*一阶差分*/

gen D2gnp = D2.gnp96

list in 1/10

list in -10/-1

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.3日期的处理

日期的格式 help tsfmt

基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 ....

1960年1月1日,取值为 0;

1)使用 tsset 命令指定显示格式

use B6_tsset.dta, clear

tsset t, daily

list

use B6_tsset.dta, clear

tsset t, weekly

list

2)指定起始时点

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)自己设定不同的显示格式

日期的显示格式 %d (%td) 定义如下:

%[-][t]d<描述特定的显示格式>

具体项目释义:

“<描述特定的显示格式>”中可包含如下字母或字符

c y m l n

d j h q w _ . , : - / ' !c

C Y M L N

D J W

定义如下:

c an

d 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

----------------------------------

clear

set obs 100

gen t = _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)一个实例:生成连续的时间变量

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)) 3)例3:增加两条纵向的标示线

sysuse tsline2, clear

tsset day

tsline 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 εθερα+++=--11

2.1 ARIMA 模型预测的基本程序:

1) 根据时间序列的散点图、自相关函数和偏自相关函数图以ADF 单位根检验其

方差、趋势及其季节性变化规律,对序列的平稳性进行识别。一般来讲,经济运行的时间序列都不是平稳序列。

2) 对非平稳序列进行平稳化处理。如果数据序列是非平稳的,并存在一定的增

长或下降趋势,则需要对数据进行差分处理,如果数据存在异方差,则需对数据进行技术处理,直到处理后的数据的自相关函数值和偏相关函数值无显著地异于零。

3) 根据时间序列模型的识别规则,建立相应的模型。若平稳序列的偏相关函数

是截尾的,而自相关函数是拖尾的,可断定序列适合AR 模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序列适合MA 模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA 模型。

4) 进行参数估计,检验是否具有统计意义。 5) 进行假设检验,诊断残差序列是否为白噪声。 6) 利用已通过检验的模型进行预测分析。 2.2 ARIMA 模型中AR 和MA 阶数的确定方法: clear

sim_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 https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1 ,clear

tsset t

gen d_wpi = D.wpi

dfuller wpi /*单位根检验*/

dfuller d_wpi

wntestq wpi /*白噪声检验:Q检验*/

wntestq d_wpi

wntestb wpi,table /*累积统计Q检验并以列表显示*/

wntestb d_wpi,table

wntestb wpi /*画出累积统计量Q*/

wntestb d_wpi /*画出累积统计量Q*/

corrgram wpi ,lag(24) /*自相关、偏相关、Q统计量*/

corrgram d_wpi ,lag(24)

2.4 ARIMA模型和SARIMA模型的估计

ARIMA模型:

use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1 ,clear

gen d_wpi = D.wpi

arima wpi,arima(1,1,1) /* 没有漂移项即常数项的命令是noconstant */ * 或者下面的这种形式也行

arima D.wpi,ar(1) ma(1)

SARIMA模型:

use https://www.doczj.com/doc/f84520291.html,/data/r11/air2,clear

line air t

generate lnair=ln(air)

arima lnair,arima(0,1,1) sarima(0,1,1,12) noconstant

2.5 ARIMA模型的一个真实应用——美国批发物价指数

use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1 ,clear

dfuller wpi /*单位根检验*/

gen d_wpi = D.wpi

dfuller d_wpi

arima 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,res

wntestq r /*白噪声检验:Q检验*/

wntestb r,table /*累积统计Q检验并以列表显示*/

wntestb r /*画出累积统计量Q*/

corrgram r ,lag(24) /*自相关、偏相关、Q统计量*/

* 样本内预测

predict y_hat0 /* y的拟合值 */

* 样本外预测

list in -15/-1

tsappend, add(8)

list in -15/-1

predict y_hat1 /* y 的样本外一步预测值 */

list in -15/-1

gen Dln_wpi = D.ln_wpi

sum

predict 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 模型

传统的计量经济学对时间序列变量的第二个假设:假定时间序列变量的波动幅度(方差)是固定的,不符合实际,比如,人们早就发现股票收益的波动幅度是随时间而变化的,并非常数。这使得传统的时间序列分析对实际问题并不有效。但是ARCH模型能准确地模拟时间序列变量的波动性的变化,它在金融工程学的

实证研究中应用广泛,使人们能更加准确地把握风险(波动性),尤其是应用在风险价值(VALUE AT RISK )理论中,在华尔街是人尽皆知的工具。

所谓ARCH 模型,按照英文直译是自回归条件异方差模型。粗略地说,该模型将当前一切可利用信息作为条件,并采用某种自回归形式来刻划方差的变异,对于一个时间序列而言,在不同时刻可利用的信息不同,而相应的条件方差也不同,利用ARCH 模型,可以刻划出随时间而变异的条件方差。

ARCH(m)模型:

(条件方差)

(条件平均值)

222221102m

t m t t t t

t t x y ---++++=+=εγεγεγγσεβ

其中,2ε是残差平方和(波动率) i γ是ARCH 模型的系数 GARCH(m,k)模型:

2222211222

221

102k

t k t t m t m t t t t

t t x y ------++++++++=+=σδσδσδε

γε

γεγγσεβ

其中,i γ是ARCH 模型的系数;i δ是GARCH 系数 3.1 ARCH 模型应用 例子:

. use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1,clear . regress D.ln_wpi

Source | SS df MS Number of obs = 123 -------------+------------------------------ F( 0, 122) = 0.00 Model | 0 0 . Prob > F = . Residual | .02521709 122 .000206697 R-squared = 0.0000 -------------+------------------------------ Adj R-squared = 0.0000 Total | .02521709 122 .000206697 Root MSE = .01438

------------------------------------------------------------------------------ D.ln_wpi | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- _cons | .0108215 .0012963 8.35 0.000 .0082553 .0133878 ------------------------------------------------------------------------------

. estat archlm,lags(1)

LM test for autoregressive conditional heteroskedasticity (ARCH)

--------------------------------------------------------------------------- lags(p) | chi2 df Prob > chi2 -------------+------------------------------------------------------------- 1 | 8.366 1 0.0038

--------------------------------------------------------------------------- H0: no ARCH effects vs. H1: ARCH(p) disturbance

通过对WPI 的对数差分进行常数回归,接着用LM 检验来判断ARCH(1)效应,在该例子中,检验的结果PROB > CHI2=0.0038<0.05,所以拒绝没有ARCH(1)效应的虚无假设。因此,我们可以通过指定ARCH(1)模型来估计ARCH(1)的系数。

. arch D.ln_wpi,arch(1) garch(1) ARCH family regression

Sample: 1960q2 - 1990q4 Number of obs = 123 Distribution: Gaussian Wald chi2(.) = . Log likelihood = 373.234 Prob > chi2 = .

------------------------------------------------------------------------------ | OPG

D.ln_wpi | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- ln_wpi |

_cons | .0061167 .0010616 5.76 0.000 .0040361 .0081974 -------------+---------------------------------------------------------------- ARCH | arch |

L1. | .4364123 .2437428 1.79 0.073 -.0413147 .9141394 | garch |

L1. | .4544606 .1866605 2.43 0.015 .0886126 .8203085 |

_cons | .0000269 .0000122 2.20 0.028 2.97e-06 .0000508 ------------------------------------------------------------------------------

这样,我们就可以估计出了ARCH(1)的系数是0.436,GARCH(1)的系数是0.454,所以我们可以拟合出GARCH(1,1)模型:

21

21

2454.0436.00061.0--+=+=t t t t

t y σ

ε

σε )ln()ln(1--=t t t wpi wpi y 其中,

接下来我们可以对变量的进行预测:

predict xb,xb /*对差分变量的预测*/ predict y,y /*对未差分变量的预测*/

predict variance,var /*对条件方差的预测 */

predict res,residuals /*对差分变量残差的预测*/

predict yres,yresiduals /*对未差分变量残差的预测*/

3.2 ARCH 模型的确定以及检验

use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1,clear

*- 检验 ARCH 效应是否存在:archlm 命令

regress D.ln_wpi

archlm, lag(1/20)

regress D.ln_wpi L(1/3).D.ln_wpi

archlm, lag(1/20)

* 图形法——自相关函数图 (ac)

reg D.ln_wpi

predict e, res

gen e2 = e^2

ac e2, lag(40)

gen dlnwpi=D.ln_wpi

gen dlnwpi2 = dlnwpi^2

ac dlnwpi2, lag(40)

* 精简模型:ARCH(1)

* 保守模型:ARCH(4)

*- 预测值

arch D.ln_wpi, arch(1/4)

predict ht, variance /*条件方差*/

* ht = c + a_1*e2_t-1 + a_2*e2_t-2 + ... + a_5*e2_t-5

line ht t

predict et, residual /*均值方程的残差*/

*- 模型的评估

* 基本思想:

* 若模型设定是合适的,那么标准化残差

* z_t = e_t/sqrt(h_t)

* 应为一个 i.i.d 的随机序列,即不存在序列相关和ARCH效应;

gen zt = et / sqrt(ht) /*标准化残差*/

gen zt2 = zt^2 /*标准化残差的平方*/

* 序列相关检验

pac zt

corrgram zt /*Ljung-Box 统计量*/

pac zt2

corrgram zt2

* 正态分布检验

histogram zt, normal

wntestb zt

wntestb zt2

* 评论:均值方程的设定可能需要改进,因为 zt 仍然表现出明显的序列相关。

* 条件方差方程的设定基本满足要求,zt2 不存在明显的序列相关。

3.3 ARIMA过程的ARCH模型

我们可以对条件方差模型保持ARCH(1,1)模型而均值模型采用ARMA过程的自回归一阶和移动平均一阶农以及移动平均四阶来控制季节影响:

. use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1,clear

. arch D.ln_wpi,ar(1) ma(1 4) arch(1) garch(1)

ARCH family regression -- ARMA disturbances

Sample: 1960q2 - 1990q4 Number of obs = 123 Distribution: Gaussian Wald chi2(3) = 153.56 Log likelihood = 399.5144 Prob > chi2 = 0.0000

------------------------------------------------------------------------------ | OPG

D.ln_wpi | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- ln_wpi |

_cons | .0069541 .0039517 1.76 0.078 -.000791 .0146992 -------------+---------------------------------------------------------------- ARMA |

ar |

L1. | .7922673 .1072225 7.39 0.000 .582115 1.002419 |

ma |

L1. | -.3417738 .1499944 -2.28 0.023 -.6357574 -.0477902 L4. | .2451725 .1251131 1.96 0.050 -.0000446 .4903896 -------------+---------------------------------------------------------------- ARCH |

arch |

L1. | .2040451 .1244992 1.64 0.101 -.039969 .4480591 |

garch |

L1. | .694968 .189218 3.67 0.000 .3241075 1.065829 |

_cons | .0000119 .0000104 1.14 0.253 -8.52e-06 .0000324 ------------------------------------------------------------------------------ 为使上述的模型估计变得清楚明了,我们可以将模型表示为:

虽然arch系数0.204是不显著,但是ARCH(1)和GARCH(1)系数整体是显著的。我们可以通过下面来进行检验:

. test [ARCH]L1.arch [ARCH]L1.garch

( 1) [ARCH]L.arch = 0

( 2) [ARCH]L.garch = 0

chi2( 2) = 84.92

Prob > chi2 = 0.0000

3.4 非对称效应的EGARCH模型

还是以美国的WPI数据为例,我们可能认为整个经济对于整体物价的异常上涨产生的波动要比异常的下降大。可能异常的上涨导致影响存货的现金流问题从而导致更大的波动。数据中存在这种不对称效应,就需要对原先的ARCH模型加以修正,EGARCH模型就是修正的结果。

. use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1,clear

. arch D.ln_wpi,ar(1) ma(1 4) earch(1) egarch(1)

ARCH family regression -- ARMA disturbances

Sample: 1960q2 - 1990q4 Number of obs = 123 Distribution: Gaussian Wald chi2(3) = 156.04 Log likelihood = 405.3145 Prob > chi2 = 0.0000

------------------------------------------------------------------------------ | OPG

D.ln_wpi | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- ln_wpi |

_cons | .0087355 .0034008 2.57 0.010 .0020702 .0154009 -------------+---------------------------------------------------------------- ARMA |

ar |

L1. | .76923 .0968298 7.94 0.000 .579447 .959013 |

ma |

L1. | -.3554615 .1265657 -2.81 0.005 -.6035258 -.1073972 L4. | .2414685 .0863807 2.80 0.005 .0721655 .4107715 -------------+---------------------------------------------------------------- ARCH |

earch |

L1. | .4064263 .1163501 3.49 0.000 .1783842 .6344684 |

earch_a |

L1. | .2467514 .1233374 2.00 0.045 .0050145 .4884883 |

egarch |

L1. | .8417241 .0704075 11.96 0.000 .7037279 .9797204 |

_cons | -1.488437 .6604335 -2.25 0.024 -2.782863 -.194011 ------------------------------------------------------------------------------ 方差模型的结果如下:

3.4 限制条件的ARCH模型

条件方差模型可以设定为:

在stata里,运行出来的模型是:

例子:

. use https://www.doczj.com/doc/f84520291.html,/data/r11/wpi1,clear

. constraint 1 (3/4)*[ARCH]l1.arch=[ARCH]l2.arch

. constraint 2 (2/4)*[ARCH]l1.arch=[ARCH]l3.arch

. constraint 3 (1/4)*[ARCH]l1.arch=[ARCH]l4.arch

. arch D.ln_wpi,ar(1) ma(1 4) arch(1/4) constraints(1/3)

ARCH family regression -- ARMA disturbances

Sample: 1960q2 - 1990q4 Number of obs = 123 Distribution: Gaussian Wald chi2(3) = 123.32 Log likelihood = 399.4624 Prob > chi2 = 0.0000

( 1) .75*[ARCH]L.arch - [ARCH]L2.arch = 0

( 2) .5*[ARCH]L.arch - [ARCH]L3.arch = 0

( 3) .25*[ARCH]L.arch - [ARCH]L4.arch = 0

------------------------------------------------------------------------------ | OPG

D.ln_wpi | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- ln_wpi |

_cons | .0077204 .0034531 2.24 0.025 .0009525 .0144883 -------------+---------------------------------------------------------------- ARMA |

ar |

L1. | .7388168 .1126811 6.56 0.000 .517966 .9596676 |

ma |

L1. | -.2559691 .1442861 -1.77 0.076 -.5387646 .0268264 L4. | .2528922 .1140185 2.22 0.027 .02942 .4763644 -------------+---------------------------------------------------------------- ARCH |

arch |

L1. | .2180138 .0737787 2.95 0.003 .0734101 .3626174 L2. | .1635103 .055334 2.95 0.003 .0550576 .2719631 L3. | .1090069 .0368894 2.95 0.003 .0367051 .1813087 L4. | .0545034 .0184447 2.95 0.003 .0183525 .0906544 |

_cons | .0000483 7.66e-06 6.30 0.000 .0000333 .0000633 ------------------------------------------------------------------------------

四、VAR 模型

向量自回归介绍:

当我们对变量是否真是外生变量的情况不自信时,传递函数分析的自然扩展就是均等地对待每一个变量。在双变量情况下,我们可以令{yt}的时间路径受序列{zt}的当期或过去的实际值的影响,考虑如下简单的双变量体系

式(5.17)和(5.18)并非是诱导型方程,因为yt对zt有一个同时期的影响,而zt对yt也有一个同时期的影响。所幸的是,可将方程转化为更实用的形式,使用矩阵性代数,我们可将系统写成紧凑形式:

其中

也等价于:

在实际的应用估计中,我们并不能够直接估计出结构性VAR方程,因为在

ε相关,yt与误VAR过程中所固有的反馈,直接进行估计的话,则zt与误差项

yt ε相关,但是标准估计要求回归变量与误差项不相关。

差项

zt

因为在识别结构VAR 方程时,需要对估计变量进行约束,这样子也就造成了在进行标准VAR 估计后,求正交化的脉冲响应函数时,进行估计的变量排列序列会造成脉冲响应函数有些区别。因为在求正交化的脉冲响应函数时,是要得到变量的独立冲击,是要求出各自的yt ε和zt ε以及其滞后n 项。

脉冲响应函数用于衡量来自随机扰动项的冲击对内生变量当前和未来值的影响。

方差分解是将系统的预测均方误差分解成为系统中各变量冲击所做的贡献,把系统中任意一个内生变量的波动按其成因分解为与各方程新息相关联的若干个组成部分,从而了解各新息对模型内生变量的相对重要性,即变量的贡献占总贡献的比例。

Granger非因果性检验:

(1)滞后期 k 的选取以 VAR 为依据。实际中是一个判断性问题。以 xt 和 yt为例,如果xt-1对 yt存在显著性影响,则不必再做滞后期更长的检验。如果 xt-1对 yt不存在显著性影响,则应该再做滞后期更长的检验。一般来说要试检验若干个不同滞后期 k的格兰杰因果关系检验,且结论相同时,才可以最终下结论。

(2)格兰杰非因果性。

(3)通常总是把 xt-1 对 yt存在非因果关系表述为 xt(去掉下标-1)对yt存在非因果关系(严格讲,这种表述是不正确的)。

(4)Granger非因果性检验只在平稳变量之间进行。不存在协整关系的非平稳变量之间不能进行格兰杰因果关系检验。

(5)格兰杰因果关系不是哲学概念上的因果关系。一则他表示的是 xt-1对 yt的影响。二则它只是说明 xt可以作为yt变化的预测因子。

VAR 模型的特点是:

(1)不以严格的经济理论为依据。在建模过程中只需明确两件事:①共有哪些变量是相互有关系的,把有关系的变量包括在 VAR 模型中;②确定滞后期k。使模型能反映出变量间相互影响的绝大部分。

(2)VAR 模型对参数不施加零约束。(对无显着性的参数估计值并不从模型中剔除,不分析回归参数的经济意义。)

(3)VAR模型的解释变量中不包括任何当期变量,所有与联立方程模型有关的问题在VAR 模型中都不存在(主要是参数估计量的非一致性问题)。

(4)VAR 模型的另一个特点是有相当多的参数需要估计。比如一个 VAR 模型含有三个变量,最大滞后期 k = 3,则有 kN^2= 3×3^2= 27个参数需要估计。当样本容量较小时,多数参数的估计量误差较大。

(5)无约束 VAR 模型的应用之一是预测。由于在 VAR 模型中每个方程的右侧都不含有当期变量,这种模型用于样本外一期预测的优点是不必对解释变量在预测期内的取值做任何预测。

(6)用VAR模型做样本外近期预测非常准确。做样本外长期预测时,则只能预测出变动的趋势,而对短期波动预测不理想。

(7)VAR模型中每一个变量都必须具有平稳性。如果是非平稳的,则必须具有协整关系。

西姆斯(Sims)认为VAR模型中的全部变量都是内生变量。近年来也有学者认为具有单向因果关系的变量,也可以作为外生变量加入VAR 模型。

4.1 滞后阶数的选择

在VAR模型中,正确选择模型的滞后阶数对于模型估计和协整检验都产生一定的影响,在小样本中情况更是如此。Stata中varsoc命令给出了滞后阶数选

择的几种标准,包括最终预测误差(Final Prediction Error,FPE)、施瓦茨信息准则(Schwarz's Bayesian Information Criterion,SBIC)、汉南—昆(Hannan and Quinn Information Criterion,HQIC)。对于这些检验,相对于默认的算法,还有另一种算法是lutstats,其运行出来的结果有差别,但对于判断没有多大的影响。

例子:

. use https://www.doczj.com/doc/f84520291.html,/data/r11/lutkepohl2,clear

(Quarterly SA West German macro data, Bil DM, from Lutkepohl 1993 Table E.1)

. varsoc dln_inv dln_inc dln_consump if qtr<=tq(1978q4),lutstats

Selection-order criteria (lutstats)

Sample: 1961q2 - 1978q4 Number of obs = 71 +---------------------------------------------------------------------------+ |lag | LL LR df p FPE AIC HQIC SBIC | |----+----------------------------------------------------------------------| | 0 | 564.784 2.7e-11 -24.423 -24.423* -24.423* | | 1 | 576.409 23.249 9 0.006 2.5e-11 -24.497 -24.3829 -24.2102 | | 2 | 588.859 24.901* 9 0.003 2.3e-11* -24.5942* -24.3661 -24.0205 | | 3 | 591.237 4.7566 9 0.855 2.7e-11 -24.4076 -24.0655 -23.5472 | | 4 | 598.457 14.438 9 0.108 2.9e-11 -24.3575 -23.9012 -23.2102 | +---------------------------------------------------------------------------+ Endogenous: dln_inv dln_inc dln_consump

Exogenous: _cons

对于给定的一个p阶,LR检验将比较p阶的VAR和p-1阶的VAR。其检验的虚无假设是内生变量的第p阶系数为零。通过这一连串的LR检验来筛选阶数,我们一般从模型的最大阶数检验的结果开始,也即是表格的底部。第一个拒绝虚无假设的检验的阶数就是这个过程所选择的阶数。

对于其余的统计检验,最小阶数的确定是根据一定的判断准则来选择的,带“*”表示最适阶数。严格来讲,FPE不是一个信息判断准则,尽管我们把它加到判断中来,这是因为根据信息判断准则,我们选择的滞后长度要对应最小的值;自然,我们也想要最小化它的预测误差。AIC准则是测量设定模型和实际模型的差异,这也是我们要尽可能小的。SBIC和HQIC准则的解释与AIC很相似,但SBIC 和HQIC比AIC和FPE有理论上的优势。在实际判断中,我们要根据上述的这些检验结果,尽可能的选择满足较多的检验的滞后阶数。

4.2 模型的估计

VAR模型在stata里的命令为var。其中默认的是2阶滞后。

命令格式:var depvarlist [if] [in] [,options]

options包括:

noconstant 没有常数项

lags(numlist) 滞后阶数

exog(varlist) 外生变量

dfk 自由度调整

small 小样本t、F统计量

lutstats Lutkepohl滞后阶数选择统计量

例子1:

. use https://www.doczj.com/doc/f84520291.html,/data/r11/lutkepohl2,clear

(Quarterly SA West German macro data, Bil DM, from Lutkepohl 1993 Table E.1)

. var dln_inv dln_inc dln_consump if qtr<=tq(1978q4),lutstats dfk

Vector autoregression

Sample: 1960q4 - 1978q4 No. of obs = 73 Log likelihood = 606.307 (lutstats) AIC = -24.63163 FPE = 2.18e-11 HQIC = -24.40656 Det(Sigma_ml) = 1.23e-11 SBIC = -24.06686

Equation Parms RMSE R-sq chi2 P>chi2

----------------------------------------------------------------

dln_inv 7 .046148 0.1286 9.736909 0.1362

dln_inc 7 .011719 0.1142 8.508289 0.2032

dln_consump 7 .009445 0.2513 22.15096 0.0011

----------------------------------------------------------------

------------------------------------------------------------------------------ | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------------+---------------------------------------------------------------- dln_inv |

dln_inv |

L1. | -.3196318 .1254564 -2.55 0.011 -.5655218 -.0737419 L2. | -.1605508 .1249066 -1.29 0.199 -.4053633 .0842616 |

dln_inc |

L1. | .1459851 .5456664 0.27 0.789 -.9235013 1.215472 L2. | .1146009 .5345709 0.21 0.830 -.9331388 1.162341 |

dln_consump |

L1. | .9612288 .6643086 1.45 0.148 -.3407922 2.26325 L2. | .9344001 .6650949 1.40 0.160 -.369162 2.237962 |

_cons | -.0167221 .0172264 -0.97 0.332 -.0504852 .0170409 -------------+---------------------------------------------------------------- dln_inc |

dln_inv |

L1. | .0439309 .0318592 1.38 0.168 -.018512 .1063739 L2. | .0500302 .0317196 1.58 0.115 -.0121391 .1121995 |

dln_inc |

L1. | -.1527311 .1385702 -1.10 0.270 -.4243237 .1188615 L2. | .0191634 .1357525 0.14 0.888 -.2469067 .2852334 |

dln_consump |

L1. | .2884992 .168699 1.71 0.087 -.0421448 .6191431

STATA面板数据模型操作命令

S T A T A面板数据模型操 作命令 Revised by Jack on December 14,2020

S T A T A 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 εαμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y= αi αi αi εit ~e it ~1-t e i ,8858.0~=θ5.0-~=θ验:是否存在门槛效应 混合面板: reg is lfr lfr2 hc open psra tp gr,vce(cluster sf) 固定效应、随机效应模型 xtreg is lfr lfr2 hc open psra tp gr,fe est store fe xtreg is lfr lfr2 hc open psra tp gr,re est store re hausman fe 两步系统GMM 模型 xtdpdsys rlt plf1 nai efd op ew ig ,lags(1) maxldep(2) twostep artests(2) 注:rlt 为被解释变量,“plf1 nai efd op ew ig ”为解释变量和控制变量;

maxldep(2)表示使用被解释变量的两个滞后值为工具变量;pre()表示以某一个变量为前定解释变量;endogenous()表示以某一个变量为内生解释变量。 自相关检验:estat abond 萨甘检验:estat sargan 差分GMM模型 Xtabond rlt plf1 nai efd op ew ig ,lags(1) twostep artests(2) 内生:该解释变量的取值是(一定程度上)由模型决定的。内生变量将违背解释变量与误差项不相关的经典假设,因而内生性问题是计量模型的大敌,可能造成系数估计值的非一致性和偏误; 外生:该解释变量的取值是(完全)由模型以外的因素决定的。外生解释变量与误差项完全无关,不论是当期,还是滞后期。 前定:该解释变量的取值与当期误差项无关,但可能与滞后期误差项相关。

统计学第四版贾俊平人大_回归与时间序列stata

回归分析与时间序列 一、一元线性回归 11.1 (1)编辑数据集,命名为linehuigui1.dat 输入命令scatter cost product,xlabel(#10, grid) ylabel(#10, grid),得到如下散点图,可以看到,产量和生产费用是正线性相关的关系。 (2)输入命令reg cost product,得到如下图: 可得线性函数(product为自变量,cost为因变量):y=0.4206832x+124.15,即β0=124.15,β1=0.4206832 (3)对相关系数的显著性进行检验,可输入命令pwcorr cost product, sig star(.05) print(.05),得到下图:

可见,在α=0.05的显著性水平下,P=0.0000<α=0.05,故拒绝原假设,即产量和生产费用之间存在显著的正相关性。 11.2 (1)编辑数据集,命名为linehuigui2.dat 输入命令scatter fenshu time,xlabel(#4, grid) ylabel(#4, grid),得到如下散点图,可以看到,分数和复习时间是正线性相关的关系。 2)输入命令cor fenshu time计算相关系数,得下图: 可见,r=0.8621,可见分数和复习时间之间存在高度的正相关性。 11.3 (1)(2)对于线性回归方程y=10-0.5x,其中β0=10,表示回归直线的截距为10;β1=-0.5,表示x变化一单位引起y的变化为-0.5。 (3)x=6时,E(y)=10-0.5*6=7。 11.4 (1) ,判定系数 测度了回归直线对观测数据的拟合程度,即在分数的变差中,有90%可以由分数与复习时间之间的线性关系解释,或者说,在分数取值的变动中,

STATA最常用命令大全

stata save命令 FileSave As 例1. 表1.为某一降压药临床试验数据,试从键盘输入Stata,并保存为Stata格式文件。 STATA数据库的维护 排序 SORT 变量名1 变量名2 …… 变量更名 rename 原变量名新变量名 STATA数据库的维护 删除变量或记录 drop x1 x2 /* 删除变量x1和x2 drop x1-x5 /* 删除数据库中介于x1和x5间的所有变量(包括x1和x5) drop if x<0 /* 删去x1<0的所有记录 drop in 10/12 /* 删去第10~12个记录 drop if x==. /* 删去x为缺失值的所有记录 drop if x==.|y==. /* 删去x或y之一为缺失值的所有记录 drop if x==.&y==. /* 删去x和y同时为缺失值的所有记录 drop _all /* 删掉数据库中所有变量和数据 STATA的变量赋值 用generate产生新变量 generate 新变量=表达式 generate bh=_n /* 将数据库的内部编号赋给变量bh。 generate group=int((_n-1)/5)+1 /* 按当前数据库的顺序,依次产生5个1,5个2,5个3……。直到数据库结束。 generate block=mod(_n,6) /* 按当前数据库的顺序,依次产生1,2,3,4,5,0。generate y=log(x) if x>0 /* 产生新变量y,其值为所有x>0的对数值log(x),当x<=0时,用缺失值代替。 egen产生新变量 set obs 12 egen a=seq() /*产生1到N的自然数 egen b=seq(),b(3) /*产生一个序列,每个元素重复#次 egen c=seq(),to(4) /*产生多个序列,每个序列从1到# egen d=seq(),f(4)t(6) /*产生多个序列,每个序列从#1到#2 encode 字符变量名,gen(新数值变量名) 作用:将字符型变量转化为数值变量。 STATA数据库的维护 保留变量或记录 keep in 10/20 /* 保留第10~20个记录,其余记录删除 keep x1-x5 /* 保留数据库中介于x1和x5间的所有变量(包括x1和x5),其余变量删除keep if x>0 /* 保留x>0的所有记录,其余记录删除

STATA面板数据模型操作命令要点

STATA 面板数据模型估计命令一览表 一、静态面板数据的STATA 处理命令 εαβit ++=x y it i it 固定效应模型 μβit +=x y it it ε αμit +=it it 随机效应模型 (一)数据处理 输入数据 ●tsset code year 该命令是将数据定义为“面板”形式 ●xtdes 该命令是了解面板数据结构 ●summarize sq cpi unem g se5 ln 各变量的描述性统计(统计分析) ●gen lag_y=L.y /////// 产生一个滞后一期的新变量

gen F_y=F.y /////// 产生一个超前项的新变量 gen D_y=D.y /////// 产生一个一阶差分的新变量 gen D2_y=D2.y /////// 产生一个二阶差分的新变量 (二)模型的筛选和检验 ●1、检验个体效应(混合效应还是固定效应)(原假设:使用OLS混合模型)●xtreg sq cpi unem g se5 ln,fe 对于固定效应模型而言,回归结果中最后一行汇报的F统计量便在于检验所有的个体效应整体上显著。在我们这个例子中发现F统计量的概率为0.0000,检验结果表明固定效应模型优于混合OLS模型。 ●2、检验时间效应(混合效应还是随机效应)(检验方法:LM统计量) (原假设:使用OLS混合模型) ●qui xtreg sq cpi unem g se5 ln,re (加上“qui”之后第一幅图将不会呈现) xttest0

可以看出,LM检验得到的P值为0.0000,表明随机效应非常显著。可见,随机效应模型也优于混合OLS模型。 ●3、检验固定效应模型or随机效应模型(检验方法:Hausman检验) 原假设:使用随机效应模型(个体效应与解释变量无关) 通过上面分析,可以发现当模型加入了个体效应的时候,将显著优于截距项为常数假设条件下的混合OLS模型。但是无法明确区分FE or RE的优劣,这需要进行接下来的检验,如下: Step1:估计固定效应模型,存储估计结果 Step2:估计随机效应模型,存储估计结果 Step3:进行Hausman检验 ●qui xtreg sq cpi unem g se5 ln,fe est store fe qui xtreg sq cpi unem g se5 ln,re est store re hausman fe (或者更优的是hausman fe,sigmamore/ sigmaless) 可以看出,hausman检验的P值为0.0000,拒绝了原假设,认为随机效应模型的基本假设得不到满足。此时,需要采用工具变量法和是使用固定效应模型。

Stata命令整理教学内容

Stata 命令语句格式: [by varlist:] command [varlist] [=exp] [if exp] [in range] [weight] [, options] 1、[by varlist:] *如果需要分别知道国产车和进口车的价格和重量,可以采用分类操作来求得, sort foreign //按国产车和进口车排序 . by foreign: sum price weight *更简略的方式是把两个命令用一个组合命令来写。 . by foreign, sort: sum price weight 如果不想从小到大排序,而是从大到小排序,其命令为gsort。 . sort - price //按价格从高到低排序 . sort foreign -price /*先把国产车都排在前,进口车排在后面,然后在国产车内再按价格从大小到排序,在进口车内部,也按从大到小排序*/ 2、[=exp]赋值运算 . gen nprice=price+10 //生成新变量nprice,其值为price+10 /*上面的命令generate(略写为gen) 生成一个新的变量,新变量的变量名为 nprice,新的价格在原价格的基础上均增加了10 元。 . replace nprice=nprice-10 /*命令replace 则直接改变原变量的赋值,nprice 调减后与price 变量取值相等*/ 3、[if exp]条件表达式 . list make price if foreign==0 *只查看价格超过1 万元的进口车(同时满足两个条件),则 . list make price if foreign==1 & price>10000 *查看价格超过1 万元或者进口车(两个条件任满足一个) . list make price if foreign==1 | price>10000 4、[in range]范围筛选 sum price in 1/5 注意“1/5”中,斜杠不是除号,而是从1 到 5 的意思,即1,2,3,4,5。 如果要计算前10 台车中的国产车的平均价格,则可将范围和条件筛选联合使用。 . sum price in 1/10 if foreign==0 5、[weight] 加权 sum score [weight=num] 其中,num为每个成绩所对应的人数 6、[, options]其他可选项 例如,我们不仅要计算平均成绩,还想知道成绩的中值,方差,偏度和峰度等*/ . sum score, detail . sum score, d //d 为detail 的略写,两个命令完全等价 . list price, nohead //不要表头 Stata 数据类型转换 1、字符型转化成数值型 destring, replace //全部转换为数值型,replace 表示将原来的变量(值)更新 destring date, replace ignore(“ ”) 将字符型数据转换为数值型数据:去掉字符间的空格destring price percent, gen(price2 percent2) ignore(“$ ,%”) 与date 变量类似,变量price 前面有美元符号,变量percent 后有百分号,换为数值型时需要忽略这些非数值型字符 2、数值型转化为字符型

(完整)stata命令总结,推荐文档

stata11 常用命令 注:JB统计量对应的p大于0.05 ,则表明非正态,这点跟sktest 和 swilk 检验刚好相反;dta 为数据文件;gph 为图文件;do 为程序文件;注 意stata 要区别大小写;不得用作用户变量名: _all _n _N _skip _b _coef _cons _pi _pred _rc _weight double float long int in if using with 命令:读入数据一种方式 input x y 14 2 5.5 3 6.2 47.7 58.5 end su/summarise/sum x 或su/summarise/sum x,d 对分组的描述: sort group by group:su x %%%%% tabstat economy,stats(max)%返回变量economy的最大值 %%stats括号里可以是:mean,count(非缺失观测值个数),sum(总 和),max,min,range , %% sd ,var ,cv(变易系数=标准差/ 均值),skewness,kurtosis , median,p1(1 %分位 %% 数,类似地有p10, p25, p50, p75, p95, p99),iqr(interquantile range = p75 –p25) _all %描述全部 _N 数据库中观察值的总个数。 _n 当前观察值的位置。 _pi 圆周率π 的数值。 list gen/generate % 产生数列egen wagemax=max(wage) clear use by(分组变量)

[推荐] stata基本操作汇总常用命令

[推荐] Stata基本操作汇总——常用命令 help和search都是查找帮助文件的命令,它们之间的 区别在于help用于查找精确的命令名,而search是模糊查找。 如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在stata的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部 内容。如果你想知道在stata下做某个估计或某种计算,而 不知道具体该如何实现,就需要用search命令了。使用的 方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名 和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容.下面该正式处理数据了。我的处理数据经验是最好能用stata的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在stata 窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出

现“bring do-file editor to front”,点击它就会出现do文件编 辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。capture clear (清空内存中的数据)capture log close (关闭所有 打开的日志文件)set more off (关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。)set matsize 4000 (设置矩阵的最大阶数。我用的是不是太大了?)cd D: (进入数据所在的盘符和文件夹。和dos的命令行很相似。)log using (文件名).log,replace (打开日志文件,并更新。日志文件将记录下所有文件运行后给出的结果,如果你修改了文件内容,replace选项可以将其更新为最近运行的结果。)use (文件名),clear (打开数据文件。)(文件内容)log close (关闭日志文件。)exit,clear (退出并清空内存中的数据。) 实证工作中往往接触的是原始数据。这些数据没有经过整理,有一些错漏和不统一的地方。比如,对某个变量的缺失观察值,有时会用点,有时会用-9,-99等来表示。回归时如果 使用这些观察,往往得出非常错误的结果。还有,在不同的数据文件中,相同变量有时使用的变量名不同,会给合并数

运用stata进行时间序列分析

运用stata进行时间序列分析 1 时间序列模型结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。在一些大规模的联立方程中,情况更是如此。而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。本章将介绍如下时间序列分析方法,ARIMA模型、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.gnp 2)检查是否有断点: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/12 4)追加样本:tsappend use gnp96.dta, clear tsset date list in -10/-1 sum tsappend , add(5) /*追加5个观察值*/ list in -10/-1 sum 2 5)应用:样本外预测: predict reg gnp96 L.gnp96 predict gnp_hat list in -10/-1 6)清除时间标识: tsset, clear tsset, clear 1.2变量的生成与处理 1)滞后项、超前项和差分项 help tsvarlist use gnp96.dta, clear tsset date gen Lgnp = L.gnp96 /*一阶滞后*/ gen L2gnp = L2.gnp96 gen Fgnp = F.gnp96 /*一阶超前*/ gen F2gnp = F2.gnp96 gen Dgnp = D.gnp96 /*一阶差分*/ gen D2gnp = D2.gnp96 list in 1/10 list in -10/-1 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.3日期的处理日期的格式 help tsfmt 基本时点:整数数值,如 -3, -2, -1, 0, 1, 2, 3 .... 1960年1月1日,取值为 0; 3 显示格式: 定义含义默认格式%td 日%tdDlCY %tw 周%twCY!ww %tm 月 %tmCY!mn %tq 季度 %tqCY!qq %th 半年 %thCY!hh %ty 年 %tyCY 1)使用tsset 命令指定显示格式 use B6_tsset.dta, clear tsset t, daily list use B6_tsset.dta, clear tsset t, weekly list 2)指定起始时点 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)自己设定不同的显示格式日期的显示格式 %d (%td) 定义如下: %[-][t]d<描述特定的显示格式> 具体项目释义: “<描述特定的显示格式>”中可包含如下字母或字符 c y m l n d j h q w _ . , : - / ' !c C Y M L N D J W 定义如下: c an d C 世纪值(个位数不附加/附加0)

Stata操作入门

Stata软件基本操作和数据分析入门 第一讲Stata操作入门 张文彤赵耐青 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。

除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。 Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口:位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。 2.命令窗口:位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。

Stata统计分析命令

Stata统计分析常用命令汇总 一、winsorize极端值处理 范围:一般在1%和99%分位做极端值处理,对于小于1%的数用1%的值赋值,对于大于99%的数用99%的值赋值。 1、Stata中的单变量极端值处理: stata 11.0,在命令窗口输入“findit winsor”后,系统弹出一个窗口,安装winsor模块 安装好模块之后,就可以调用winsor命令,命令格式:winsor var1, gen(new var) p(0.01) 或者在命令窗口中输入:ssc install winsor安装winsor命令。winsor命令不能进行批量处理。 2、批量进行winsorize极端值处理: 打开链接:https://www.doczj.com/doc/f84520291.html,/judson.caskey/data.html,找到winsorizeJ,点击右键,另存为到stata中的ado/plus/目录下即可。命令格式:winsorizeJ var1var2var3,suffix(w)即可,这样会生成三个新变量,var1w var2w var3w,而且默认的是上下1%winsorize。如果要修改分位点,则写成如下格式:winsorizeJ var 1 var2 var3,suffix(w) cuts(5 95)。 3、Excel中的极端值处理:(略) winsor2 命令使用说明 简介:winsor2 winsorize or trim (if trim option is specified) the variables in varlist at particular percentiles specified by option cuts(# #). In defult, new variables will be generated with a suffix "_w" or "_tr", which can be changed by specifying suffix() option. The replace option replaces the variables with their winsorized or trimmed ones. 相比于winsor命令的改进: (1) 可以批量处理多个变量; (2) 不仅可以winsor,也可以trimming; (3) 附加了by() 选项,可以分组winsor 或trimming; (4) 增加了replace 选项,可以不必生成新变量,直接替换原变量。 范例: *- winsor at (p1 p99), get new variable "wage_w" . sysuse nlsw88, clear . winsor2 wage *- left-trimming at 2th percentile . winsor2 wage, cuts(2 100) trim *- winsor variables by (industry south), overwrite the old variables . winsor2 wage hours, replace by(industry south) 使用方法: 1. 请将winsor 2.ado 和winsor2.sthlp 放置于stata12\ado\base\w 文件夹下; 2. 输入help winsor2 可以查看帮助文件;

stata统计操作命令

一, 分类数据的整理: 1. 将softdrink 数据粘贴到stata 的data editor ,形成变量var1 2. 输入命令 generate var2 = 1,生成变量var2 3. 点击 statistics —summaries-tables —one way tables 输入var1,OK ,产生 频数分布表;或输入命令 tabulate var1 Total 50 100.00 Sprite 5 10.00 100.00 Pepsi-Cola 13 26.00 90.00 Dr. Pepper 5 10.00 64.00 Diet Coke 8 16.00 54.00Coke Classic 19 38.00 38.00 var1 Freq. Percent Cum.tabulate var1 4. 点击 graphics —bar chart –在main 下 选择sum var2,在catageries 下选择group1 var1,在bars 下,打钩 label with total bar height ,OK 产生条形图。或命令:graph bar (sum) var2, over(var1) blabel(total) s u m o f v a r 2 5. 输入命令 graph pie var2, over(var1) plabel(_all percent) 生成饼形图

二,数值型数据的整理: 1.将wageweb(50个营销副总裁的年薪1000$)粘贴到stata的data editor上。 2.输入:histogram var1, width(10) start(90) percent addlabel norm 或点击graphics—histogram,输入var1 ,在width of bin 输入10,在lower limited 输入90,在add height label 打钩,在density plot 下打钩normal,生成直方图。 3.点击graphics—box plot ,输入var1,生成箱线图 4.点击statistics—summaries-distributional plot—stem-and-leaf display 选择var1 产生茎叶图。 5,点击statistics—summaries-summary-summary statistics,选择var1,在display additional statistics项打钩,产生数据分布的概括性度量指标。

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

时间序列模型 结构模型虽然有助于人们理解变量之间的影响关系,但模型的预测精度比较低。在一些大规模的联立方程中,情况更是如此。而早期的单变量时间序列模型有较少的参数却可以得到非常精确的预测,因此随着Box and Jenkins(1984)等奠基性的研究,时间序列方法得到迅速发展。从单变量时间序列到多元时间序列模型,从平稳过程到非平稳过程,时间序列分析方法被广泛应用于经济、气象和过程控制等领域。本章将介绍如下时间序列分析方法,ARIMA模型、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.gnp 2)检查是否有断点: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/12 4)追加样本:tsappend use gnp96.dta, clear tsset date list in -10/-1 sum tsappend , add(5) /*追加5个观察值*/ list in -10/-1 sum

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<1992 drop 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)

stata常用命令

面板数据估计 首先对面板数据进行声明: 前面是截面单元,后面是时间标识: tsset company year tsset industry year 产生新的变量:gen newvar=human*lnrd 产生滞后变量Gen fiscal(2)=L2.fiscal 产生差分变量Gen fiscal(D)=D.fiscal 描述性统计: xtdes :对Panel Data截面个数、时间跨度的整体描述 Xtsum:分组内、组间和样本整体计算各个变量的基本统计量 xttab 采用列表的方式显示某个变量的分布 Stata中用于估计面板模型的主要命令:xtreg xtreg depvar [varlist] [if exp] , model_type [level(#) ] Model type 模型 be Between-effects estimator fe Fixed-effects estimator re GLS Random-effects estimator pa GEE population-averaged estimator mle Maximum-likelihood Random-effects estimator 主要估计方法: xtreg: Fixed-, between- and random-effects, and population-averaged linear models xtregar:Fixed- and random-effects linear models with an AR(1) disturbance xtpcse :OLS or Prais-Winsten models with panel-corrected standard errors xtrchh :Hildreth-Houck random coefficients models

stata命令大全

调整变量格式: format x1 %10.3f ——将x1的列宽固定为10,小数点后取三位 format x1 %10.3g ——将x1的列宽固定为10,有效数字取三位 format x1 %10.3e ——将x1的列宽固定为10,采用科学计数法 format x1 %10.3fc ——将x1的列宽固定为10,小数点后取三位,加入千分位分隔符 format x1 %10.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表示样本总量增加了,但变量数目不变。one-to-one merge: 数据源自stata tutorial中的exampw1和exampw2 第一步:将exampw1按v001~v003这三个编码排序,并建立临时数据库tempw1 clear use "t:\statatut\exampw1.dta" su ——summarize的简写 sort v001 v002 v003 save tempw1 第二步:对exampw2做同样的处理 clear use "t:\statatut\exampw2.dta" su sort v001 v002 v003 save tempw2 第三步:使用tempw1数据库,将其与tempw2合并: clear use tempw1 merge v001 v002 v003 using tempw2

Stata时间序列笔记

文档结尾是FAQ和var建模的15点注意事项 【梳理概念】 向量自回归(VAR, Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。 VAR模型: VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的要求。 VAR模型对于相互联系的时间序列变量系统是有效的预测模型,同时,向疑自回归模型也被频繁地用于分析不同类型的随机误差项对系统变量的动态影响。如果变量之间不仅存在滞后影响,而不存在同期影响关系,则适合建立VAR模型,因为VAR模型实际上是把当期关系隐含到了随机扰动项之中。 协整: Engle和Granger (1987a)指岀两个或多个非平稳时间序列的线性组合可能是平稳的。假如这样一种平稳的或的线性组合存在,这些非平稳(有单位根)时间序列之间被认为是具有协整关系的。这种平稳的线性组合被称为协整方程且可被解释为变量之间的长期均衡关系。 * 第六讲时间序列分析 *一一目录—— ? d?简介 *6」时间序列数据的处理 d ■平稳时间序列模型 * 6.2 ARIMA 模型 * 6.3 VAR 模型 非平稳时间序列模型一近些年得到重视,发展很快 * 6.4非平稳时间序列简介 * 6.5单位根检验——检验非平稳 * 6.6协整分析一一非平稳序列的分析 黑-自回归条件异方差模型 * 6.7 GARCH模型一一金融序列不同时点上序列的差界 反映动态关系的时间数据顺序不可颠倒 cd d:\stata 10\ado\personal\Net_Course\B6_TimcS *时间序列数据的处理help time *声明时间序列:tsset命令 use gnp96.dta, clear list in 1/20

常用到的stata命令

常用到的sta命令 闲话不说了。help和search都是查找帮助文件的命令,它们之间的区别在于help用于查找精确的命令名,而search是模糊查找。如果你知道某个命令的名字,并且想知道它的具体使用方法,只须在sta的命令行窗口中输入help空格加上这个名字。回车后结果屏幕上就会显示出这个命令的帮助文件的全部内容。如果你想知道在sta下做某个估计或某种计算,而不知道具体该如何实现,就需要用search命令了。使用的方法和help类似,只须把准确的命令名改成某个关键词。回车后结果窗口会给出所有和这个关键词相关的帮助文件名和链接列表。在列表中寻找最相关的内容,点击后在弹出的查看窗口中会给出相关的帮助文件。耐心寻找,反复实验,通常可以较快地找到你需要的内容。 下面该正式处理数据了。我的处理数据经验是最好能用sta的do文件编辑器记下你做过的工作。因为很少有一项实证研究能够一次完成,所以,当你下次继续工作时。能够重复前面的工作是非常重要的。有时因为一些细小的不同,你会发现无法复制原先的结果了。这时如果有记录下以往工作的do文件将把你从地狱带到天堂。因为你不必一遍又一遍地试图重现做过的工作。在sta窗口上部的工具栏中有个孤立的小按钮,把鼠标放上去会出现“bring do-file editor to front”,点击它就会出现do文件编辑器。 为了使do文件能够顺利工作,一般需要编辑do文件的“头”和“尾”。这里给出我使用的“头”和“尾”。 /*(标签。简单记下文件的使命。)*/ capture clear(清空内存中的数据) capture log close(关闭所有打开的日志文件) set mem 128m(设置用于sta使用的内存容量) set more off(关闭more选项。如果打开该选项,那么结果分屏输出,即一次只输出一屏结果。你按空格键后再输出下一屏,直到全部输完。如果关闭则中间不停,一次全部输出。) set matsize4000(设置矩阵的最大阶数。我用的是不是太大了?)

相关主题
文本预览
相关文档 最新文档