搜档网
当前位置:搜档网 › Stata简明讲义

Stata简明讲义

Stata简明讲义
Stata简明讲义

Stata简明讲义

王非

中国经济研究中心

ebwf@https://www.sodocs.net/doc/5d8962168.html,

〇、写在前面的话

关于学习Stata的意义,大家只需知道:目前,Stata是计量经济学、特别是微观计量经济学的主流软件。因此,Stata很重要、很有用,而大家也会在使用Stata 的过程中慢慢体会到它的特点。

本讲义取名为“Stata简明讲义”,意在突出“简”和“明”两个字。虽然讲义长达五十多页,但相比Stata的完全手册来说,还不及九牛之一毛,故为“简”。实际上,完全手册中的很多内容都鲜有人(特别是计量经济学者)问津,而本讲义列出的内容则是大家经常用到的操作;所以,“简”也有“简”的好处。即便如此,掌握这份讲义也并非易事。所谓“明”,是明晰的意思。本讲义本着“手把手教”的精神,力求把每项操作都说得具体明晰,以方便初学者(特别是没有程序操作经历的初学者)尽快上手。至于本讲义在“简明”上做得怎么样,还需要各位读者来评判。

中心的一位学长邹传伟,曾经写过一份“Stata介绍”,在网上可以下载。那份讲义比较全面,但不够具体明晰。本讲义参照那份讲义,在框架上查漏补缺,并进一步地明晰化。本讲义第二部分的“do文件”和第七部分的“残差分析”的相关内容均来自于中心的沈艳老师的相关讲义,而沈老师对于本讲义的成形给予了细致的指导。本讲义附带了一些数据文件,其中“WAGE1.dta”和“WAGEPRC.dta”均来自Wooldridge的中级计量教材的数据集,而其他数据则为作者自己的杜撰。尽管从别人那里拿来了许多好东西,但本讲义的任何错误仍源于作者自己的疏忽。

本讲义是这样安排的:第一部分讲Stata的界面,第二部分讲do文件,第三部分讲怎样把数据导入Stata,第四部分专门讲help和search命令以及帮助文件的阅读方法,第五部分讲数据的描述及管理,第六部分讲如何画图,第七部分讲初步的回归分析。

祝各位学习愉快。

一、Stata长什么样?

首先,让我们看看Stata长什么样。我们以Stata 9.1(以下简称Stata)为例。点击可执行文件“wstata.exe”,即可看到Stata的基本界面:

中间黑色背景的区域就是Stata的基本显示界面,数据分析的结果一般显示在这一区域中。在我看来,黑色的背景有助于减缓视觉疲劳。如果你不喜欢这种显示方式,可以把鼠标放在这一区域中,点击鼠标右键,进而设定自己喜欢的显示方式。

围绕着黑色区域,有三个白色背景的框,左边两个,下边一个。左下角的框的标

题是“Variables”,这里会显示数据中所有变量的名称。下边的框的标题是“Command”,这里用来输入各种操作命令,命令操作的结果一般会显示在黑色区域中。左上角的框的标题是“Review”,这里会显示你曾经操作过的所有命令。在三个框的右上角,均有这样一个小图标:。点击它会使框隐藏起来,其效果类似于把QQ拖到屏幕的边上;再次点击会恢复原状。而点击右上角另外一个图标,会把相应的框关掉;如果想再次打开,可以点击菜单栏的“Window”,并选择相应的框。

黑色屏幕上方的菜单栏和图标栏,下文会逐步涉及。

二、良好的习惯从do文件开始

上文提到,Stata的Command框可以输入各种操作命令。实际上,绝大多数初学者(甚至很多长时间使用Stata的人)都只是通过Command框一条一条地输入命令,边走边看。这种做法的缺点在于:进行命令操作的时候具有盲目性,不易厘清自己将要做什么;而命令操作过后缺乏系统性,忘了自己曾经做过什么,而且别人也无法了解你的操作过程;另外,如果你想再次进行类似的操作,得重新输入曾经运行过的命令,比较繁琐。因此,大家最好从一开始就养成一个良好的习惯:在进行任何程序操作之前,都要事先写好完整的操作计划书;这一操作计划书在Stata里叫做do文件,而Stata会自动运行do文件中计划好的所有操作。

下面是一个do文件的一部分(选自沈艳老师的相关讲义),我们借此看一下do 文件是个怎样的东西。

第一行是这个do文件的名称,do文件的后缀名是“do”。第二行是这个do文件的作用,即你要通过这份操作计划书做什么事情。这两行不是操作的内容,而是对操作的注释。在do文件中,注释的部分用“/*”和“*/”包裹起来。有编程经验的人都知道,注释在程序里非常重要。从上面的do文件可以看出,注释不仅出现在开头,而且出现在每一段命令之前。注释虽然不直接参与程序的运行,但却可以帮助你清晰地规划将要做的事情,也可以帮助你在事后准确地回忆起曾经做过的事情,还可以帮助他人较快地读懂你的操作计划。一个好的注释必须简洁、清晰,能用短短几个词就准确地描述你要做的事情。

接下来,是“set more off”命令。在程序的运行过程中,如果显示结果很长(如一屏显示不完),屏幕下方就会出现“—more—”的标记;这时,Stata会暂停显示;只有按任意键,结果才能继续显示下去。而“set more off”就是把“—more—”

标记去掉的命令;这样,do文件在运行的过程中就不会因为某项操作的显示结果太长而暂停运行。

接下来,是“cap log close”命令。要明白这条命令,得先明白什么是log文件。打个比方,开大会的时候,需要录像机全程录像,以备事后查用。同样,运行操作程序的时候,也需要全程记录所有的操作命令和操作结果,以备事后查用。log 文件就是Stata中的录像带,用来忠实记录整个操作过程。如果准备拍新录像的时候,发现一盘旧录像带还在录像机里放着,那么就要先取出旧录像带,以便放入新录像带。同样,如果在进行新的程序操作之前,Stata还在运行着某个以前的log文件,那么就得先把这个log文件关掉,以便开启新的log文件进行记录。“log close”就是关闭旧的log文件的命令。在“log close”前面加“cap”的原因是:如果原来没有log文件在运行,那么运行“log close”命令会产生错误信息,Stata也就会因此中止do文件的运行;而前面的“cap”可以阻止在“log close”命令运行过程中的任何错误信息的出现,从而保证do文件的运行不会因此中止。

接下来便是开启新的log文件的命令。“log using”命令用来开启一个log文件,命令后面是log文件的路径和名称。值得强调的是,Stata命令中出现文件的路径和名称时,可以用双引号包裹起来,也可以不用。命令最后“replace”的意思是:如果在那个路径下已经存在一个这样的文件,那么新开启的log文件把原文件完全覆盖;如果你想在已经存在的log文件后面继续记录,可以把“replace”换成“append”。log文件的操作还有其他常用命令。直接运行“log”命令可以查询当前log文件的工作状态;“log off”命令可以暂停log文件的运行,就像把录像机暂时关掉;“log on”可以重新开始log文件的运行,就像重新开动录像机;如果想查看log文件记录的内容,可以在“view”命令后面加上log文件的路径和

名称。此外,点击图标栏的图标,也可以对log文件进行一系列的操作。

接下来就是导入数据、进行各种操作了。后文会逐步介绍相关的内容。

那么,怎样写这样一个do文件呢?主要有两种方法:一、打开一个记事本文件,

直接在里面编辑,编辑好之后另存为后缀名为“do”的文件即可。二、用Stata 自身附带的do文件的编辑器进行编辑。在Command框中输入“doed”,就可以打开do文件编辑器。如果想编辑已经存在的do文件,需要在“doed”后面加上do文件的路径和名称。另外,也可以直接点击Stata图标栏里的图标来编辑

do文件。编辑do文件的过程中,别忘了点击编辑器图标栏上的图标来保存编辑的成果。

如果用do文件编辑器编辑do文件,可以点击编辑器图标栏里的图标来试运行do文件(也可以运行“run”命令加do文件的路径和名称)。试运行只会反馈do 文件中的错误,而不会显示do文件的运行结果,这便于对do文件的调试。当do文件顺利通过试运行之后,便可以点击编辑器图标栏里的来正式运行(也可以运行“do”命令加do文件的路径和名称)。正式运行会显示所有的运行结果。此外,还可以通过Stata菜单栏中的“File ? Do…”来运行一个do文件。

上面所讲的内容恐怕不易在短时间内被Stata的初学者(尤其是没有程序操作经历的初学者)完全接受。但是大家应该试着从一开始就养成写do文件的好习惯,并在实践的过程中慢慢体会do文件的好处及其所涉及的各种操作。

三、怎样把数据导入Stata?

想炒菜,得先把菜倒进锅里;同样,用Stata分析数据,得先把数据导入Stata。

Stata默认的数据文件是后缀名为“dta”的文件。讲义附带的一个数据文件是“WAGE1.dta”,它可以直接用Stata打开。打开的方式无非有以下几种:1、运行“use”命令加数据的路径和名称。2、像上文中列出的do文件那样,先用“cd”命令进入数据所在的目录,然后用“use”命令直接加数据的名称来导入数据。当要操作的许多的数据文件都在同一个目录下面时,用这样的方法导入数据比较

方便——导入新数据时,只需改变“use”命令后的文件名即可,而不需改变数据的路径。3、在菜单栏中选择“File ? Open”,并选择数据所在的路径;4、点

击图标栏的,并选择数据所在的路径。

在前两种方式中,“use”命令后面,往往需要加一个“clear”。打个比方,想炒一锅新菜,得把原来的一锅菜倒出去;同样,想导入一个新数据,得把原来的数据清理出Stata。“clear”就是把原来的数据清理出Stata的命令。

考虑到编辑do文件的需要,大家应掌握前两种数据导入方式。通过一个do文件导入数据后,会看到如下的界面:

我们看到,黑色区域显示出了do文件的所有操作及其结果。Review框中显示出了曾经运行过的命令(打开do文件的命令);如果你想再次操作曾经操作过的命令,直接双击Review框中的相应命令即可,就不必重新输入一遍了。Variable 框中显示的就是“WAGE1.dta”所包含的变量,有工资(wage),教育水平(educ)和工作经验(exper)等。

但是,当按照上述方法打开另一个数据文件“c04adult.dta”时(该文件为中国健康和营养调查的2004年的成人数据。因为太大,没有和讲义附在一起),显示界面中出现了红色的错误信息:

这几行提示告诉我们,没有足够的空间容纳数据;此外,还给出了三种可行的方案:1、更有效地存储和压缩数据,2、删掉某些变量或观测值,3、增大分配给该数据的空间。一般来说,我们选择第3种方案。毕竟,许多人不愿意“委屈”菜的质量和分量,那就换口大锅吧。

“换大锅”的命令是:set memory xxM。其中的“xx”为一个数字,代表分配给数据多大的空间;“M”为存储容量的单位,即兆字节。Stata默认的分配空间是1M。接下来,我分配给这个大数据10M的空间。分配完毕后,就可以顺利打开数据了:

到此为止,我们已经知道怎样把dta格式的数据文件导入Stata了。但是,对于许多不是dta格式的数据文件,我们应该怎么办?

对于后缀名是“raw”, “txt”和“csv”的数据,Stata可以用“insheet using”命令导入。这个命令的用法和“use”类似。对于那些可以另存为这三种格式的数据,可以先把它们转化成这三种格式,然后用“insheet using”命令导入。讲义附带着一个Excel文件“wage1_sub.xls”,是“WAGE1.dta”的子样本。打开这个Excel文件,另存为“txt”(制表符分隔的文本文件)或“csv”格式后,可以用“insheet using”命令导入。一般来说,在导入非“dta”格式的数据后,要把这些数据另存为“dta”格式。因此,在do文件的“insheet using”命令的下一行,最好紧跟“save”命令。一般的命令是“save *.dta”,“*”代表另存为的文件名。如果不加“.dta”,Stata默认的存储格式为“dta”。此外,如果想保存对数据的任何改动,也要使用“save”命令。

当源数据是Excel数据的时候,我们还可以将其直接复制粘贴到Stata里。以“WAGE1_sub.xls”为例:1、打开“WAGE1_sub.xls”,用鼠标选定包括变量名

在内的全部数据内容,并复制;2、用clear命令清空Stata内的原有数据,然后

点击菜单栏中的图标,将光标放在左上角的那个格子中,然后粘贴。操作完毕后,我们会看到:

这个大框是数据编辑框,除了点击图标之外,还可以直接输入edit命令打开。中间的白色区域就是源文件中的所有数据,每一行为一个观测值(一个人),每一列为一个变量;白色区域左边是观测值的序号,从1到100;白色区域的上边是变量名称。我们发现,在复制粘贴的过程中,原来Excel文件中的变量名称自动跑到了数据编辑框中它应当所在的位置。要达到这样的效果,变量名就不能用汉字表示。

此外,还可以用专门的数据格式转化软件(比如StatTransfer)将其他格式的数据转化成可以直接导入Stata的格式。StatTransfer可以转化的数据格式有许多:Access数据、ASCII数据、Excel数据、Gauss数据、Matlab数据、Minitab数据、SAS数据、SPSS数据、Statistica数据和Stata数据等,基本上涵盖了常见的数据

格式。该软件的使用比较简单,这里就不再赘述了。大家可以试着将“WAGE1_sub.xls”转化成dta格式。

最后,如果要一条一条地录入数据,可以直接在数据编辑框中录入(但我建议先用Excel等比较方便的软件录入,然后再导入Stata)。

在数据导入的过程中,还可能出现其他问题,这需要大家开动脑筋,灵活解决。在数据导入之后,请大家务必要对照一下源数据,看看导入的数据和源数据是否一致,是否出现了诸如串行或串列的问题。

四、Stata命令中的倚天剑和屠龙刀

把数据导入Stata之后,接下来就是复杂的数据分析和处理工作了。这一工作需要浩如烟海、变化多端的命令,而这往往使初学者畏而却步。其实,毫不夸张地说,只要掌握了Stata命令中的倚天剑和屠龙刀,就可以畅行江湖了。这两条最重要的命令是:help和search。

当你确切地知道某个命令的名称,但却不太清楚它的用法时,就用help命令;当你只是模糊地知道某个命令时,就用search命令。下面以简单的线性回归命令为例。

最简单的线性回归命令是regress。如果你知道regress这个命令,但是不知道它的用法,可以输入如下命令:help regress。然后,Stata会跳出一个框,对这个命令进行详细说明(即该命令的帮助文件)。如果你不知道这个命令,但是你知道你想做OLS,可以输入如下命令:search ols。然后,Stata会给出它认为和“ols”这个关键词比较相关的命令及简要的说明:

我们发现,其中对regress命令的简要说明是“Linear regression”,比较符合我们的需要。用鼠标点击蓝色的命令,就可以得到该命令的帮助文件。寻找命令需要很多搜索技巧,大家要灵活掌握。

拿到了倚天剑和屠龙刀,但是不会玩,也是白搭。同样,找到了需要的命令,但是看不懂帮助文件,也是没用。下面详细解说一下regress命令的帮助文件,以求大家对帮助文件有些感觉。

打开regress的帮助文件,我们看到:

右上角有一行是“dialog:regress”。用鼠标点击后,跳出一个对话框,根据对话框的提示,可以完成线性回归的操作。前文提到过,Stata中许多常见的操作,既可以用程序命令来实现,又可以通过菜单栏和图标栏来实现(如use、edit和regress等)。使用对话框等工具,固然会比较简便,但却无法用do文件进行统一操作,也无法留下操作记录。因此,建议大家努力掌握相关命令的语法,即使它非常复杂。

右上角还有一个“also see”。在这里面,Stata列出了它认为的和regress命令比较相关的其他操作命令。此外,在帮助文件的末尾,有“also see”的更详细的列表。

往下走,是Title和Syntax。Title就是命令的名称及简要说明。Syntax是帮助文

件的核心内容,它简要介绍了命令的结构和选项。Syntax的第一行是命令的结构。“regress”表示回归的命令,“depvar”表示回归的因变量,“indepvars”表示回归的自变量,“if”表示回归的条件,“in”表示回归的范围,“weight”表示回归的权重,“options”表示回归的选项。“regress”的前三个字母的下方有一条线,表示在输入regress这个命令的时候,只要输入“reg”即可。帮助文件中其他命令或选项的下划线均表示这种含义。命令结构中斜体的部分表示在实际操作中,大家需要将其替换成相应的内容(如将depvar替换成真正的因变量);而粗体且非斜体的部分(比如regress)表示在实际操作中,大家得将其照搬。帮助文件中的斜体或粗体均表示这种含义。用方括号括起来的部分在实际操作中可有可无,没有括起来的部分必须出现在命令中(比如,reg命令至少要包含reg和depvar 两项。如果是“reg depvar”,就表示拿因变量对常数项作回归)。所有蓝色的部分均可用鼠标点击,从而出现进一步的说明。此外,不要忘了“options”之前还得加个逗号。

命令结构的下面,是命令的选项,即列出什么东西可以作为“options”。选项有三类。第一类是“Model”,第二类是“SE/Robust”,第三类是“Reporting”。“Model”表示需要怎样的模型,比如要不要常数项;“SE/Robust”表示需要怎样的标准误,比如要不要稳健的标准误;“Reporting”表示需要报告怎样的结果,比如需要报告怎样的置信区间。在选项的右侧,有相应的简要说明。如果需要在命令中出现多个选项(如既不要常数项,又要报告稳健标准误),则选项之间用空格间隔。

在选项说明的下方,有几行字,是regress命令的补充说明:比如在该命令中,可以加前缀,变量可以包含滞后算子等。

到此为止,大家就把regress这个命令的“浓缩版”帮助文件看完了。后面还有三大部分:“Description”,“Options”和“Examples”。这三部分是对命令的进一步说明。“Description”详细说明了该命令是干什么的,“Options”对命令选项作了更细致的说明,而“Examples”给出了许多应用该命令的例子。如果大家没有看懂前面“浓缩版”的帮助文件,就需要沉住气,慢慢地品味后面三部分的内

容。

以“WAGE1.dta”为例,运行如下的命令:

reg wage educ exper if female= =1 in 1/100 [aweight=educ], noc l(90)

可以得到:

这条命令是拿工资对教育水平和工作经验作回归,回归的样本限定为序号从1到100中的女性;考虑到可能存在的异方差,用教育水平作权重;此外,回归不包括常数项,且需要报告90%水平上的置信区间。至于回归结果,后文再进行解释。需要注意的是,条件语句中的等号为两个“=”,赋值语句中的等号为一个“=”,这符合一般的编程原则。

其他的运算符号还有:大于(>),小于(<),大于或等于(>=),小于或等于(<=),不等于(!=),和(&),或(|)等。圆括号可以改变运算的先后顺序。详情请参照operator的帮助文件。

下文提到的所有命令,大家都可以通过帮助文件来掌握它的详细语法。值得强调的是,看帮助文件、自学命令的使用方法是项辛苦的工作,需要大家的信心、耐心和细心。

四、“看”数据与“管”数据

现在,我们正式开始数据分析和处理的万里长征。第一步应该怎么走?许多人一拿到数据,就迫不及待地做回归——就如同猪八戒吃人参果,不观其色,不嗅其香,不品其味,不求其疵,吃到肚子里都不知怎么回事。倘若是好果子,这么吃有些可惜;倘若是坏果子,这么吃有伤身体。同样,一个数据,有它的魅力,也有它的瑕疵;在回归之前,最好用各种方法“看”数据:看它的基本含义、基本特征乃至基本规律,从而掌握数据的基本面貌。“看”完数据之后,难免会发现一些需要修剪的地方(或者是数据本身存在一些不足,或者是数据的状态不符合自己的分析习惯等),这就需要对数据进行初步的管理。“看”数据才能知道如何“管”数据,而“管”数据是为了更好地“看”数据,两者浑然一体。所以,下文将“看”数据和“管”数据的操作穿插在一起,并以“WAGE1.dta”为例进行说明。

首先,使用“list”等命令可以浏览整个数据。此外,点击菜单栏的图标(或运行“browse”),也可以看到整个数据。数据的界面和上文提到的点击图标(或运行“edit”)所得到的界面类似;不同之处在于,前者只能浏览数据,而后者可以编辑数据。

其次,你需要了解各个变量的特征和含义。运行“describe”命令,你可以看到:

“describe”命令是对数据和变量作基本描述的命令。运行该命令,我们可以得到样本容量、变量个数、变量名称、变量存储类型和格式以及变量的基本含义等信息。如果想修改变量名称、变量格式或变量含义等内容,可以分别使用“rename”, “format”和“label”等命令,也可以在数据编辑框中双击相应变量而直接修改。值得一提的是,在由大型问卷整理而来的数据中,由于变量众多,所以很难像“WAGE1.dta”这样给每个变量都起上非常直观的名字;通常的做法是把问卷问题的编号作为相应变量的名称。此时,大家需要对照问卷来了解各个变量的含义。

如果你想在既有变量的基础上定义新变量,可以用“generate”命令。比如,我想定义一个新的虚拟变量“male”。当该变量取值为0时,个体为女性;取值为1时,个体为男性。那么我可以运行下面的命令:

generate male = abs(female - 1)

其中,female是已经存在的变量——其取1时,个体为女性;取0时,个体为男性。abs(.)是绝对值函数(Stata中常用的函数或数学函数可以通过help functions 或help math functions获得。但是,并不是所有的函数都可以用于generate命令;如果遇到这种情况,可以尝试generate的扩展命令——egen)。那么,一列名为“male”的新变量就生成了。我还可以通过如下的方式来生成:

generate male = 0 if female = = 1

replace male = 1 if male = = .

第一行命令是对所有的女性样本定义变量male的取值。如果只运行第一行命令,会发现:对于女性样本,male取值为0;而对于男性样本,male的取值为“.”。这个小圆点代表missing value,即对于男性样本,变量male的值缺漏了。为了把这些缺漏的值补上,我们加上第二行命令。“replace”命令用来修改变量的取值。第二行命令的含义是:将变量male所有缺漏的值更改为1。如果不能用一个简单的数学函数生成整个变量,我们往往就要使用这种分步生成变量的方法。此外,在定义新变量的时候,写明变量的基本含义(即variable label)是一个良好的习惯,既方便别人了解数据,又防止自己遗忘变量的含义。如果想删除这个刚定义的变量,可以使用“drop”命令(“keep”命令是与其恰好相反的命令)。

如果想进一步了解每个变量取值的基本特征,可以运行“summarize”命令,从而得到:

其中包括与每个变量对应的样本容量、算术平均数、标准差、最小值和最大值等信息。从而,我们可以了解每个变量基本的取值特征和取值范围。此外,我们还可以初步地检查变量的取值有无技术性错误。比如,wage, educ和exper等变量都是非负数;当你看到这些变量的最小值是负数时,就要怀疑数据的录入是否正确(但有时,一些调查问卷会用负数来代表缺漏值)。再比如,变量“married”的含义是“婚否”,只取0和1两个值;如果看到其最大值是2,就很可能存在数据的录入错误。如果没有剔除这些“问题数据”而直接进行回归等分析,其结果就可能存在偏差。

此外,诸如ameans, centile, correlate, count, inspect, tabstat, tabulate等命令都可以从某个角度对变量及其数据进行粗略的描述。大家可以对照帮助文件掌握它们的语法。

有时,把样本个体按照某个变量的取值排序,会有助于对数据的清晰观察。运行

stata常见问题及解决办法个人总结笔记

1. 如何输出STATA的图,和保存? 先输入数据 (1)Twoway connected 变量1 变量2 //划出折线图 (2)twoway scatter 变量1 变量2 //划出散点图 2. 怎样在stata8中做HAUSMAN检验? 四步曲,重点在于解释结果 (1)xtreg y x , fe (2)est store fe (3)xtreg y x, re (4)hausman fe 如果拒绝,说明corr(x,ui)=0的假设是有问题的,需要重新设定RE model 后再进行检验,如果模型的设定没有问题,但检验还是拒绝原假设(p值接近0),那么就只能采用FE model 了,因为此时的RE 估计量是有偏的。 (definitely right. 当你使用stata的时候,最重要的命令不是这些是help and find it然后就能找到你的答案了) hausman检验是用来检验用fe还是re的,其原假设是re优于fe,从你的结果来看(Prob>chi2 =0.0000),应该拒绝原假设,所以应该用fe 3.stata里平方的命令怎么写? gen age=age^2 4. stata里边怎么取对数啊? gen lnx=log(x) 5.如何用STATA求自然对数?如说:ln(X^2)=-4.8536,如何求X啊? . dis sqrt(exp(-4.8536))或者dis exp(-4.8536/2) 6.关于hausman检验,结果是CHI2(2)=2355.81,prob>chi2=0.000,可以使用随机效应模型嘛? prob>chi2=0.000,is like p-value. we should reject the null, so fixed effect is preferred.Randome effect is not suggested. CHI2(2)=2355.81,就意味着拒绝原假设,从而选取固定效应模型。 7.我在做gdp一阶差分单位根检验的时候,输入的命令是ipshin dgdp,lags(1)得

Stata 自学笔记

Stata笔记 1.clear 2.input 3.save https://www.sodocs.net/doc/5d8962168.html,e 5.sysuse 6.d/des/desc/describe 7.sum & return list & ereturn list 8.reg 9.clear results 10.matrix 11.type 12.insheet 13.rename 14.infile 15.browse 16.xmluse https://www.sodocs.net/doc/5d8962168.html,press 18.xpose 19.tsset 20.outfile 21.outsheet 22.xmlsave 23.变量 Stata笔记 1.clear 清除内存数据。数据都是存入内存来计算的,所以在输入大量数据之前,要先清除内存中的数据来释放空间。删除的不光包括数据,还有变量,以及Data Editor 中的数据。(就是删除所有数据,什么都不留) 不影响已经存在硬盘上的数据。(只删除内存中的所有数据)

具体使用方法在下文中有具体例子。 手动输入数据。 可以分五次输入,也可以直接复制到Command 。 input x y x 50 30 20 20 30 50 20 52 60 end 保存数据。 此项如果保存在C 盘可能因为权限不够而报错。换到其他盘符即可。 save data_name[,replace] save 名称[,如果之前已经有这个名称,则替换(覆盖)。] 使用、导入(.dta )数据。 use data_name[,clear] use “file_path”[,clear] use url[,clear] use 名称[,清除。] 2.input 3.save https://www.sodocs.net/doc/5d8962168.html,e

让你快速上手的stata讲义

Stata简明讲义 王非 中国经济研究中心 ebwf@https://www.sodocs.net/doc/5d8962168.html,

〇、写在前面的话 关于学习Stata的意义,大家只需知道:目前,Stata是计量经济学、特别是微观计量经济学的主流软件。因此,Stata很重要、很有用,而大家也会在使用Stata 的过程中慢慢体会到它的特点。 本讲义取名为“Stata简明讲义”,意在突出“简”和“明”两个字。虽然讲义长达五十多页,但相比Stata的完全手册来说,还不及九牛之一毛,故为“简”。实际上,完全手册中的很多内容都鲜有人(特别是计量经济学者)问津,而本讲义列出的内容则是大家经常用到的操作;所以,“简”也有“简”的好处。即便如此,掌握这份讲义也并非易事。所谓“明”,是明晰的意思。本讲义本着“手把手教”的精神,力求把每项操作都说得具体明晰,以方便初学者(特别是没有程序操作经历的初学者)尽快上手。至于本讲义在“简明”上做得怎么样,还需要各位读者来评判。 中心的一位学长邹传伟,曾经写过一份“Stata介绍”,在网上可以下载。那份讲义比较全面,但不够具体明晰。本讲义参照那份讲义,在框架上查漏补缺,并进一步地明晰化。本讲义第二部分的“do文件”和第七部分的“残差分析”的相关内容均来自于中心的沈艳老师的相关讲义,而沈老师对于本讲义的成形给予了细致的指导。本讲义附带了一些数据文件,其中“WAGE1.dta”和“WAGEPRC.dta”均来自Wooldridge的中级计量教材的数据集,而其他数据则为作者自己的杜撰。尽管从别人那里拿来了许多好东西,但本讲义的任何错误仍源于作者自己的疏忽。 本讲义是这样安排的:第一部分讲Stata的界面,第二部分讲do文件,第三部分讲怎样把数据导入Stata,第四部分专门讲help和search命令以及帮助文件的阅读方法,第五部分讲数据的描述及管理,第六部分讲如何画图,第七部分讲初步的回归分析。

Stata学习笔记

以下命令均采用小写字母 Chapter 1 stata入门 打开数据 use "D:\Stata9\", clear 用use命令打开数据 sysuse auto,clear auto 为系统数据sysuse为打开系统数据的命令 获取帮助 Help summarize summarize为需要获取帮助对象可以改为其他的需要帮助的对象Findit summarize,net 寻找网络帮助summarize为需要获取帮助对象 Search summarize ,net 寻找网络帮助summarize为需要获取帮助对象 显示结果 Display 5+9 描述统计(summarize 可简写成sum) Use atuo,clear Summarize price 描述price的观察值个数、平均值、标准差、最小值、最大值 Sum weight summarize可简写成sum Sum weight price 同时完成上面两步 绘图 Scatter price weight scatter 为绘制散点图命令 Line price weight ,sort line 为绘制折线图命令,sort为排序,绘制折线图前需要先排序 生成新的数据(generate 可简写成gen) Clear Set obs 1000 设置观测值的组数 Gen x=_n _n 为观察值得序号 Gen y=x+100 控制结果输出显示 List n 设置屏幕滚动 Set more off 先设置此项则显示时,屏幕不停止 Set more on 先设置此项则显示时,会使显示停止 清除内存中原有内容 clear 设置文件存取路径(cd) Cd d:\stata d:\stata为路径

第六讲方差分析

第五章 方差分析 第一节 概述 前面介绍了两样本均数比较的t 检验,但在实际研究中经常需要多组均数的比较。如:例5.1 患有某种肿瘤的大白鼠接受不同实验处理后(对照未服药;服抗癌A 药;服抗癌B 药;服抗癌C 药),2周后体内存活的肿瘤细胞数如表5.1所示,比较不同实验处理后的平均存活肿瘤细胞数是否有差异。 表5.1 不同实验处理后存活肿瘤细胞数(有丝分裂细胞/10个高倍镜视野) 对照 服抗癌A 药 服抗癌B 药 服抗癌C 药 合计 48 45 23 5 50 51 20 6 46 47 22 0 52 48 19 2 48 47 21 2 50 4 N 5 6 5 6 22 x 48.80 48.00 21.00 3.17 33.45 s 2.28 2.19 1.58 2.23 20.14 本例中共有4种实验处理,在实验设计中称为一个因素中的4个水平:第一个水平为对照处理;第二个水平为服用A 药处理;第三个水平为服用B 药处理;第四个水平为服用C 药处理。根据本例的研究问题,相应的假设检验为 H 0:μ1=μ2=μ3=μ4 vs H 1:μ1,μ2,μ3,μ4不全相同 ● 不能用t 检验进行两两比较,第一类错误会增大。 由于本例共有4组的均数需要比较。如果用t 检验进行两两比较,共要进行2 46C =次 t 检验。如果每次t 检验犯第一类错误的概率为0.05,则不犯第一类错误的概率为0.95, 6次都不犯第一类错误的概率为60.950.7351=,因此在6次t 检验中至少有一次犯第一类错误的概率为610.950.26490.05-=>>。由此可见用t 检验进行多组均数的比较会增大犯第一类错误的概率。 ● 要用方差分析或多组的秩和检验(Kruskal Wallis test)的方法进行多组比较: 方差分析的英文全称为Analysis of Variance ,缩写简称为ANOVA 。 ● 统计分析策略 ? 如果每一组资料服从正态分布(或大样本),并且方差齐性,则可以用方差分析的方 法进行比较。

stata简单讲义第六讲

线性相关和回归 赵耐青 在实际研究中,经常要考察两个指标之间的关系,即:相关性。现以体重与身高的关系为例,分析两个变量之间的相关性。要求身高和体重呈双正态分布,既:在身高和体重平均数的附近的频数较多,远离身高和体重平均数的频数较少。 样本相关系数计算公式(称为Pearson 相关系数): ) () () )((2 2 YY XX XY L L L Y Y X X Y Y X X r = ----= ∑ ∑ ∑ (1) 1. 考察随机模拟相关的情况。 显示两个变量相关的散点图程序simur.ado (本教材配套程序,使用见前言)。命令为simur 样本量 总体相关系数 如显示样本量为100,ρ=0的散点图 本例命令为simur 100 0

如显示样本量为200,ρ=0.8的散点图本例命令为simur 200 0.8 如显示样本量为200,ρ=0.99的散点图本例命令为simur 200 0.99

如显示样本量为200,ρ=-0.99的散点图 本例命令为simur 200 -0.99 例1. 测得某地15名正常成年男子的身高x(cm)、体重y(kg)如试计算x和y之间的相关系数r并检验H0:ρ=0 vs H1: ρ≠0。 α=0.05

数据格式为 176.0 69.0 175.0 74.0 172.0 68.0 170.0 64.0 173.0 68.5 168.0 56.0 172.0 54.0 170.0 62.0 172.0 63.0 173.0 67.0 168.0 60.0 171.0 68.0 172.0 76.0 173.0 65.0 Stata命令pwcorr 变量1 变量2 …变量m,sig 本例命令pwcorr x y,sig pwcorr x y,sig Pearson相关系数=0.5994,P值=0.0182<0.05,因此可以认为身高与体重呈正线性相关。

Stata笔记-北京科技大学

改颜色edit-preference-general prefernce-classic 下面命令框-右键-font-改字号 命令cd d:\ 改到d盘(change directory) dir查询d盘有什么 sysuse auto 系统自带汽车数据,数据变量(字段)显示在右上角 br(owse) 浏览数据(字符型红色,数值型黑色,蓝色-右键-value labels-hide all labels标签隐藏) h(elp) li(st) 告诉你命令怎么用,下面有例子 左边双击执行,单击复制到命令框 order price mpg(单击右边的变量) order make-foreign 改变变量顺序,从make到foreign g(enerate) new=rep78-trunk 输出新变量(rep78,trunk是字段,可单击选择,"."表示缺省,加减乘除+-*/) list if new==14 (==为等于,=为赋值,可以点击more) li(st) if new2>=14 & new2<24 (按q可以退出,即quit) replace new3=rep78 (输错了替换) drop new new2 new3删除变量 list if new>10000 list make if new<10000|new>2000 (竖线表示或者,回车上面那个) !=表示不等于 左边命令,右键save save data 文件名为data sysuse auto preserve reserve save auto2 保存时不需加后缀,删除时带后缀.dta sort price从小到大 gsort price 都可以,比较随意 gsort -trunk price (默认加号,为排序) order make new (将new排到第二位) aorder (alphabetic 按字母顺序排序) disp(lay) sin(1) 作为计算器使用 ln以e为底 ----------------3.13--------- 锐思数据库选择数据 -----非金融行业负债表---- 左边-财务报表-非金融行业 合并标识-1合并报表 调整标识-1 报表类型-q4、信息来源-q4 公司类别-20-定期报告 信息来源:q4 a股股票代码

stata学习笔记

经济数据的特点与类型。 1、横截面数据:多个经济个体的变量在同一时间点上的取值,如2012年中国各省的GDP 2、时间数列数据:指的是某个经济个体的变量在不同时点上的取值,如1978-2012年山东 省每年的GDP 3、面板数据:多个经济个体的变量在不同时点上的取值,如1978-2012年中国各省的GDP 小样本OLS(最小二乘法):单一方程线性回归最常见方法 条件:解释变量与扰动项正交、扰动项无自相关、同方差。 拟合优度:衡量线性回归模型对样本数据的拟合程度(R2),越高说明模型拟合程度越好。单系数T检验:对回归方程扰动项的具体概率进行假设 显著性水平进行检验 F检验:整个回归方程是否显著 STATA操作简介: 如果数据中包含1949-10-01或1949/10/01的时间变量,导入stata后可能会被视为字符串,因此对于日度数据,可以使用命令gen newvar=date(varname,YMD),将其转换为整数日期变量,其中YMD说明原始数据的格式为年月日,如果原始数据的格式为月日年则使用MDY;对于月度数据则gen newvar=monthly(varname,YM)。 .describe:数据的概貌.drop keep:删除和保留 .su:统计特征Pwcorr:变量之间相关系数 Star(.05):5%显著性水平gen:产生 g intc=log(tc):取自然对数. reg:OLS回归 .Vce:协方差矩阵reg。。。,noc表示在进行回归时不要常数项 大样本OLS:只要求解释变量与同期的扰动项正交即可Robust:稳健标准误,如果存在异方差,则应使用稳健标准误

复旦大学stata精华学习笔记

Stata: 输出regression table到word和excel 1. 安装estout。最简单的方式是在stata的指令输入: ssc install estout, replace EST安装的指导网址是:https://www.sodocs.net/doc/5d8962168.html,/bocode/e/estout/installation.html 2.跑你的regression 3.写下这行指令esttab using test.rtf,然后就会出现个漂亮的表格给你(WORD 文档)。只要再小幅修改,就可以直接用了。这个档案会存在my document\stata 下。如果你用打开的是一个stata do file,结果会保存到do文件所在文件夹中。如果要得到excel文件,就把后缀改为.xls或者.csv就可以了 4.跑多个其实也不难,只要每跑完一个regression,你把它取个名字存起来:est store m1。m1是你要改的,第一个model所以我叫m1,第二个的话指令就变成est store m2,依次类推。 5.运行指令:esttab m1 m2 ... using test.rtf就行了。 异方差的检验: Breusch-Pagan test in STATA: 其基本命令是:estat hettest var1 var2 var3 其中,var1 var2 var3 分别为你认为导致异方差性的几个自变量。是你自己设定的一个 滞后项数量。 同样,如果输出的P-Value 显著小于0.05,则拒绝原假设,即不存在异方差性。 White检验: 其基本命令是在完成基本的OLS 回归之后,输入 imtest, white 如果输出的P-Value 显著小于0.05,则拒绝原假设,即不存在异方差性 处理异方差性问题的方法: 方法一:WLS WLS是GLS(一般最小二乘法)的一种,也可以说在异方差情形下的GLS就是WLS。在WLS下,我们设定扰动项的条件方差是某个解释变量子集的函数。之所以被称为加权最小二乘法,是因为这个估计最小化的是残差的加权平方和,而上述函数的倒数恰为其权重。 在stata中实现WLS的方法如下: reg (被解释变量)(解释变量1)(解释变量2)…… [aweight=变量名]

stata笔记要点

1.一般检验 假设系数为 0,t 比较大则拒绝假设,认为系数不为 0. 假设系数为 0,P 比较小则拒绝假设,认为系数不为 0. 假设方程不显著,F 比较大则拒绝假设,认为方程显著。 2.小样本运用 OLS 进行估计的前提条件为: (1)线性假定。即解释变量与被解释变量之间为线性关系。这一前提可以通过将非线性转换为线性方程来解决。 (2)严格外生性。即随机扰动项独立于所有解释变量:与解释变量之间所有时候都是正交关系,随机扰动项期望为 0。(工具变量法解决) (3)不存在严格的多重共线性。一般在现实数据中不会出现,但是设置过多的虚拟变量时,可能会出现这种现象。Stata 可以自动剔除。 (4)扰动项为球型扰动项,即随即扰动项同方差,无自相关性。 3.大样本估计时,一般要求数据在 30 个以上就可以称为大样本了。大样本的前提是 (1)线性假定 (2)渐进独立的平稳过程 (3)前定解释变量,即解释变量与同期的扰动项正交。 (4)E(XiXit)为非退化矩阵。 (5)gt 为鞅差分序列,且其协方差矩阵为非退化矩阵。 与小样本相比,其不需要严格的外生性和正太随机扰动项的要求。 4.命令 稳健标准差回归:reg y x1 x2 x3, robust 回归系数与 OLS 一样,但标准差存在差异。如果认为存在异方差,则使用稳健标准差。使用稳健标准差可以对大样本进行检验。 只要样本容量足够大,在模型出现异方差的情况下,使用稳健标准差时参数估计、假 设检验等均可正常进行,即可以很大程度上消除异方差带来的副作用 对单个系数进行检验:test lnq=1 线性检验:testnl_b[lnpl]=_b[lnq]^2 5.如果回归模型为非线性,不方便使用 OLS,则可以采取最大似然估计法(MLE),或者非线 性最小二乘法(NLS) 6.违背经典假设,即存在异方差的情况。截面数据通常会出现异方差。 因此检验异方差可以: (1)看残差图,但只是直观,可能并不准确。 rvfplot(residual-versus-fitted plot)与拟合值的散点图 rvpplot varname(residual-versus-predictor plot)与解释变量的散点图 扰动项的方差随观测值而变动,表示可能存在异方差。 (2)怀特检验: estat imtest,white(post-estimation information matrix test) P比较小,则拒绝同方差假设,表示存在异方差,不能用OLS。反之则证明为同方差。 (3)BP 检验 estat hettest,iid (默认设置为使用拟合值 y^) estat hettest, rhs iid (使用方程右边的解释变量,而不是 y^)

stata简单讲义第五讲

Stata软件基本操作和数据分析入门 第五讲多组平均水平的比较 赵耐青 一、复习和补充两组比较的统计检验 1. 配对设计资料(又称为Dependent Samples) a)对于小样本的情况下,如果配对的差值资料服从正态分布,用配对t检验 (ttest 差值变量=0) b)大样本的情况下,可以用配对t检验 c)小样本的情况下,并且配对差值呈偏态分布,则用配对符号秩检验(signrank 差值变量=0) 2. 成组设计(Two Independent Samples) a)如果方差齐性并且大样本情况下,可以用成组t检验(ttest 效应指标变 量,by(分组变量)) b)如果方差齐性并且两组资料分别呈正态分布,可以用成组t检验 c)(Ranksum test)

二、多组比较 1. 完全随机分组设计(要求各组资料之间相互独立) a)方差齐性并且独立以及每一组资料都服从正态分布(小样本时要求),则采用 完全随机设计的方差分析方法(即:单因素方差分析,One Way ANOV A)进 行分析。 b)方差不齐或小样本情况下资料偏态,则用Kruskal Wallis 检验(H检验) 例5.1 为研究胃癌与胃粘膜细胞中DNA含量(A.U)的关系,某医师测得数据如下,试问四 组人群的胃粘膜细胞中平均DNA含量是否相同? 组别group DNA含量(A.U) 浅表型胃炎 1 9.81 12.73 12.29 12.53 12.95 9.53 12.6 8.9 12.27 14.26 10.68 肠化生 2 14.61 17.54 15.1 17 13.39 15.32 13.74 18.24 13.81 12.63 14.53 16.17早期胃癌 3 23.26 20.8 20.6 23.5 17.85 21.91 22.13 22.04 19.53 18.41 21.48 20.24

Stata学习笔记和国贸理论总结

Stata学习笔记 一、认识数据 (一)向stata中导入txt、csv格式的数据 1.这两种数据可以用文本文档打开,新建记事本,然后将相应文档拖入记事本即可打开数据,复制 2.按下stata中的edit按钮,右键选择paste special 3.*.xls/*.xlsx数据仅能用Excel打开,不可用记事本打开,打开后会出现乱码,也不要保存,否则就恢复不了。逗号分隔的数据常为csv数据。 (二)网页数据 网页上的表格只要能选中的,都能复制到excel中;网页数据的下载可以通过百度“国家数据”进行搜索、下载 二、Do-file 和 log文件 打开stata后,第一步就要do-file,记录步骤和历史记录,方便日后查看。Stata处理中保留的三种文件:原始数据 (*.dta),记录处理步骤 (*.do),以及处理的历史记录 (*.smcl)。 三、导入Stata Stata不识别带有中文的变量,如果导入的数据第一行有中文就没法导入。但是对于列来说不会出现这个问题,不分析即可(Stata不分析字符串,红色文本显示;被分析的数据,黑色显示);第一行是英文变量名,选择“Treat first row as variable names” 在导入新数据的时候,需要清空原有数据,clear命令。 导入空格分隔数据:复制——Stata中选择edit按钮或输入相应命令——右键选择paste special——并选择,确定;导入Excel中数据,复制粘贴即可;逗号分隔数据,选择paste special后点击comma,然后确定。 Stata数据格式为 *.dta,导入后统一使用此格式。 四、基本操作(几个命令) (一)use auto,clear 。在清空原有数据的同时,导入新的auto数据。 (二)browse 。浏览数据。

V131-STATA全套数据资料+讲义-Chen_QJ_修改说明1

《资本-劳动替代弹性与地区经济增长》 修改说明 对审稿意见1的答复 非常感谢贵刊审稿人在百忙之中审阅拙作,并提出了一些宝贵的修改意见。参考这些意见,我们对文章初稿进行了如下几个方面的修改: (1)对文中部分公式的推导过程进行了更为细致的说明,统一放置于附录1。 (2)对文中所使用的估计方法——可行性一般化非线性最小二乘法(FGNLS)的具体实现过程,尤其是相关参数初始值的设定方法进行了更为细致的说明,请见正文和附录2。 (3)其它一些细节上的调整和完善。包括:对部分表述不妥之处的修改;增加了6条参考文献;对实证结果进行了更为细致的讨论,突出了本文结论所隐含的政策含义等。 下面,我们针对审稿人提出的问题给出详细答复。 审稿意见:本文估算了我国不同省份的资本-劳动替代弹性,并进一步考察了资本-劳动替代弹性对经济增长的影响。论文考察的问题具有较为重要的理论和现实意义,但文章仍存在较多的问题,建议作者进一步修正和完善。 下面我们具体指出本文存在的问题,如有不妥之处也请谅解。 1.本文第三部分替代弹性与经济增长率关系的理论分析中存在的问题较多,这里得不到作者想要的结论,本部分存在的问题如下: (1)在新古典增长框架下,经济增长率是外生给定的,经济增长率取决于人口增长率与技术进步率。在本的框架下,均衡状态人均产出的增长率等于零,而与资本-劳动替代弹性无关,因此得不到本文的结论。 (2)文中方程(1)后资本边际生产率括号外的指数有误,请仔细核实; (3)文中方程(3)前的推导有误,得不到文中方程(3)的结论; (4)同样的,也得不到文中方程(4)的结论。 答复:本文以新古典生产函数为基础来推导经济增长率和替代弹性的关系,分析中采用索洛基本方程,但并没有分析经济处于稳态时替代弹性对经济增长率的影响。此外,Klump and de La Grandville(2000)的理论分析研究表明,当经济处于稳态时,具有较高替代弹性的经济体的人均产出水平的增长率将更高,所以,即使在新古典框架下,替代弹性将影响稳态时的经济增长率。在替代弹性大于1的条件下,资本-劳动比趋于无穷大时,资本的边际产量大于0,因此,即使没有技术进步也能实现经济增长,即内生经济增长。 我们仔细检查了理论分析部分推导过程,发现资本边际生产率括号外的指数应为 1 1 σ- ,我

江西财经大学营销调研stata软件笔记

.sysuse auto,clear 从内存中调一笔数据 .help sysuse 帮助菜单 help+其他单词都弹出帮助菜单 .sysuse dir 出来的结果↓ .auto.dta census.dta fscstage1.dta network1.dta strepto.dta voter.dta autornd.dta cholesterol.dta gnp96.dta network1a.dta telomerase.dta xrcise4deprsn.dta bcg.dta citytemp.dta haloperidol.dta nlsw88.dta tsline1.dta xtline1.dta bplong.dta citytemp4.dta lifeexp.dta nlswide1.dta tsline2.dta bpwide.dta educ99gdp.dta lubin97.dta pop2000.dta uslifeexp.dta cancer.dta fleiss.dta magnes.dta sp500.dta uslifeexp2.dta .sysuse sp500,clear 查询sp500的相关数据 .clear 清除数据 .edit 建立空白数据表格 .rename var1 code 把var1(原始表格列命名)重命名为code .label variable val2 “年龄” .label variable val2 “age” .help rename 重命名的帮助菜单 webuse renamexmpl 从网上下载一些数据 des (describe the data)表格中的数据分析 renpfix income inc 批量更改数据 .insheet using "D:\data0507.txt",clear 通过命令导入文件 .sysuse auto,clear sumarize price.detail .stata的命令结构如下 [bysort:] command [][][][][] .help tab(tabulate) sysuse census, clear describe contains data from D:\ado\base/c/census.dta obs: (观测值) 50 1980 Census data by state vars:(变量名) 13 6 Apr 2009 15:43 size: 3,100 (99.9% of memory free) --------------------------------------------------------------------- --------------------------------------------------------------- storage display value variable name type format label variable label --------------------------------------------------------------------- ---------------------------------------------------------------

Stata时间序列笔记

文档结尾是FAQ和var建模的15点注意事项 【梳理概念】 向量自回归(VAR, Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。 V AR模型: V AR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的要求。 V AR模型对于相互联系的时间序列变量系统是有效的预测模型,同时,向量自回归模型也被频繁地用于分析不同类型的随机误差项对系统变量的动态影响。如果变量之间不仅存在滞后影响,而不存在同期影响关系,则适合建立V AR模型,因为V AR模型实际上是把当期关系隐含到了随机扰动项之中。 协整: Engle和Granger(1987a)指出两个或多个非平稳时间序列的线性组合可能是平稳的。假如这样一种平稳的或的线性组合存在,这些非平稳(有单位根)时间序列之间被认为是具有协整关系的。这种平稳的线性组合被称为协整方程且可被解释为变量之间的长期均衡关系。 * 第六讲时间序列分析 *---- 目录----- * *-- 简介 * 6.1 时间序列数据的处理 *-- 平稳时间序列模型 * 6.2 ARIMA 模型 * 6.3 V AR 模型 *-- 非平稳时间序列模型——近些年得到重视,发展很快 * 6.4 非平稳时间序列简介 * 6.5 单位根检验——检验非平稳 * 6.6 协整分析——非平稳序列的分析 *-- 自回归条件异方差模型 * 6.7 GARCH 模型——金融序列不同时点上序列的差异

反映动态关系的时间数据顺序不可颠倒 cd d:\stata10\ado\personal\Net_Course\B6_TimeS *======================= * 时间序列数据的处理help time *======================= * 声明时间序列:tsset 命令 use gnp96.dta, clear list in 1/20 gen Lgnp = L.gnp(此时没办法生成之后一阶的变量,因为没有设定时间变量) tsset date(设定date为时间变量,timeseries) list in 1/20 gen Lgnp = L.gnp96 滞后一期,所以会产生1个缺失值 ●检查是否有断点——肉眼看不方便,用命令检查 use gnp96.dta, clear tsset date tsreport, report drop in 10/10 ——去掉断点成连续的,才能继续进行 list in 1/12 tsreport, report tsreport, report list/*列出存在断点的样本信息*/ ●填充缺漏值——接着上一步,看看stata如何填充缺漏值。一般用前面的数据的平均值或 预测等 Tsfill(以缺漏值的形式)

stata 学习笔记(持续更新中) (2011-04-14 212642)

一、异方差怀特检验 在stata中没有这个命令。联网的情况下,使用“ssc install whitetst”即可下载安装。以下命令也可以用来找命令,例如找bpagan 命令 indit bpagan 或 search bpagan, all 二、scalar 标量 scalar a=2 //赋予标量a的值为2 dis a+2 //a+2=2+2=4 scalar b=a+3 //b=a+3=2+3=5 di b //结果窗口显示出:5 scalar s=”hello”//标量也可以为字符型 di s //结果窗口显示出: hello 三、异方差的纠正——WLS(weighted least square estimator) (1)基本思路: reg y x1 x2 x3 [aw=x1](将x1作为异方差的来源,对方程进行修正) 上式相当于: reg y/(x1^0.5) 1/(x1^0.5) x1/(x1^0.5) x2/(x1^0.5) x3/(x1^0.5),noconstant (2)纠正异方差的常用套路(构造h值) reg y x1 x2 x3 predict u,resid gen usq=u^2 gen logusq=log(usq) reg logusq x1 x2 x3 predict g gen h=exp(g) reg y x1 x2 x3 [aw=1/h] 异方差hausman检验: reg y x1 x2 x3 est store A(将上述回归结果储存到A中) reg y x1 x2 x3 [aw=1/h] est store B hausman A B 当因变量为对数形式时(log(y))如何预测y reg logy x1 x2 x3 predict k gen m=exp(k) reg y m,noconstant m的系数为i y的预测值=i×exp(k) 四、stata 生成虚拟变量 生成虚拟变量

Stata操作讲义知识讲解

操S义讲作atat Stata操作讲义 第一讲 Stata操作入门 第一节概况 Stata最初由美国计算机资源中心(Computer Resource Center)研制,现在为Stata公司的产品,其最新版本为7.0版。它操作灵活、简单、易学易用,是一个非常有特色的统计分析软件,现在已越来越受到人们的重视和欢迎,并且和SAS、SPSS一起,被称为新的三大权威统计软件。 Stata最为突出的特点是短小精悍、功能强大,其最新的7.0版整个系统只有10M左右,但已经包含了全部的统计分析、数据管理和绘图等功能,尤其是他的统计分析功能极为全面,比起1G以上大小的SAS系统也毫不逊色。另外,由于Stata在分析时是将数据全部读入内存,在计算全部完成后才和磁盘交换数据,因此运算速度极快。 由于Stata的用户群始终定位于专业统计分析人员,因此他的操作方式也别具一格,在Windows席卷天下的时代,他一直坚持使用命令行/程序操作方式,拒不推出菜单操作系统。但是,Stata的命令语句极为简洁明快,而且在统计分析命令的设置上又非常有条理,它将相同类型的统计模型均归在同一个命令族下,而不同命令族又可以使用相同功能的选项,这使得用户学习时极易上手。更为令人叹服的是,Stata语句在简洁的同时又拥有着极高的灵活性,用户可以充分发挥自己的聪明才智,熟练应用各种技巧,真正做到随心所欲。 除了操作方式简洁外,Stata的用户接口在其他方面也做得非常简洁,数据格式简单,分析结果输出简洁明快,易于阅读,这一切都使得Stata成为非常适合于进行统计教学的统计软件。

Stata的另一个特点是他的许多高级统计模块均是编程人员用其宏语言写成的程序文件(ADO文件),这些文件可以自行修改、添加和下载。用户可随时到Stata网站寻找并下载最新的升级文件。事实上,Stata的这一特点使得他始终处于统计分析方法发展的最前沿,用户几乎总是能很快找到最新统计算法的Stata程序版本,而这也使得Stata自身成了几大统计软件中升级最多、最频繁的一个。 由于以上特点,Stata已经在科研、教育领域得到了广泛应用,WHO的研究人员现在也把Stata作为主要的统计分析工作软件。 第二节 Stata操作入门 一、Stata的界面 图1即为Stata 7.0启动后的界面,除了Windows版本的软件都有的菜单栏、工具栏,状态栏等外,Stata的界面主要是由四个窗口构成,分述如下: 1.结果窗口 位于界面右上部,软件运行中的所有信息,如所执行的命令、执行结果和出错信息等均在这里列出。窗口中会使用不同的颜色区分不同的文本,如白色表示命令,红色表示错误信息。 2.命令窗口 位于结果窗口下方,相当于DOS软件中的命令行,此处用于键入需要执行的命令,回车后即开始执行,相应的结果则会在结果窗口中显示出来。 3.命令回顾窗口 即review窗口,位于界面左上方,所有执行过的命令会依次在该窗口中列出,单击后命令即被自动拷贝到命令窗口中;如果需要重复执行,用鼠标双击相应的命令即可。 4.变量名窗口 位于界面左下方,列出当前数据及中的所有变量名称。 除以上四个默认打开的窗口外,在Stata中还有数据编辑窗口、程序文件编辑窗口、帮助窗口、绘图窗口、Log窗口等,如果需要使用,可以用Window或Help菜单将其打开。 二、数据的录入与储存. Stata为用户提供了简捷,但是非常完善的数据接口,熟悉它的用法是使用Stata的第一步,在Stata中读入数据可以有三种方式:直接从键盘输入、打开已有数据文件和拷贝、粘贴方式交互数据。 (1)从键盘输入数据 在Stata中可以使用命令行方式直接建立数据集,首先使用input命令制定相应的变量名称,然后一次录入数据,最后使用end语句表明数据录入结束。 例1 在某实验中得到如下数据,请在Stata中建立数据集。 观测数据:X 1 3 5 7 9 ,Y 2 4 6 8 10 解:此处需要建立两个变量X、Y,分别录入相应数值,Stata中的操作如下,其中划线部分为操作者输入部分。 (2)用Stata的数据编辑工具

stata笔记

1.一般检验假设系数为0,t比较大则拒绝假设,认为系数不为0. 假设系数为0,P比较小则拒绝假设,认为系数不为0. 假设方程不显着,F比较大则拒绝假设,认为方程显着。 2.小样本运用OLS进行估计的前提条件为: (1)线性假定。即解释变量与被解释变量之间为线性关系。这一前提可以通过将非线性转换为线性方程来解决。 (2)严格外生性。即随机扰动项独立于所有解释变量:与解释变量之间所有时候都是正交关系,随机扰动项期望为0。(工具变量法解决) (3)不存在严格的多重共线性。一般在现实数据中不会出现,但是设置过多的虚拟变量时,可能会出现这种现象。Stata可以自动剔除。 (4)扰动项为球型扰动项,即随即扰动项同方差,无自相关性。 3.大样本估计时,一般要求数据在30个以上就可以称为大样本了。大样本的前提是 (1)线性假定 (2)渐进独立的平稳过程 (3)前定解释变量,即解释变量与同期的扰动项正交。 (4)E(XiXit)为非退化矩阵。 (5)gt为鞅差分序列,且其协方差矩阵为非退化矩阵。 与小样本相比,其不需要严格的外生性和正太随机扰动项的要求。 4.命令 稳健标准差回归:reg y x1 x2 x3, robust 回归系数与OLS一样,但标准差存在差异。如果认为存在异方差,则使用稳健标准差。使用稳健标准差可以对大样本进行检验。 只要样本容量足够大,在模型出现异方差的情况下,使用稳健标准差时参数估计、假设检验等均可正常进行,即可以很大程度上消除异方差带来的副作用 对单个系数进行检验:test lnq=1 线性检验:testnl _b[lnpl]=_b[lnq]^2 5.如果回归模型为非线性,不方便使用OLS,则可以采取最大似然估计法(MLE),或者非线性最小二乘法(NLS) 6.违背经典假设,即存在异方差的情况。截面数据通常会出现异方差。 因此检验异方差可以: (1)看残差图,但只是直观,可能并不准确。 rvfplot (residual-versus-fitted plot) 与拟合值的散点图 rvpplot varname (residual-versus-predictor plot) 与解释变量的散点图 扰动项的方差随观测值而变动,表示可能存在异方差。 (2)怀特检验: estat imtest, white (post-estimation information matrix test) P比较小,则拒绝同方差假设,表示存在异方差,不能用OLS。反之则证明为同方差。(3)BP检验 estat hettest,iid (默认设置为使用拟合值y^) estat hettest, rhs iid (使用方程右边的解释变量,而不是y^) estat hettest [ varlist],iid (使用某个指定的解释变量) P小,则拒绝原假设。 如果存在异方差,则可以:

stata常见问题及解决办法个人总结笔记

先输入数据 (1) Twoway connected 变量 1 变量 2 怎样在stata8 中做HAUSMAN验? 四步曲,重点在于解释结果 ( 1 ) xtreg y x , fe ( 2) est store fe ( 3) xtreg y x, re ( 4) hausman fe 如果拒绝,说明corr(x,ui)=0 的假设是有问题的,需要重新设定REmodel 后再进行检验,如果模型的设定没有问题,但检验还是拒绝原假设( p值接近0), 那么就只能采用FE model 了,因为此时的RE 估计量是有偏的。 ( definitely right. 当你使用stata 的时候,最重要的命令不是这些是help and find it 然后就能找到你的答案了) hausman检验是用来检验用fe还是re的,其原假设是re优于fe,从你的结果来看( Prob>chi2 = ),应该拒绝原假设,所以应该用fe 3.stata 里平方的命令怎么写? gen age=age A2 4.stata 里边怎么取对数啊? gen lnx=log(x) 5.如何用STATA求自然对数?如说:In訳八2)=,如何求X啊? . dis sqrt(exp) 或者dis exp2) 6.关于hausman检验,结果是CHI2(2)=,prob>chi2 =,可以使用随机效应模型嘛?prob>chi2 = ,is like p-value. we shouId reject the nuII, so fixed effect is effect is not suggested. CHI2(2)=,就意味着拒绝原假设,从而选取固定效应模型。 7.我在做gdp 一阶差分单位根检验的时候,输入的命令是ipshin dgdp,lags (1) 得到的结果:Im-Pesaran-Shin test for cross-sectionally demeaned dgdpDeterministics chosen: constantt-bar test, N,T = (27,7) = 135 Obs

相关主题