一、异方差怀特检验
在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
因篇幅问题不能全部显示,请点此查看更多更全内容