STATA
- 常用命令
- 数据相关
- 生成新数据
- 删除和修改数据
- 改变数据类型
- 条件命令
- 取对数命令
- 输出相关
- 常用回归
- 非线性选择回归
- logit回归
- probit回归
- 线性回归
- OLS
- Heckman 回归
- Tobit回归
- 2SLS回归(工具变量法)
- 常用检验
- 异方差检验
- 多重共线性检验:
- 自相关检验:
- 格兰杰因果检验:
- 稳健性检验:
- 内生性检验:
常用命令
数据相关
生成新数据
利用旧数据定义新数据,注意,如果使用的旧数据为两个及以上,只要其中一个为空值,则新数据也为空值(即空值不会自动转化为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为选择变量
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 方法进行检验