Stata统计分析常用命令汇总一、winsorize极端值处理范围:一般在1%和99%分位做极端值处理,对于小于1%的数用1%的值赋值,对于大于99%的数用99%的值赋值。
1、Stata中的单变量极端值处理:stata 11.0,在命令窗口输入“findit winsor”后,系统弹出一个窗口,安装winsor模块安装好模块之后,就可以调用winsor命令,命令格式:winsor var1, gen(new var) p(0.01) 或者在命令窗口中输入:ssc install winsor安装winsor命令。
winsor命令不能进行批量处理。
2、批量进行winsorize极端值处理:打开链接:/judson.caskey/data.html,找到winsorizeJ,点击右键,另存为到stata中的ado/plus/目录下即可。
命令格式:winsorizeJ var1var2var3,suffix(w)即可,这样会生成三个新变量,var1w var2w var3w,而且默认的是上下1%winsorize。
如果要修改分位点,则写成如下格式:winsorizeJ var 1 var2 var3,suffix(w) cuts(5 95)。
3、Excel中的极端值处理:(略)winsor2 命令使用说明简介:winsor2 winsorize or trim (if trim option is specified) the variables in varlist at particular percentiles specified by option cuts(# #). In defult, new variables will be generated with a suffix "_w" or "_tr", which can be changed by specifying suffix() option. The replace option replaces the variables with their winsorized or trimmed ones.相比于winsor命令的改进:(1) 可以批量处理多个变量;(2) 不仅可以winsor,也可以trimming;(3) 附加了by() 选项,可以分组winsor 或trimming;(4) 增加了replace 选项,可以不必生成新变量,直接替换原变量。
范例:*- winsor at (p1 p99), get new variable "wage_w". sysuse nlsw88, clear. winsor2 wage*- left-trimming at 2th percentile. winsor2 wage, cuts(2 100) trim*- winsor variables by (industry south), overwrite the old variables. winsor2 wage hours, replace by(industry south)使用方法:1. 请将winsor2.ado 和winsor2.sthlp 放置于stata12\ado\base\w 文件夹下;2. 输入help winsor2 可以查看帮助文件;二、描述性统计1、summarize命令格式:su、sum或者summarize [varlist] [if] [in] [weight] [,options]如果summarize或sum后不加任何变量,则默认对数据中的所有变量进行描述统计options 选项:detail 表示产生更加详细的统计变量Separator(n)表示每n个变量画一条分界线,n=0表示禁止使用分界线Summarize 描述统计输出表中包含:样本容量、平均数、标准差、最小值和最大值2、tabstat命令格式:tabstat [varlist] [if] [in] [weight] [,options]options 选项:stat(statname) 表示设定所需要的统计量col(stat)或c(s)表示将结果报表转置统计量:mean:平均数count/n:观测值数目sum:加总max/min :最大值/最小值range :极差sd:标准差cv:变异系数semean :平均标准误差skewness:偏度var :方差kurtosis :峰度median/p50:中位数p# :#%百分位数例如:tabstat[varlist],stat(count mean sd median min max range) col(stat)3、描述性统计结果输出到word或Excel用sum做的描述性统计:logout, save(miaoshutongji) word replace:sum用tabstat做的描述性统计:logout, save(miaoshutongji) word replace:tabstat [varlist] ,stat(count mean sd median min max range) col(stat)分组描述:bysort var:三、相关性分析(一)相关性分析1、Pearson相关系数命令格式:correlate(简写:cor或corr)[varlist] [if] [in] [weight] [,options]2、spearman相关系数命令格式:spearman[varlist], stats(rho p)3、在Stata中,命令corr用于计算一组变量间的协方差或相关系数矩阵;4、命令pwcorr可用于计算一组变量中两两变量的相关系数,同时还可以对相关系数的显著性进行检验;option选项中加上sig可显示显著性水平:pwcorr[varlist] ,sig5、命令pcorr 用于计算一组变量中两两变量的偏相关系数并进行显著性检验。
6、Spearman 和Pearson 检验同在一个表的命令:corrtbl[varlist] ,corrvars ([varlist])输出结果中,上三角为Spearman相关系数和显著水平,下三角为Pearson系数和显著水平。
(二)输出相关系数表到word或Excel中例如:logout, save(mytable) word replace: pwcorr_a price mpg rep78 headroom trunk, star1(0.01) star5(0.05) star10(0.1)四、截面数据单方程线性回归模型的Stata实现命令格式:regress(简写:reg)depvar indepvars [if] [in] [weigh] [option](depvar表示因变量,indepvars表示自变量)五、异方差的检验与处理1、检验异方差命令格式:hettest2、判断异方差的标准:看P值的大小来判断,如果P值小于0.05,则不能排除异方差的可能,上图中P值等于0.4584>0.05,因此,可以排除异方差的可能性。
3、处理异方差命令格式:在reg命令后加上“,r”或者“,robust”即可。
经异方差处理后的回归不显示调整后的R2(adj-R2),如果要查看调整后的R2,再输入命令:di e(r2_a)六、多重共线性(自变量之间高度相关)命令格式:vif(一)判断多重共线性的标准(两个标准必须同时满足):1、最大的vif大于10;2、平均的vif大于1 。
(二)多重共线性的修正1、采用逐步回归进行修正,命令格式:sw reg depvar indepvar, pr(0.05)2、对于含二次项的,使用“对中”的方法,既可以保留二次项,又可以在一定程度上克服多重共线性的问题:先定义两个变量,分别为该变量减去其均值和该变量的平方,命令如下:sum vargen var1=var-r(mean)gen var2=var^2再用新变量代替原来的变量进行回归处理七、内生性的检验与处理(内生性是指自变量与误差项之间有关系)1、内生性的检验:ovtest看P值的大小来判断,如果P值小于0.05,则不能排除内生性的可能,上图中P值等于0.4717>0.05,因此,可以排除内生性的可能。
2、内生性的处理:使用工具变量法:ivreg内生性的三个来源:测量误差、遗漏变量和双向因果。
1、变量的内生性。
这个是没有办法单独检验的。
当有合适工具变量时候,是可以检验的,就是hausman检验2、工具变量的外生性。
这个也是没办法检验的。
当有很多工具变量时候,可以检验是否有不是外生的,就是“过度识别”问题3、工具变量的相关性。
这个可以说成是“弱工具变量”问题,检验可以通过一阶段的F值。
还可以利用Partial R2。
4、估计方法stata里面有这么几个2sls,2sls smal、liml、gmm,各自适用情况:small适合小样本;liml 适合弱工具变量;gmm适合异方差。
【例子】webuse hsng2*Fit a regression via 2SLS, requesting small-sample statisticsivregress 2sls rent pcturban (hsngval = faminc iregion), small*Fit a regression using the LIML estimatorivregress liml rent pcturban (hsngval = faminc iregion)*Fit a regression via GMM using the default heteroskedasticity-robust weight matrixivregress gmm rent pcturban (hsngval = faminc iregion)*Fit a regression via GMM using a heteroskedasticity-robust weight matrix, requesting nonrobust standard errorsivregress gmm rent pcturban (hsngval = faminc iregion), vce(unadjusted)*检验estata firststage ,all forcenonrobust \\\可以查看第一阶段F值,已经partial R2estat overid \\\查看是否过度识别estat endogenous \\\查看是否异方差regress 2sls rent pcturban hsngvalest store m1ivregress 2sls rent pcturban (hsngval = faminc iregion)est store m2hausman m1 m2 \\\内生检验八、线性方程组的回归分析命令格式:sureg(depvar1 varlist1)(depvar2 varlist2)…(depvarN varlistN) [if] [in] [weigh]九、联立方程组命令格式:reg3 (depvar1 varlist1)(depvar2 varlist2)…(depvarN varlistN) [if] [in] [weigh]十、面板数据的固定效应和随机效应Xtset固定效应命令格式:xtreg depvar indepvars [if] [in] ,fe[FE_options]随机效应命令格式:xtreg depvar indepvars [if] [in] ,re[FE_options]hausman检验固定效应还是随机效应?【例子】xtreg y var1 var2 var3,feest store fextreg y var1 var2 var3,reest store rehausman fe re,sigmamorehausman fe re,sigmaless*sigmamore利用有效估计量方差,即re*sigmaless利用一致估计量方差,即fe十一:Stata回归结果的导出1、在命令窗口中输入:ssc install esttab,安装命令esttab2、reg 回归3、esttab using filename.rtf将以word形式输出回归结果,后缀改成.xls或者.csv则以Excel 格式输出,输出内容为变量名称和相应的回归系数,t值,显著性水平标识。