STATA 常用模型与命令

常用命令

数据相关

生成新数据

利用旧数据定义新数据,注意,如果使用的旧数据为两个及以上,只要其中一个为空值,则新数据也为空值(即空值不会自动转化为0):
gen new_valuename = f(value1,value2,……)
如果要生成时间序列,可以定义原有的时间序列数据:
tsset valueame
如果原本没有,可以定义一列新的时间序列:
gen t=_n
tsset t

删除和修改数据

删除数据:
drop value1 value2 value3 ……
保留数据(除保留的以外全部删除):
keep value1 value2 value3 ……
修改数据:
replace valuename = f(value1 , value2 ,……)
修改数据时也可以将自己作为自变量,比如:
replace age = age -1
则age数据全部减少1
注意,请谨慎使用 drop 命令,该命令不可撤销,数据一旦丢失将无法追回,建议使用do文件减少风险(找不回,只是可以选择不保存,然后不用重输命令)

一键删除全部含有缺失值的对象:
egen mis = rowmiss(_all)
drop if mis

删除重复值(删除重复值后会保留第一个数据):
duplicates drop valuename , force

改变数据类型

excel导入的时候,数值型的数据如果有缺失,可能会被导成数值型,可以利用以下操作强制改为数值型
destring value ,force

条件命令

条件命令为 if ,并且的符号为&,或者的符号为|,否认的符号为!,以下为示例:
drop value1 if value 1 >=1 & value 2>=3
drop value1 if value 1 >=1 | value 2>=3
drop value1 if value 4 != “error”

取对数命令

底数为e取对数:
log(value)
底数为10取对数:
log10(value)
取对数后新数值的系数表示百分比变化,如果回归结果不好,可以尝试对其中相对大的数据列取对数。

输出相关

将不同回归结果输出到同一张表中,其中的省略号为所作的操作,注意nest与逗号之间要有空格,不然会失败(第一条命令为安装命令,已经安装的可以跳过):
ssc install asdoc, replace
asdoc …… , nest replace
asdoc …… , nest append

如果要输出描述统计或者其他结果,则可以用:
asdoc …… , save(docname.doc) title(titlename)

常用回归

非线性选择回归

logit回归

二元选择回归,因变量y为虚拟变量:
logistic y x1 x2 x3……
此外逻辑回归也可以做到分组回归,多元选择回归,在学习完成后在这个博客上将继续补充

probit回归

probit y x1 x2 x3……
与逻辑回归的用法相同,虽然思想不一样,但通常情况下,probit回归估计出的参数值乘以1.814,大致会等于logistic回归中的参数值。

线性回归

OLS

reg y x1 x2 x3……
如果有虚拟变量,可以使用xi命令快捷生成:
xi:reg y x1 x2 x3 i.x4……

Heckman 回归

选择样本模型的一种,这里给出heckman二步法的命令:
heckman y x1 x2 x3 …… , select(xi = z1 z2) twostep
后面的select变量中必须含有至少一种影响xi但对y没有影响的变量,xi为选择变量,这种方法会直接输出第二步回归时的R^2,但无第一步的信息,且默认第二步为OLS回归。可以使用下列方法分布计算:
dprobit xi x1 x2 z1 z2
predict zg if e(sample),xb
gen lambda = normalden(zg) / normal(zg)
reg y x1 x2 x3 …… lambda

符号含义同上,新增lambda变量意为“反Mills比例”,若其为负数则说明确实存在选择问题,使用该方法是合理的。另外,对最后一步可以替换为其他回归,例如2SLS等。

Tobit回归

选择样本模型的一种,只给出一般的tobit命令:
tobit y x1 x2 x3……

2SLS回归(工具变量法)

被解释变量:y

解释变量:x1

控制变量:x2 x3 x4

工具变量:z1 z2

reg x1 z1 x2 x3 x4, robust
ivregress 2sls y x1 x2 x3 x4 (x1= z1 z2), robust

常用检验

在做完回归后进行输入命令:

异方差检验

estat hettest
假如prob > chi2 的值小于0.05 则检验通过

多重共线性检验

estat vif
假如整体的vif小于10则通过

自相关检验

estat dwatson
一般DW值在2附近则通过(也可以用DW表对照自己判断)

格兰杰因果检验

存在滞后项时使用
先下载格兰杰因果检验程序gcause
ssc install gcause
检验x对y的因果关系,以下命令为滞后1、2期,显示其AIC、BIC的取值,一般的检验到滞后三期为止,之后进行y对x的检验,命令类似,不予贴出:
gcause y x,lags(1)
estat ic
gcause y x,lags(2)
estat ic

稳健性检验

通常是通过改变工具变量或是使用不同的计量方法,如果回归结果类似,则说明结果具有稳健性

内生性检验

通常意味着变量之间相互影响,可以考虑改变工具变量或是使用Durbin-Wu-Hausman 方法进行检验
代码为:
estat endogenous
输出结果示例:
在这里插入图片描述
原假设为“变量是外生的”,若p值较大则接受原假设。这里可采用较大的p值以求结果的可靠性。

  • 49
    点赞
  • 341
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值