stata回归结果分析分析怎么显示结果

09-1508-0809-1008-09
02-1004-0604-1301-09
◇本站云标签[变量a5标记和户主的关系。等于0是户主,等于1是户主的配偶。这里不加区分地将户主及其配偶放在一起。] keep if a5==1|a5==3|a5==7 [保留是户主(=1),是户主的子女(=3),或是户主的儿媳(=7)的那些人。] ren h hf [将所需变量加上后缀f,表示女性] ren line lf [将所需变量加上后缀f,表示女性] sort wave hhid save b1,replace [排序并保存] keep if a5f==1 [留下其中是户主或户主配偶的] save b2,replace [保存] use b1,clear keep if a5f==3|a5f==7 save b3,replace [留下其中是户主女儿或儿媳的并保存] use a3,clear [打开与户主关系是户主子女的儿童数据库] sort wave hhid merge wave hhid using CHNS01b2, keep(hf lf) ta _merge drop if _merge==2 sort hhid line wave [处理两代户,将户主配偶女性库与儿童库合并] by hhid line wave: egen x=count(id) drop x _merge [计算每个年份家庭匹配的情况,x只取值1,表明两代户匹配成功] save b4,replace [保存] use a4,clear [打开与户主关系是户主孙子女的儿童数据库] sort wave hhid merge wave hhid using CHNS01b3, keep(a5f a8f schf a12f hf agemosf c8f lf) ta _merge drop if _merge==2 [处理三代户,将户主女儿或儿媳女性库与孙子女儿童库合并] sort hhid line wave by hhid line wave: egen x=count(id) gen a=agemosf-agemos drop if a<216&x==3 [计算每个年份家庭匹配的情况,x不只取1,三代户匹配不完全成功。删除不合理的样本,标准是年龄差距和有三个可能母亲的那些家庭。] gen xx=x[_n+1] gen xxx=x[_n-1] gen y=lf if x==1 replace y=lf[_n+1] if x==2&xx==1 replace y=lf[_n-1] if x==2&xxx==1 keep if x==1|(lf==y&x==2) [对于有两个可能母亲的儿童,有相同编码的女性出现两次的情况。上面的做法是为了保证不删除这部分样本。] drop a x xx xxx y _merge save b5,replace [保存合并后的数据库] [对男性数据的合并完全类似,不赘述。] log close exit,clear 我的方法是属于使用简单命令反复迂回地达到目的那一类的,所以非常希望有更简便的方法来替代。不过做实证时往往不是非常追求程序的漂亮,常常也就得过且过了。 stata强大的功能体现在它可以方便地回归微观数据。而回归也是微观实证中最重要的方法。下面就开始讲stata中和回归有关的常用命令。 基本回归方法有两种:线性设定下的最小二乘法(OLS)和两阶段最小二乘法(2SLS)。他们在实证分析中应用广泛,十分详细地掌握这两种方法是实证研究的基本要求。讲解的顺序是先依次介绍如何在stata中实现OLS和2SLS估计,然后再分析如何在实际问题中选择合理的方法。后一部分受Joshua Angrist教授的影响很大,因此,在后面引用他的思想时会详细注明。 假设你已经清楚地了解待估计方程的形式,那么回归命令的基本格式就十分简单明了: reg (被解释变量) (解释变量1) (解释变量2)?? 方程中的相应变量可以简单地放在reg的后面。执行上面的命令后,stata会出现两个表格,分别报告一些方差分析和回归的参数估计结果。我们最关心的是参数的大小和显著性,这在第二个表格中列出。表格的最左边一栏列出了解释变量,在它的右边是相应的系数估计值,然后依次是估计值的标准误,t比率,原假设为系数的真实值等于零时错误地拒绝该假设的概率――p值,以及该估计值的置信度为(1-5%)的置信区间。 我看到回归结果的第一眼是瞄着最关心的解释变量的符号、大小和显著性。看看解释变量影响的方向和大小是不是符合理论的预期,是不是合乎常识,以及这个估计值是不是显著。标记显著性的统计量是t统计量,在经典假设下,它服从t分布。t分布和标准正态分布形状很相似,但它的“尾巴”要比标准正态分布的“肥”一些,在样本量比较小的时候尤其明显,当样本量趋于无穷时,t分布的极限分布是标准正态分布。大家对标准正态分布的分布函数上一些关键点比较熟悉,比如,1.96是97.5%的关键点,1.64是95%的关键点,所以,我们希望知道什么时候可以安全地使用标准正态分布。下表列出了一些小自由度下二者的差异(Beyer 1987 “CRC Standard Mathematical Tables, 28th ed.”;Goulden 1956 “Methods of Statistical Analysis, 2nd ed.”)。可以看出,自由度超过一百时,二者的差别就已经相当小了。所以,当样本量的数量级是100个或以上时,可以直接认为t比率服从标准正态分布,并以此做检验。 90% 95% 97.5% 99.5% 1 3.75 12.7 2 1.99 4.84 3 1.36 3.91 4 1.85 2.09 5 1.05 2.14 10 1.46 2.27 30 1.26 2.00 100 1.23 1.89 1.87 1.88 读者读到这里可能会笑话我了,stata不是已经报告了t检验的p值和置信区间了吗?为什么不直接察看这些结果呢?原因在于实证文献往往只报告参数的估计值和标准误,需要读者自己将估计值和标准误相除,计算显著性。而且当你在写实证文章时,也应该报告参数的估计值和标准误。这比报告估计值和它的p值更规范。 伴随回归命令的一个重要命令是predict。回归结束后,使用它可以得到和回归相关的一些关键统计量。语法如下: predict (新变量名), (统计量名) 这里的统计量名是一些选项。常用的选项有:xb(回归的拟合值。这是默认选项,即不加任何选项时,predict赋予新变量前一个回归的拟合值。);residuals(残差);leverage(杠杆值)。下面具一个例子来解释predict的用法。 有时样本中的一个特别的观察值会显著地改变回归结果。这样的观察值可以笼统地分为三类:outliers,leverage和influence。Outliers是针对残差而言的,指那些回归中残差很大的观察;leverage是针对解释变量而言的,是解释变量相对其平均值偏里很大的观察;influence是针对估计结果而言的。如果去掉这个观察会明显地改变估计值,那么这个观察就是一个influence。Influence可以看作outliers和leverage共同作用的结果。异常观察可能是由于样本的特性,也可能是因为录入错误。总之,我们希望找到它们。 回归后的predict命令可以发现这些异常观察(命令来自UCLA的“Regression with Stata”第二章)。发现outliers,leverage和influence的命令如下: predict rs, rstudent predict l, leverage predict csd, cooksd predict df, dfits 这些统计量都有相应的关键值。当统计量(或其绝对值)超过关键值时就应该仔细检查相应的观察,确认是否属于录入错误。rstudent是用来发现outliers的统计量,其关键值是2,2.5和3。leverage 是用来发现leverage 的统计量,其关键值是(2k+2)/n,其中k解释变量的个数,n是样本量。Cooksd和DFITS是探测influence的统计量。它们都综合了残差和杠杆的信息,而且二者非常类似,只是单位不同,因而给出的结果也差不多。Cooksd的关键值是4/n。DFITS的关键值是2*sqrt(k/n)。 (续) 在使用最小二乘法估计时,两个通常被质疑的问题是数据是否存在多重共线性和异方差。 多重共线性是指解释变量之间的相关性。通常我们假设解释变量之间是相关的,而且允许解释变量存在相关性,并控制可以观察的因素正是OLS的优点。如果把多重共线性看作一个需要解决的问题,那么需要把它解释为相关性“较大”。这样,变量之间没有相关性不好,相关性太大也不好,优劣的分割真是颇费琢磨。而且多重共线性并没有违反任何经典假定,所以,这个问题没有很好的定义。本质上讲,在样本给定时,多重共线性问题无法解决,或者说它是一个伪问题。 先看一下为什么解释变量之间的相关性大会有问题。在OLS回归的经典假设(除正态假设外)下,某个系数的OLS估计值的总体方差与扰动项的方差成正比,与解释变量的总方差(一般地,我们视解释变量为随机变量)成反比,是该变量对其它解释变量回归的拟合优度的增函数。这个拟合优度可以理解为该变量的总变动中可以由其他解释变量解释的部分。当这个值趋近于1时,OLS估计值的总体方差趋向于无穷大。总体方差大时,样本方差也大的概率就大,t检验就会不准确。尽管多重共线性没有违背任何经典假设,但是OLS方法有时无法准确估计一些参数。这个问题可以理解为数据提供的信息不足以精确地计算出某些系数。最根本的解决方法当然是搜集更大的样本。如果样本给定,也许我们应该修改提出的问题,使我们能够根据样本数据做出更精确的判断。去掉一个解释变量,或者合并一些解释变量可以减少多重共线性。不过要注意的是去掉相关的解释变量会使估计有偏。 实际操作时使用方差膨胀系数衡量解释变量的多重共线性。我们只需在回归之后使用vif命令就可以得到方差膨胀系数。在命令行中敲入vif并回车,stata会报告一个包含所有解释变量的方差膨胀系数的表格,如果方差膨胀系数大于10,这个变量潜在地有多重共线性问题。 异方差是一个更值得关注的问题。首先简单地介绍一下异方差会带来哪些问题。第一、异方差不影响OLS估计的无偏性和一致性。第二、异方差使估计值方差的估计有偏,所以此时的t检验和置信区间无效。第三、F统计量不再服从F分布,LM统计量不再服从渐进卡方分布,相应的检验无效。第四、异方差使OLS不再是有效估计。总之,异方差影响推断是否有效,降低估计的效率,但对估计值的无偏性和一致性没有影响。经济类数据STATA在多元回归中的完整步骤
一般最小二乘回归分析共包括四个过程,分别是统计描述、相关分析、多元回归、共线性诊断、异方差分析,如果存在异方差则用加权最小二乘回归,如果存在共线性则使用岭回归,或者增加样本量。
destring Stkcd,gen(id) &将公司类型转为数值型
sum &x y D x2 x3 Market
des 描述变量类型及定义
pwcorr_a &y x1 x2 x3 D Market , star1(0.01)
star5(0.05) star10(0.1) 相关矩阵分析,需要安装pwcorr_a的程序
tsset id year & & 定义面板
xtgraph y, av(mean) &被解释变量的面板趋势图
xtgraph x1, av(mean)
&line y year &线性图
twoway(scatter y x1) 散点图
graph matrix y x1 x2 x3 菜点矩阵图
reg y x1 x2 x3 i.year 最小二乘回归
vif &共线性诊断
reg y x1 x2 x3 if year==2008 &分年份回归
est store m2008 &存贮回归结果
reg y x1 x2 x3 if year==2009
est store m2009
reg y x1 x2 x3 if year==2010
est store m2010
reg y x1 x2 x3 if year==2011
est store m2011
reg y x1 x2 x3 if year==2012
est store m2012
reg y x1 x2 x3 if year==2013
est store m2013
reg y x1 x2 x3 if year==2014
est store m2014
local model "m m m m2014"
esttab `model', b(%6.3f) t(%6.2f) r2(%6.2f) mtitle(`model')
star(* 0.1 ** 0.05 *** 0.01) 多个回归结果展示
reg y x1 x2 x3 i.year
rvfplot 异方差检验图,残差与被解释变量趋势图
reg y x1 x2 x3 i.year
imtest,white 怀特检验,检验异方差,P小于0.05说明有异方差。
如果存在异方差,则使用加权最小二乘回归:
reg y x1 x2 x3
predict e1,res &预测残差值
g lne2=log(e2)
reg lne2 y,noc
predict lne2f
g e2f=exp(lne2f)
reg y x1 x2 x3 i.year [aw=1/e2f]
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 stata回归结果分析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信