现在越来越多人有写论文的需求啦,经管领域的论文中,实证研究已成为必备操作。有了下面的代码,直接上手跑数据!

一、分组回归。

实证中,常常要分行业分年度、分省份分年度等分组回归,保存出回归出来的某些参数。statsby就是一个有用的命令,命令语句格式为:

statsby [exp_list] [, options ]: command

其具体内容,请参见STATA的help文件,即:

help statsby

在分组回归中,statsby最重要的是如下三个部分:

(1)[, options ],应使用分组变量,如:“,by(year industry)”;

(2)command,应选用相应的回归命令,如果是OLS,那么就为“reg y x1 x2”;

(3)[exp_list],要统计的相应参数,如:系数拟合值、拟和优度、自由度等,可参见对应command的help文件。

综合起来,命令可以写为:

use “d:\statsbydata.dta”,clear

sort year industy

Statsby _b _se e(r2) e(r2_a) e(df_m) e(df_r) e(F) e(N), by(year industry) saving(d:\statsbyresults.dta, replace): regress y x1 x2

其中:

d:\statsbydata.dta为举例使用数据库,包括变量为:y、x1、x2、year和industry,其中year和industry是用来做分组回归的分组标识变量;

sort是排序命令,建议养成好习惯对分组变量排序,为了后续研究做准备。

_b为各变量的回归系数;

_se为各变量的标准误;

e(r2)为回归方程的拟和优度r2;

e(r2_a)为回归方程的调整后r2;

e(df_m)为回归方程的模型自由度,一般的统计、计量的书籍都记为(K-1);

e(df_r)为回归方程的剩余自由度,一般的统计、计量的书籍都记为(n-K);

e(F)为回归方程的F值;

e(N)为进入回归方程的有效样本数N,一般的统计、计量的书籍都记为n,也即前述提及的n;

by(year industry),使用变量year和industry作为分组变量,进行分组统计; saving(d:\statsbyresults.dta, replace),将结果保存,也可以保存在临时表里;

regress y x1 x2,进行回归,这部分可以参看regress命令自身格式进行扩充。

此命令结束后,将在D盘下产生一个名字为statsbyresults.dta的文件,上述统计量都将在此文件中。这里需要说明的是_b和_se是系统生成的向量,因此不能随便赋给变量,而e()

则是标量,可以赋值给一个变量,譬如在命令中可以写:“R_square=e(r2)”,这样在statsbyresults.dta就会出现一个R_square,替代原有的系统默认生成的变量。即使是系统生成的变量,也不用担心,因为变量的label可以区分具体的变量意义。

二、使用statsby命令后计算各回归方程中各回归系数的t值和p值

这里又发现了新的问题,首先在regress命令结果中的e()函数中,没有t值和对应的p值,这对于想验证相应分组模型对应的系数是否显著或是模型是否显著就很麻烦,因此,这里只能通过t值的计算公式和STATA提供的t检验的p值函数。具体步骤如下:

首先切换到结果表,

save “d:\statsbydata.dta”,replace

use “d:\statsbyresults.dta”, clear

其中,save命令使用要十分小心,会把原有的数据库内容改变,因此存在大量的STATA的使用讲解中都提及到如何避免这个问题的处理,请自行参考。本文为了说明方便,简化处理。

回归系数的t值公式为:ti?其中: ?ise(?i)t(n?K)

?i是第i个回归系数,可以在结果表中找到相应变量,以“_b_”开头的、以对应回归变量名为结尾的,如:“_b_x1”为x1的回归系数、“_b_cons”为截距项回归系数;

se(?i)为其标准误,可以在结果表中找到相应变量,以“_se_”为开头的、以对应回归变量名为结尾的,如:“_se_x1”为x1的回归系数的标准误、“_se_cons”为截距项回归系数的标准误;

n?K为回归方程剩余自由度,即e(df_r),如果没有赋给变量,那么系统自动生成一个变量,其label会标注“e(df_r)”,此处回归的系统变量为_eq2_stat_4。

因此,计算x1回归系数的t值和p值可以用如下的命令:

gen x1_t=_b_x1/_se_x1

gen x1_p=ttail(_eq2_stat_4,abs(x1_t))

其中:

ttail(e(df_r),abs(t_value))为计算t检验值对应的p值函数,具体函数要求请参考help文件;abs()为取绝对值函数。

这样,d:\statsbyresults.dta文件中生成了两个新的变量x1_t和x1_p,分别为x1回归系数的t值和对应的p值。

标准化:egen x22=std(x2)

. sum x22

三、使用statsby命令后计算各回归方程F值对应的p值

同t值和对应的p值一样,e()中也没有给出各个模型的F值对应的p值,因此需要通过STATA提供的F检验的p值函数来计算生成。具体步骤如下:

r2/(K?1)回归方程的F值公式为:F?, (1?r2)/(n?K)

其中:

r2为回归方程拟和优度,即e(r2);

K?1为回归方程的模型自由度,即e(df_m);

n?K为回归方程的剩余自由度,即e(df_r)。

而计算F值相应p值的函数为Ftail(e(df_m),e(df_r),e(F))。

按照此分组回归模型形成的结果数据中,使用系统生成变量分别为:_eq2_stat_3为e(df_m)、_eq2_stat_4为e(df_r)、_eq2_stat_5为e(F),那么F值的相应p值为:

gen PF=Ftail(_eq2_stat_3, _eq2_stat_4, _eq2_stat_5)

则在d:\statsbyresults.dta文件中生成了一个新的变量PF,为相应回归方程的F值对应的p值。

四、使用statsby命令后如何生成各组回归方程的拟合值和残差等

在实际分组回归后,研究还需要保存相应因变量的拟合值或是方程的残差,如果不使用statsby的话,需要一个一个回归,然后使用predict命令,如:

reg y x1 x2 if year==2002 & industry==“A0“

predict yhat2002A0

predict resid2002A0,residuals

这太麻烦了,还要面临产生变量等问题。在使用statsby命令后,可以通过回归方程的回归系数直接计算相应的拟合值和残差,具体步骤如下:

首先打开d:\statsbydata.dta数据:

use “d:\statsbydata.dta”,clear

merge m:1 year industry using “d:\statsbyresults.dta”

gen yhat=_b_cons+_b_x1*x1+_b_x2*x2

gen resid=y-yhat

其中,merge是合并命令,m:1是多对一合并,要求using后的数据库必须按照year和industry排序并且是唯一排序,由于statsby命令结果自然是排好序的,这里就没有再排序。_b_cons、_b_x1和_b_x2分别是截距、x1的回归系数和x2的回归系数。合并的结果是,所有在d:\statsbydata.dta的变量数据都在year和industry的分类基础上合并到对应的样本中。这样就完成了分组回归后的因变量拟合值和残差的生成。

本文仅是就在STATA中使用statby完成分类回归工作及相应结果生成的简单描述,其他复杂内容,可以参考相应的help文件和编程知识进一步扩展。

四、导出回归结果(括号T值)

est store m1

outreg2 [m1]using myfile.doc,tstat e(r2_a,F) bdec(3) tdec(2)

五、缩尾winsor

先通过help winsor2安装需要的winsor2,

默认1%-99%进行缩尾,并生成后缀为_win的新变量,代码如下:

winsor2 Y X1 X2 X3 X4 ,suffix(_win) label

六、描述性分析和相关分析

描述性:sum varname

相关性:pwcorr_a   varname
pwocrr_a命令是经管之家连老师的教程,需要自行下载安装,使用该命令可以输出带*的相关性系数,*表示显著性水平。pwcorr_a命令更好用,可以显示相关性显著的*号。

七、方差膨胀因子VIF 这个现在论文中不怎么用了,但是也可以加上

回归之后输estat vif,显示模型vif,过大就存在多重共线

八、求中位数或分位数

  1. egen x_med = median(x)
  2. egen x_p50 = pctile(x), p(50)

九、取绝对值

原始变量为x,产生一列新的变量,比如为y等于x的绝对值,那么命令为
gen y=abs(x)
参考 help abs或者help functions

十. 取滞后项或未来一期项

滞后:gen newvar=L.oldvar

未来一期:gen newvar=F.oldvar

asdoc sum,replace

asdoc sum,append 新增到已有的表中

stata做计量入门常用代码一览!相关推荐

  1. python入门常用代码

    1.print 直接输出 >> print(1) 1 >>> print("Hello World") Hello World 各种变量 >&g ...

  2. 【深度学习】PyTorch常用代码段合集

    来源 | 极市平台,机器学习算法与自然语言处理 本文是PyTorch常用代码段合集,涵盖基本配置.张量处理.模型定义与操作.数据处理.模型训练与测试等5个方面,还给出了多个值得注意的Tips,内容非常 ...

  3. 关于《应用STATA做统计分析(原书第8版)》一书中`chart()‘语句问题

    最近由于计量方面的需要,开始自学stata,上网看了很多大佬的推荐,决定使用<应用STATA做统计分析(原书第8版)>作为入门的第一本教材.由于本人使用的是stata15,而<应用S ...

  4. stata命令汇总_Stata常用命令应知应会(500条)

    推荐阅读: Stata空间计量命令汇总及操作手册 20个常用的计量经济学R & Stata命令对比汇总 Stata:你不可不知的25个导入导出数据命令汇总(一) 一文读懂stata模型汇总入门 ...

  5. iphone常用代码锦集(二)

    详细内容 OpenGL 及 着色器语言 入门 详 详细内容 OpenGL教程三 增加投影和简单 详细内容 OpenGL教程二 添加着色器(sha 现在的位置: 首页 > 技术 > Ipho ...

  6. 空间计量 python_一文读懂空间计量入门之空间数据、权重矩阵、空间统计、空间模型等简介...

    原标题:一文读懂空间计量入门之空间数据.权重矩阵.空间统计.空间模型等简介 来源:计量经济学服务中心编辑整理,转载请联系 1 前言 空间分析起源于地理学.空间经济学和相关学科.到目前为止,它被认为是专 ...

  7. GitHub上7000+ Star的Python常用代码合集

    作者 | 二胖并不胖 来源 | 大数据前沿(ID:bigdataqianyan) 今天二胖给大家介绍一个由一个国外小哥用好几年时间维护的Python代码合集.简单来说就是,这个程序员小哥在几年前开始保 ...

  8. 收藏!PyTorch常用代码段合集

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Jack Stark,来源:极市平台 来源丨https://zhu ...

  9. PyTorch常用代码段合集

    ↑ 点击蓝字 关注视学算法 作者丨Jack Stark@知乎 来源丨https://zhuanlan.zhihu.com/p/104019160 极市导读 本文是PyTorch常用代码段合集,涵盖基本 ...

最新文章

  1. Django源码分析1:创建项目和应用分析
  2. python无参数装饰器_python_之无参装饰器_01
  3. c#入门经典笔记第十章
  4. 通用网页调用本地应用程序方案(windows平台)
  5. 微软公司将在英国开设三个数据中心
  6. 经典案例:如何优化Oracle使用DBlink的SQL语句
  7. JDK17下载和配置及官网地址教程(新版JDK12之后,较简单)
  8. python识别手写数字knn_手写数字识别以及Python sklearn KNN实现
  9. git push时提示邮箱格式不正确
  10. 在我的垃圾电脑上U盘安装ubuntu单系统
  11. 达梦数据库的表空间管理
  12. [HCIP] 04 - 路由控制之策略路由
  13. Leetcode 36:有效的数独(超详细的解法!!!)
  14. 京东平台的产品标题的优化有什么技巧?
  15. 数据库系统概念第六版 第五章练习题 2 4
  16. java 蓝桥杯 蚂蚁感冒
  17. Camouflaged Object Detection阅读笔记
  18. 汉语编程的时代会到来吗?
  19. CH375 usb芯片的引脚图及中文资料
  20. 使用STM32CubeMX生成USB驱动程序 USB无法检测到的问题 生成USB驱动

热门文章

  1. python中false是什么意思_真==真是什么意思!=在Python中为False,如何找出?
  2. 关闭虚拟按键导航栏方法一
  3. 2.3 (reverse)
  4. 如来问:“你们带U盘了么”
  5. What I've learnt today(from youtube videos and comments)
  6. HTML5获取手机摄像头拍照
  7. 2021上海大学计算机科学与技术考研科目,2021上海大学计算机科学与技术考研真题经验参考书...
  8. Numbers Mac表格的功能与介绍
  9. python判断邮件发送成功_(原创)python发送邮件
  10. 【软件工具】Zotero+坚果云实现多台电脑同步