祖国妈妈过生日啦~爬虫俱乐部祝祖国繁荣富强,也祝读者宝宝们节日快乐!在这个特殊的节日里,朋友圈旅行摄影大赛开始了,不知道小伙伴们有没有参赛?不过在大家各种浪的时候,爬虫酱要提醒大家不要忘记我们厉害的stata哥!今天,我们要分享给大家两个很实用的命令——Center和Suest。
(1)Center: 标准化与中心化处理
有时模型中的变量经过偏相关系数表(或vif检验),我们会发现其存在多重共线(尤其是引入多变量的交叉项时)。对于这种情况,其中一个解决方案便是将存在共线的变量进行重新定义,center便是一种重新定义变量的方法。其具体的定义及处理过程参见help center(再次强烈推荐查看code本身的help)。
. ssc install center //安装外部命令
. help center
. sysuse auto,clear
单个变量的中心化
. center mpg,gen(c_mpg) //括号中的名字可自行设置
多变量中心化
. center mpg price weight //自动生成前缀带c_var的新变量。
按特定要求中心化(诸如经常使用的年度行业:bysort year ind:center)
. bysort rep78: center mpg price weight, replace //可以与上述结果比较
变量的标准化
. center mpg price weight, prefix(z_) standardize // 其与单纯中心化的区别
. sum *mpg,d //比较中心化与标准化的差异
中心化处理后的c_var与原变量除均值不同外,其他基本一致,而标准化后的z_var还会改变变量的偏度、峰度及其分布。
(2)Suest
大家平常跑数据时,不管是控制变量还是主变量,最希望看到的就是“满天星”。但是有时候“满天星”并非是我们最期望的结果,我们可能希望通过某个主变量分组后,一个显著(较大的系数+较强的显著性),一个不显著(较小的系数+较小的显著性或不显著),但这种完美的结果大都难以实现,此时回归模型中某一变量系数的差异性检验就显得尤为重要(因为前期很少接触该命令,大抵是自己的回归结果都比较幸运还不需要它),下面简单得介绍一下该检验。因为笔者也是初次学习,如有错误请同仁批评指正!
首先,help suest,看看命令的具体作用如下(在这也借此机会提醒stata的使用者help功能很强大,一般的命令如何操作,先help自行学习,实在不明白时再提问,既有助于相互交流、共同学习,还利于提高自学能力及答疑效率):
下面具体以以下几个例子进行讲解(大都来自其官方的example改编):
Example 1: A Hausman test(注意其与suest的区别,Description中有介绍哦)
. webuse sysdsn4
. mlogit insure age male
. estimates store m1, title(all three insurance forms)
. mlogit insure age male if insure != "Uninsure":insure
. estimates store m2, title(insure != "Uninsure":insure). mlogit insure age male if insure != "Prepaid":insure
. estimates store m3, title(insure != "Prepaid":insure). hausman m2 m1, alleqs constant
注意原假设(H0):系数不存在显著性差异,如果拒绝原假设则认为系数是存在明显差异的。由结果可知m1与m2是不存在明显的差异。
. hausman m3 m1, alleqs constant
提示需要用suest进行进一步的test。
Example 2: Do coefficients vary between groups? ("Chow test")
. webuse income
. regress inc edu exp if male
. estimates store Male
. regress inc edu exp if !male
. estimates store Female
. suest Male Female ,vce(cluster famid) //vce 部分可加可不加,具体参见help。
. test [Male_mean = Female_mean] //尤其注意标红部分的名称需与储存统一。
Example 3: A nonlinear Hausman-like test(注意回归方法和因变量都是不同的哦!)
. webuse income
. probit promo edu exp
. estimates store Promo
. regress inc edu exp
. estimates store Inc
. suest Promo Inc
. testnl [Promo_promo]edu/[Promo_promo]exp = [Inc_mean]edu/[Inc_mean]exp
Example 4: Using suest with survey data, the svy prefix(调查数据)
. webuse nhanes2f
. svyset psuid [pw=finalwgt], strata(stratid) //suest之前的svyset处理(参见help)
. svy:ologit health female black age age2 //有序回归
. estimates store H5
. gen health3 = clip(health,2,4) //分段函数的操作,详情help clip
. svy: ologit health3 female black age age2
. estimates store H3
. suest H5 H3
. test [H5_health=H3_health3]
. test ([H5_cut2]_cons=[H3_cut1]_cons) ([H5_cut3]_cons=[H3_cut2]_cons)
今天,我们推送了两个很实用的数据处理命令,小伙伴们快实践看看,把实践结果po图到票圈儿参加摄影大赛,绝对秒杀全场!最后,再次祝大家节日快乐,爬虫俱乐部陪您欢度国庆!
我们团队原来的微信公众号是“数据处理援助中心”,现在正式搬家到“爬虫俱乐部”,欢迎关注。新的公众号开始,我们推出有问必答栏目,对您提出的问题,我们会尽力回答,并通过推文的形式进行发布。我们也欢迎各位粉丝向公众号投稿。
(编辑 @强宇曦)
欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:xueyuan19920310@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
3)如果大家遇到关于stata处理分析数据的问题,也可以给该邮箱写邮件,邮件名称为“提问”+“问题名称或者关键词”,我们会在后期的推文里给予解答。
长按二维码关注公众号
微信扫一扫
关注该公众号