stata回归分析完整步骤-吐血推荐 联系客服

发布时间 : 星期一 文章stata回归分析完整步骤-吐血推荐更新完毕开始阅读8f1942df05087632311212ba

merge (变量名) using (文件名), keep((变量名))

[第一个变量名即为前面sort后面的变量名,文件名是辅助数据库的名字,后面的变量名是希望提取的变量名] ta _merge

[显示_merge的取值情况。_merge等于1的观察是仅主库有的,等于2的是仅辅助库有的,等于3是两个库都有的。] drop if _merge==2

[删除仅仅来自辅助库的观察] drop merge [删除_merge] save (文件名), replace

[将合并后的文件保存,通常另存]

讲到这里似乎对于数据的生成和处理应该闭嘴了。大家可能更想听听估计、检验这些事情。但我并不想就此止住,因为实际中总是有一些简单套用命令无法轻易办到的特殊要求。此时至少有两条路可以通向罗马:一是找到更高级的命令一步到位;二是利用已知简单命令多绕几个圈子达到目的。

下面讲一个令我刻骨铭心的经历,这也是迄今我所碰到的生成新数据中最繁复的了。原始数据中包含了可以识别属于同一个家庭中所有个人的信息和家庭成员与户主关系的信息。目的是利用这些信息建立亲子关系。初步的构想是新数据库以子辈为观察,找到他们的父母,把父母的变量添加到每个观察上。我的做法如下: use a1,clear

[打开全部样本数据库] keep if

gender==2&agemos>=96&a8~=1&line<10 [保留已婚的一定年龄的女性] replace a5=1 if a5==0

[变量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%的关键点,所以,我们