Stata统计分析命令_第1页
Stata统计分析命令_第2页
Stata统计分析命令_第3页
Stata统计分析命令_第4页
Stata统计分析命令_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Stata统计分析常用命令汇总

一、winsorize极端值处理

范围:一般在1%和99%分位做极端值处理,对于小于1%,的数用1%的值赋值,对于大于99%

的数用99%的值赋值。

1、Stata中的单变量极端值处理:

stata11.0»在命令窗口输入"finditwinsor”后,系统弹出一个窗口,安装winsor模决

安装好模块之后,就可以调用winsor命令,命令格式:winsorvarl,gen(newvar)p(0.31)

或者在命令窗口中输入:sscinstallwinsor安装winsor命令。winsor命令不能进行批量处

理。

2、批量进行winsorize极端值处理:

打开链接:http:〃Dersonal.〉/iudson.caskey/data.html,找到winsorizeJ,点击

右键,另存为到stata中的ado/plus/目录下即可。命令格式:winsorizeJvarlvar2var3,suffix(w)

即可,这样会生成三个新变量,varlwvar2wvar3w,而且默认的是上下l%winsorize。如果

要修改分位点,则写成如下格式:winsorizeJvar1var2var3,suffix(w)cuts(595)。

3、Excel中的极端值处理:(略)

winsor2命令使JI]说明

简介:winsor2winsorizeortrim(iftrimoptionisspecified)thevariablesinvarlistatparticular

percentilesspecifiedbyopiioncuts(##).Indefult,newvariableswillbegeneratedwithasuffix

"_w"orwhichcanbechangedbyspecifyingsuffix()option.Thereplaceoptionreplacesthe

variableswiththeirwinsorizedortrimmedones.

相比于winsor命令的改进:

(1)可以批量处理多个变量;

(2)不仅可以winsor,也可以trimming;

⑶附加了by()选项,可以分组winsor或trimming;

(4)增加了replace选项,可以不必生成新变量,直接替换原变量。

范例:

*-winsorat(plp99),getnewvariable"wage_w"

.sysusenlsw88,clear

.winsor2wage

*-Ie代-trimmingat2thpercentile

.winsor2wage,cuts(2100)trim

*-winsorvariablesby:industrysouth),overwritetheoldvariables

.winsor2wagehours,replaceby(industrysouth)

使用方法:

1.请将winsor2.ado和winsor2.sthlp放置于stata12\ado\base\w文件夹下;

2.输入helpwinsor2可以查看帮助文件;

二、描述性统计

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(countmeansdmedianminmaxrange)col(stat)

3、描述性统计结果输出到word或Excel

用sum做的描述性统计:logout,save(miaoshutongji)wordreplace:sum

用tabstat做的描述性统计:logout,save(miaoshutongji)wordreplace:tabstat

[varlist],stat(countmeansdmedianminmaxrange)col(stat)

分组描述:bysortvar:

三、相关性分析

(-)相关性分析

lxPearson相关系数命令格式:correlate(简写:cor或corr)[varlist][if][in][weight][,options]

、相关系数命令格式:

2spearmanspearman[varlist]zstats(rhop)

3、在Stata中,命令corr用于计算一组变量间的协方差或相关系数矩阵;

4、命令pwcon•可用于计算一组变量中两两变量的相关系数,同时还可以对相关系数的显著

性进行检验;option选项中加上sig可显示显著性水平:pwcorr[varlist],sig

5、命令pcorr用于计算一组变量中两两变量的偏相关系数并进行显著性检验。

6、Spearman和Pearson检验同在一个表的命令:corrtbl[varlist],corrvars([varlist])

输出结果中,上三角为Spearman相关系数和显著水平,卜三角为Pearson系数利显著水平。

(二)输出相关系数表到word或Excel中

例如:logout,save(mytable)wordreplace:pwcorr_apricempgrep78headroomtrunk,

starl(O.Ol)star5(0.05)starlO(O.l)

四、截面数据单方程线性回归模型的Stata实现

命令格式:regress(简写:reg)depvarindepvars[if][in][weigh][option]

(depvar表示因变量,indepvars表示自变量)

五、异方差的检验与处理

1、检验异方差命令格式:hettest

2、判断异方差的标准:

.hettest

Breusch-Pagan/cook-weisbergtestforheteroskedasticity

HO:constantvariance

variables:fittedvaluesofLpfms

chi2(1)=0.55

Prob>Chi2=0.4584

看P值的大小来判断,如果P值小于0.05,则不能排除异方差的可能,上图中P值等于

0.4584>0.05,因此,可以排除异方差的可能性。

3、处理异方差命令格式:在reg命令后加上“万”或者robust”即可。经异方差处理后的

回归不显示调整后的R?(adj-R2),如果要查看调整后的R2,再输入命令:die(r2_a)

六、多重共线性(自变量之间高度相关)命令格式:vif

(一)判断多重共线性的标准(两个标准必须同时满足):

1、最大的vif大于10;

2、平均的vif大于1。

(二)多重共线性的修正

1、采用逐步回归进行修正,命令格式:swregdepvsrindepvar,pr(0.05)

2、对于含二次项的,使用“对中”的方法,既可以保留二次项,乂可以在一定程度上克服

多重共线性的问题:先定义两个变量,分别为该变量减去其均值和该变量的平方,命令如下:

sumvar

genvarl=var-r(mean)

genvar2=varA2

再用新变量代替原来的变量进行回归处理

七、内生性的检验与处理(内生性是指自变最与误差项之间有关系)

1、内生性的检验:ovtest

•ovtest

RamseyRESETtestusingpowersofthefittedvaluesofLpfms

Ho:modelhasnoomittedvariables

F(3,379)=0.84

Prob>F=0.4717

看P值的大小来判断,如果P值小于0.05,则不能排除内生性的n]■能,上图中P值等于

0.4717>0.05,因此,可以排除内生性的可能。

2、内生性的处理:使用工具变量法:ivreg

内生性的二个来源:测量误差、遗漏变量和双向因果。

1、变量的内生性。

这个是没有办法单独检验的。当有合适工具变展•时候,是可.以检验的,就是hausman检验

2、工具变量的外生性。

这个也是没办法检验的。当有很多工具变量时候,可以检验是否有不是外生的,就是“过度

识别”问题

3、工具变量的相关性。

这个可以说成是“弱工具变量”问题,检验可以通过一阶段的F值。还可以利用PartialR2。

4、估计方法

stata里面有这么几个2sls,2slssmaklimLgmm,各自适用情况:small适合小样本;liml

适合弱工具变量;gmm适合异方差。

【例子】

webusehsng2

*Fitaregressionvia2SLS,requestingsmall-samplestatistics

ivregress2slsrentpcturban(hsngval=famineiregion),small

*FitaregressionusingtheLIMLestimator

ivregresslimlrentpcturban(hsngval=famineiregion)

*FitaregressionviaGMMusingthedefaultheteroskedasticity-robustweightmatrix

ivregressgmmrentpcturban(hsngval=famineiregion)

*FitaregressionviaGMMusingaheteroskedasticity-robustweightmatrix,requestingnonrobust

standarderrors

ivregressgmmrentpcturban(hsngval=famineiregion),vce(unadjusted)

*检验

estatafirststage,allforcenonrobust\\\可以查看第一阶段F值,已经partialR2

estatoverid\\\查看是否过度识别

estatendogenous\\\查看是否异方差

regress2slsrentpcturbanhsngval

eststoreml

ivregress2slsrentpcturban(hsngval=famineiregion)

eststorem2

hausmanmlm2\\\内生检验

八、线性方程组的回归分析

命令格式:sureg(depvarlvarlistl)(depvar2varlist2)...(depvarNvarlistN)[if][in][weigh]

九、联立方程组

命令格式:reg3(depvarlvarlistl)(depvar2varlist2)...(depvarNvarlistN)[if][in][weigh]

十、面板数据的固定效应和随机效应

Xtset

固定效应命令格式:xtregdepvarindepvars[if][in]Je[FE_options]

随机效应命令格式:xtregdepvarindepvars[if][in],re[FE_options]

hausman检验固定效应还是随机效应?

【例子】

xtregyvarlvar2var3,fe

eststorefe

xtregyvarlvar2var3,re

eststorere

hausmanfere,sigmamore

hausmanfere,sigmaless

*sigmamore利用有效估计量方差,即re

♦sigmaless利用一致估计最方差,即fe

H^一:Stata回归结果的导出

1、在命令窗口中输入:sscinstallesttab,安装命令esttab

2sreg口1归

3、esttabusingfilename.rtf将以word形式输出回归结果,后缀改成.xls或者.CSV则以Excel

格式输出,输出内容为变量名称和相应的回归系数,t值,显著性水平标识。系统默认显著

性水平是。001,0.01和0.05,若要改成。。,0.05和0.1,则输出esttabmlm2usingaaa.rtf,

star(*0.10**0.05***0.01)。

4、批量输出回归结果:每运行一个regression,存起来:eststoremloml是你要改的,第

•个model所以我叫ml,第二个的话指令就变成eststorem2,依次类推,最后运行指令:

esttabmlm2...usingtest.rtf。

esttabmlllllusingaaaaa.rtf,star(*0.10**0.05***0.01)b(%6.4f)

5、outreg2可以将回归结果导入word、excle、latex等,而且可以根据自己需要改变格式:

sscinstalloutreg2

useauto,clear

[varlist]

eststoreml

outreg2[ml]usingtest.doczreplace

十二、合并样本(将关键词相同的多个样本合并为一个)

命令格式:duplicatesdropvarlistzforce

例如将同一企业在同一天发生的多起并购合为一起,可根据证券代码和公告日期关键词,将

其合并,命令:duplicatesdropcompanyjdevent_date,force

十三、均值t检验

命令格式:ttestCARI==CAR2,unpaired

十四、中位数Z检验(非参数Wilcoxon秩和检验)

命令格式:ranksumvar,by(groupvar)

groupvar为分组变量

I玉、检验两组均值的显著性差异,在t检验的后面数值上面加星号

可以用ttest命令执行检验,它会直接报告星号。

亦可采用外部命令meantab执行检验,自己根据t值大小标注星号。

helpmeantab〃这个最好用

sysusenlsw88,clear

meantabcoIlgradwagehoursttl_exptenure,///

over(union)tstatdiffnoncells

另有一个李春涛老师编写的命令,可以直接标注星号:

finditttable〃多变量,两组差异

十六、删除有缺失值的样本

egenmis=rowmiss(_all)

dropifmis

条件语句:cond

例如:cond(missing(x),cond(x>2,50,70))returns.ifxismissing,returns50ifx>2,andreturns

70ifx<2

十七、中心化处理与标准化处理

1、安装命令:finditcenter

2、中心化:

centervarlist(注:生成的新变量默认加前置”j〃,可一次对多个变量进行处理)

或:centervar,g(newvar)(注:只能对,个变量进行口心化,并生成给定名称的新变量)

3、标准化:

centervarlist,prefix(z_)standardize(注:生成的新变量加前置“z_”,可多个,可更改)

十八、恢复数据命令

preserve(处理数据前使用该命令,否则没有数据可恢复)

dropvarl-varlOO(处理数据)

restore(恢复数据)

十九、genicv产生交叉项

【问题】

有时候,想生成很多交叉项,但是又不愿意一个一个写。

有时候,想看一个交叉项,但是又不愿意生成。

【方法】

genicv可以一键生成很多交叉项

##可以直接表示交叉项。

【例子】

sscinstallgenicv

sysuseauto,clear

genicvlengthweightforeign〃会生成4个交叉项,所有可能情况,并且有label

regpricelengthweightlength_weight

*如果不愿意生成,直接用

regpricec.length##c.weight\\\和上面回归一样一样的

二十、用stata统计变量的个数,但是要去掉重复的部分

bysid:gn=_n

countifn==l

二H^一、stata中的主成分分析法

1、首先,需要对变量进行哪些检验?KMO?还有什么?KMO检验结果符合什么条件才能继

续进行主成分分析?

答:首先使用KMO检验和SMC检验。

KMO的判断为,UsingtheKaiser(1974)characterizationofKMOvalues,

0.00to0.49unacceptable

0.50to0.59miserable

0.60to0.69mediocre

0.70to0.79middling

0.80to0.89meritorious

0.90to1.00marvelous

SMC即一个变量与其他所有变量的复相关系数的平方,也就是复回归方程的可决系数。SMC

比较高表明变量的线性关系越强,共性越强,主成分分析就越合适。

命令是

estatkmo

estatsmc

确定是否需要进行土成分分析。如果有些KMU或者5MC值太小,则要考虑要不要将它们放

入主成分中。

然后进行主成分回归。

使用命令为:

peavarlist(不清楚就helppea)

2、例如,对Y的5各指标执行了命令peayly2y3y4y5得出结果方差贡献率(proportion)

就是权重吗?

答:不是。假如设定方差贡献率为95%,那么,累积方差超过95%的那几个特征值、所对

应的特征变量,就是权重,

3、看有的帖子上回复说,需要接着执行predictyly2y3V4y5,score,这是为了得到每个指标

的主成分得分吗?为什么我执行了一下,只生成了一个yl,别y2、y3、y4、y5都没生成呢

答:直接"predictyl-y4”就可以。生成的四个就是得分。

4、不知道你要问什么?

总之,主成分的步骤为

1、先通过KMO检验和SMC检验确定是否需要主成分分析

2、进行主成分分析,通过累计贡献率确定需要的哪几个主成分

3、根据情况看是否需要rotate

4、通过predict进行得分。或者通过scoreplot看得分分布图。

二十二、将一般的数据转化为面板数据

原数据的形式(excel中)是:2008一张sheet,2009一张sheet。。。。。即:

1DFH

YitKitLit

12261224623

230273276416.5

32062354178262503

43179401120180770

5868023159175.5

626953041840553

71574767060190

.2935791452078

9-191242417

10127737522240

1127906141347979866.5

1248629260428.5

1376127622567319.5

141251951335669

然后改成这样的数据形式是:

ABCDEFGHIJ

公司名称Yit2008Yit2009Yit2010Kit2008Kit2009Kit2010Lit2008Lit2009Lit2010

122611860B.251105.42522464986.5984108.495232331

23027340102.0660248.7227645657.7326843.39816.511.520

3206235428925143033013178262296385.6332315.3503458489

431794014225323634362612018096017.53305598.8770381.5739

586802563322.7559918.131591819.58839254.86175.514.5134

6269530354939.736459.574184043796.9141070.62553504.5434

7157476290664.9200974.470605902.06235080.8619057158

8293579228195.9479237.51452025136.0843561.92786075.5

919124773.196537.3593424778.35052010.2351710.518

:10127737113150.593694.9852229156.70110556.81402020

112790614107232401216146713479799964001137663866.52208.52518

124862957061.8672251.7926041845.3614833.16328.512.531.5

13761276134907510718942256734651.55125246.7319.5155201

14125195114422.7182454.5133562805.15516806.336933.579

15442694332010.3395230.33708527943.331281.47469403.5327.5

粘贴在stata里就是这样的形式(注意:变量名字一定要改):其中Y为因变量,可以是很多

个,XI、X2为自变量,也可以是很多个,stata中的变量名依次为:id、Y2008、Y2009、Y2010、

X12008>X12009>X12010、X22008.X22009、X22010

idY2008Y2009Y2010X12008X12009X12010X22008X22009X22010

11226118608.21105.4222464986.64108.5232331

223027340102.160248.727645657.736843.416.511.520

332.1e-t062.95063.0B+06178262296386332315503458489

443.2e+064.2e+066.3e+0612018096017.5305599770381.5739

558680256332355991831591819.5939254.9175.514.5134

6626953035499036459.64184043796.941070.6SS3504.5434

7715747629066520097470605902.0635080.919057158

882935792281964792371452025136.143561.9786075.5

9919124773.2537.35942477B.3512010.241710.518

10101277371131519369552229156.710556.8402020

11112.8506l.let07-07l・3e+06996400l.let06866.52208.52518

12124862957061.972251.826041845.364833.1628.512.531.5

1414125195114423182454133562805.1516806.66933.S79

15154426943320103952303708527943.331281.5469403.5327.5

161620805767.019501.5427722352.582790.1720.51419

1717820842.2685796.3211921721.652713.41232526

在stata中输入命令:

reshapelongYXIX2,i(id)j(year)回车即可,变为:

idyearYXIX2

120082261224623

1200918608.24986.623

120101105.424108.531

2200830273276416.5

2200940102.15657.7311.5

2201060248.76843.420

320082.1e-t-06178262503

320092.9506296386458

320103.0e+06332315489

420083.2e+06120180770

420094.2e+0696017.5381.5

420106.3C+06305599739

52008868023159175.5

520095633231819.5914.5

5201055991839254.9134

6200826953041840553

6200935499043796.9504.5

6201036459.641070.6434

720081574767060190

720092906655902.0657

7201020097435080.9158

二十三、关于数值型转换为字符型的问题

1、股票代码导入STATA后都变成数值型,现想用tostring命令变回字符型,但长度小于6位的代防在

变回字符型后在前面补够不足6位的Oo

方法:formatvariable%06s

这只是在显示上补充了0,没有在值.上补充。以下可以改变x的值:

replacex=substr("000000"+x,-6,6)

2、将个12位的数值转换为字符,再从字符里提取前五个字符,转成字符后以科学计数法显示,提取前

五位数是提取的科学计数法的前五位,如将110102002016转成字符后显示为1.10e+11,提取时提的是

而不是我想要的“11010”

HM

gy=substr(string(x,%12.0f),115)

3、将字符型转化为数值型命令为:destringvar,replace(转换后替换原来的值)

若字符型中含其他符号并要生成新变量则用:destringvarlist,gen(newvarlist)ignore(u$,%")

二十四、分组

均分四组:sortvar

xtileprop=varznq(x)(括号中的x代表分成的group数)

例如:

sortinsto_ma

xtileprop=insto_ma,nq(4)//以insto_ma的四分位点分成四组

sortpropinsto_msd

egenstdl=xtile(insto_msd),by(prop)nq(4)〃按prop,以insto_msd的四分位点分成四组

二十五、估计残差

做完回归后,使用命令predicte,r

排列组合计算=3,=6:dicomb(3,2),dicomb(4z2)

取整:

l.ceil(x),returnstheuniqueintegernsuchthatn-1<x<=n.returnsx(notifxismissing,

meaningthatceil(.a)=.a

2.floor(x),returnstheuniqueintegernsuchthatn<=x<n+1,returnsx(notifxismissing,

meaningthatfloor(.a)=.a

3.int(x),returnsth

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论