搜索
您的当前位置:首页stata 学习笔记(持续更新中) (2011-04-14 212642)

stata 学习笔记(持续更新中) (2011-04-14 212642)

来源:智榕旅游


一、异方差怀特检验

在stata中没有这个命令。联网的情况下,使用“ssc install whitetst”即可下载安装。

以下命令也可以用来找命令,例如找 bpagan 命令

indit bpagan 或

search bpagan, all

二、scalar 标量

scalar a=2 //赋予标量 a的值为 2

dis a+2 //a+2=2+2=4

scalar b=a+3 //b=a+3=2+3=5

di b //结果窗口显示出:5

scalar s=”hello” //标量也可以为字符型

di s //结果窗口显示出: hello

三、异方差的纠正——WLS(weighted least square estimator)

(1)基本思路:

reg y x1 x2 x3 [aw=x1](将x1作为异方差的来源,对方程进行修正)

上式相当于:

reg y/(x1^0.5) 1/(x1^0.5) x1/(x1^0.5) x2/(x1^0.5) x3/(x1^0.5),noconstant

(2)纠正异方差的常用套路(构造h值)

reg y x1 x2 x3

predict u,resid

gen usq=u^2

gen logusq=log(usq)

reg logusq x1 x2 x3

predict g

gen h=exp(g)

reg y x1 x2 x3 [aw=1/h]

异方差hausman检验:

reg y x1 x2 x3

est store A(将上述回归结果储存到A中)

reg y x1 x2 x3 [aw=1/h]

est store B

hausman A B

当因变量为对数形式时(log(y))如何预测y

reg logy x1 x2 x3

predict k

gen m=exp(k)

reg y m,noconstant

m的系数为i

y的预测值=i×exp(k)

四、stata 生成虚拟变量

生成虚拟变量

在很多场合,需要对分别变量(categorical variables)生成虚拟变量。Stata提供的xi命令能很方便地实现这一点。这是Stata最引人入胜的功能之一。本文仅介绍xi命令最基本的用法:

xi [, prefix(string)] i.varname

varname是某一分类变量,设其共有m个可能的取值;string是prefix()指定的前缀。上述指令生成了K-1个虚拟变量:stringvarname_2, stringvarname_3, …, stringvarname_K。其中stringvarname表示字符串string和varname的联合。如果不使用[, prefix(string)]选项,则默认的前缀是_I。

例:数据集中year的取值范围是2001,2002,2003,2004,2005,则指令 xi i.year生成4个虚拟变量 _Iyear_2,_Iyear_3,_Iyear_4,_Iyear_5,分别对应year取值为2002,2003,2004,2005的情形。

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

tab x1,gen(x1) 产生x1的虚拟变量。

gen fsize1=fize==1 产生虚拟变量,如果family size为1,则令fsize1=1,否则为零。下同。

gen fsize2=fsize==2

gen fsize3=fsize==3

gen fsize4=fsize==4

gen fsize5=fsize>=5

问题如下:

问:我在应用xi命令时,将类别变量转换成虚拟变量时,产生的虚拟变量后标注是:naturally coded; _Iinflation_0 omitted

可是我不想让inflation=0表示被忽略,我想让inflation=1表示被忽略,怎么更改呢?

答:那就不要采用xi命令,采用tab命令。

tab inflation, gen(dum_inflation)

drop inflation2

五、动态面板数据编程的主要步骤

首先导入处理模块

ssc install xtabond2

然后导入并定义面板数据

use “1.dta”

xtset id t,yearly

现在进入xtabond2命令介绍:

[by id]:xtabond2 y x [if] [in],[,options]

其中options可以包括:

noconstant 方程中没有常数项

diffvars(varlist),已差分的外生变量

inst(varlist)其他工具变量

lags(#),滞后阶数,系统默认1,例如gmm(x y,laglimits(2 2))即定义最大滞后为2阶。

maxlags(#),工具变量最大滞后阶数

maxldep(#),工具变量的别解释变量的最大滞后阶数

twostep,两步估计

endogenous(varlist[...]),内生变量

vce, gmm robust,注:这两个可以同时使用,但是robust和by id(或t)不可以同时使用

level(#),显著水平,系统默认为95

artests,AR检验滞后阶数,默认为2,其实这个不必注明,gmm会检验

有时候分析必须有nomata 不然无法分析

还可以有

small 小样本t、F统计量

我常使用的编程:

[by id]:xtabond2 y x L.y L.x L2.x,gmm(x y,laglimits(2 2))iv(varlist) nolevel small nomata

因篇幅问题不能全部显示,请点此查看更多更全内容

Top