您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > Stata-应-用-技-巧
Stata应用技巧王洪亮1、界面Stata有4个窗口:1.StataCommand(右下)用于向Stata输入命令;2.StataResults(右上)用于显示运行结果;3.Review(左上)记录使用过的命令;4.Variables(左下)显示当前memory中的所有变量。2STATA数据分析基础•STATA的界面ResultWindowCommandWindowReviewWindowVariableWindowButtons2、文件和数据Stata相关的文件有三类:数据文件,do-file文件,log文件。1.数据文件数据文件以后缀“.dta”表示。数据文件是Stata处理和分析的对象。数据文件具有如下的逻辑结构:4Variable1Variable2……Variablen12……n5其中每一行表示一个观测,每一列表示一个变量。每个观测都有一个编号(表1左起第1列),是系统自动加上去的。Stata对数据类型的区分不是很细致,分为数据型和字符型。缺失数据用“.”表示。数据文件可以在DataEditor中生成,如图2所示。在方格中输入相应的变量名和数据后,点击Save按钮即可。如果数据是逗号分隔数值格式的文本文件(.csv)insheetusing“F:\AE\data\Fees1.csvclear62.do-file文件do-file文件以后缀“.do”表示。在command窗口输入命令很不方便,而且也不利于保存对数据文件处理和分析的过程。替代的做法是使用工具栏中“NewDo-fileEditor”在Do-file中编写命令。可以在命令行输入doedit来编辑程序文件。7在do-file文件中,用*表示注释内容,Stata在运行do-file文件时会跳过这些注释语句。加入注释语句能增强do-file文件的可读性。最好为每一个do-file文件写详细的注释内容。比如文件名称,计量分析的目的,时间和结果存放位置。如果过程中生成并保存了数据文件,应写出相应数据文件的名称等。如果中途对do-file文件进行过修改,最好将修改过文件保存为另一个文件,以便于将来对比分析原文件和修改后的文件。83.log文件log文件以后缀“.log”表示,用于记录Stata的运行结果。在开始运行Stata时,创建一个log文件,并指定其路径和文件名,在结束运行时,再将其关掉,则可记录此间Stata的运行结果。9例::(开始运行)logusingD:\Econometrics\logfiles\20091012.log………………….(Stata命令)…………………..logclose(结束运行)从而20091012.log就记录了从“logusing”命令到“logclose”命令之间Stata运行的所有结果。103、语法和命令Stata的语法十分地简单和灵活。一个命令便构成了一条可执行的语句,在StataCommand中输入后,敲回车键就可以运行了。当然也可以将一组语句编成do-file文件。11Stata命令可以大体上分成4类:help命令;针对memory的命令;处理和分析数据的命令;数学命令。现分述如下。help命令十分地简单。比如想了解“regress”的用法,可在StataCommand中输入如下语句后回车:helpregressStata会提供关于“regress”用法的详细说明,并配以例子。12针对memory的命令有清空命令clear和设置memory大小的setmemory命令。memory有一个默认的大小,但如果数据文件太大,必须重设memory的大小,例如:setmemory20m该命令将memory大小设为20兆。13处理和分析数据的命令构成Stata命令的主体。它们可实现各种各样的功能,但大体具有如下的格式:[byvarlist1:]command[varlist2][ifexp][inrange][,options]其中[byvarlist1:]表示按一组变量(由varlist1指定)分组;command[varlist2]表示命令是针对由varlist2指定的变量;[ifexp]表示命令只针对满足exp(一般是一个逻辑表达式)的观测;14[inrange]表示命令只针对处在range指定的范围内的观测,如in5指执行的范围是第5个观测,in-5指执行的范围是倒数第5个观测,in5/12指执行的范围是从第5到第12个观测;[,options]是命令特有的一些选项,根据情况和需要而定,Stata的强大功能主要就体现在这些选项上,选项的使用非常精细和讲究。15[ifexp]极大地体现了Stata的灵活性。逻辑表达式exp一般由以下成分构成:变量名数字,字符,表示缺失值的“.”关系运算符:==(等于),!=,~=(不等于),(大于),(小于),=(大于或等于),=(小于或等于)逻辑运算符:&(与),|(或),~(非)164、数据管理4.1改变变量名renameold_varnamenew_varnameold_varname是原变量名,new_varname是新变量名。174.2生成新变量generatenewvar=exp[ifexp][inrange]newvar是生成的新变量,exp是由现有变量生成新变量的算术或逻辑表达式,[ifexp]和[inrange]指定对哪些观测计算新变量值。比如,generateage2=age*age(新变量age2等于age的平方),generatebiginc=income100000&income~=.(若income大于100000且不缺失,则新变量biginc为1,否则为0)。184.3对现有变量重新赋值replaceoldvar=exp[ifexp][inrange]oldvar为现有的变量。对满足[ifexp]和[inrange]的样本,oldvar将根据表达式exp重新赋值。比如,replaceincome=.ifincome=0(若income非正,令其取缺失值),replaceage=25in1007(令第1007个观测中age为25)。194.4删除变量或观测dropvarlist(去掉varlist指定的变量)drop_all(去掉全部变量)dropifexp(去掉符合表达式exp的观测)dropinrange(去掉处在range指定范围内的观测)204.5保留变量或观测keepvarlist(保留varlist指定的变量,其余变量去掉)keepifexp(保留符合表达式exp的观测,其余观测去掉)keepinrange(保留处在range指定范围内的观测)214.6观测重排sortvarlist将全部观测按varlist指定的变量按升序排列。varlist中可以有不止一个变量,此时排序与字典顺序相当。225、常用回归分析回归是Stata最主要的功能之一。本部分主要介绍如何用Stata做线性回归,以及回归分析,并简单介绍用Stata做Logistic回归的方法。回归命令的选项也非常丰富,可以使用helpregress/logit/probit/tobit来了解。23线性回归的命令有:regressyx1x2x3(以y为被解释变量,x1,x2,x3为解释变量做回归;regress后第一个变量为被解释变量)regressyx1x2[ifexp][inrange](使用满足[ifexp]和[inrange]的观测做回归)regressyx1x2x3,robust(regressionwithrobuststandarderrors)regressyx1x2x3[aweight=w](WLS,以变量w为权重)24线性回归的典型输出:Stata会报告如下结果:方差分解,整体显著性检验的F统计量及相应的p值,R平方,调整后的R平方,MSE的平方根(亦即对σ的估计),系数估计,系数估计的标准差,t值,显著性检验的p值,置信区间。25回归后可以对系数做假设检验:对单个参数的检验testlabor(检验labor的系数是否显著)testlabor=1(检验labor的系数是否为1)对多个参数的检验testlaborcapital(零假设为labor和capital的系数都不显著)testlabor=capital(检验labor和capital的系数是否相等)testlabor+capital=1(检验labor和capital的系数之和是否为1)26回归后一般要做回归分析,检验是否存在异常的观测,以及是否有异方差,自相关,共线性。回归分析一般依据回归残差进行。此时最重要的命令是predict,可以使用helppredict指令来了解它。predict命令主要的功能如下:拟合值相关predictyhat(yhat是任意指定的变量名,以下皆如此)predicte,resid(e是任意指定的变量名)27对模型的检验:多重共线性检验:vif(varianceinflationfactors或方差膨胀因子。对每一个解释变量,都可以计算其方差膨胀因子。该因子越大,相应的变量越有可能是其它变量的线性组合。)异方差检验hettest(testforheteroskedasticity)hettestx1(同上,但此时我们有理由怀疑异方差可写成变量x1的函数)自相关检验dwstat(Durbin-Watson自相关检验)durbina(Durbin-Watsonh统计量)bgodfrey(Breusch-GodfreyLM统计量)286、常用命令6.1文件和系统管理insheet(导入外部数据)use(使用已有的数据文件)save(保存数据文件)logusing/logclose(log文件操作)cd(改变默认路径)setmemory(设置memory大小)clear(清空memory)help/findit(查询帮助文档)296.2数据管理list(展示数据)describe(数据文件的整体描述)rename(改变变量名)generate(生成新变量)replace(对现有变量重新赋值)drop(删除变量或观测)keep(保留变量或观测)sort(观测重排)merge/append(数据文件的合并)xi(生成虚拟变量)306.3描述统计summarizetabstatsktest/swilk/ladder/gladder/qladder(正态性检验)tabulatecorrelate、pwcorr(计算多个变量两两之间的相关系数)316.4画图histogram(直方图)graphbox(boxplot)graphpie(piecharts)kdensity(kernaldensityfunction)qnorm(QQ图)graphtwowayscatter/line/connected(两个变量的散点图)graphmatrix(多个变量的散点图)326.5回归和回归分析regress(线性回归)xi:regress(带虚拟变量的线性回归)test(假设检验)predictrvfplot(与残差相关的图象)vif(共线性检验)hettest(异方差检验)dwstat/durbina/bgodfrey(自相关检验)33347、常用回归模型Dependentvariable(Y)ExamplesEstimationmethod(s)STATAcommand连续型Continuous(-Y+)汽车价格OLSregress二值变量Binary(Y=0,1)是否在劳动力市场上ProbitLogitprobitlogit离散不能排序Discreteandunordered(Y=0,1,2,.
本文标题:Stata-应-用-技-巧
链接地址:https://www.777doc.com/doc-1500958 .html