一、异方差怀特检验
在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
相关推荐: