1、Stata 常用命令大学期间觉得学的最有用的软件之一就是 stata 了,对 stata 基本是在血和泪的尝试中爬过,到了最后基本属于只要 stata 不出现红字错误命令就开心得不得了。顺便整理一下常用的 stata 命令如下,应该对付计量方向第一学期的入门问题不大(求 stata 大神不虐),所以就只写了一部分常用的,有时间后面再补充吧。主要就是分为基本操作和回归统计两部分:1、基本操作import/use/insheet/merge:基本常用的导入文件就是这四个了,建议直接从 stata 的 menu 菜单中导入,导入 xlsx 和 csv 这种常见的格式时还有一些备用选项可以自己体验一下
2、(比如 string 和把第一行视为变量名之类)。merge 需要单独说一下,因为是将两个数据库合并为一个,原理也比较简单,两个数据库中根据一些相同的变量把其他数据“加” 到原来的数据库中,也是建议直接菜单操作,不要用命令。在 Data 的Combine datasets 的 merge two datasets 中,分为 1:1、 m:1、1:m 各种形式,基本用两次就差不多能搞懂。help:一定第一个学的是这个!啥不会就 help 一下,不知道函数了就 help function,不知道回归细节就 help regress,多读 help 文件!gen/egen: 最常用的建立函数的命令,
3、这两个不同之处在于 gen 一般是初等函数,egen 的函数会复杂一些。常用的函数包括数学函数和其他函数,比如 count/tag 之类,建议直接到菜单里 Data 下Create data 的 create new variable 或 create new variable(extended)直接生成函数,会方便的多。mean/abs/sqrt/max/min/sum/sd:常用数学函数,分别是求均值、绝对值、方根、最大最小、求和、方差用的。keep if/drop if:这两个也是最常用的,在数据需要进行筛选的时候,两个命令的区别也很明显,keep 是留下哪些,drop 是去掉哪些。一般
4、在 if 后面都会跟一些等式或不等式条件,比如 drop if days3 (按所列变量与条件打开数据查看器) edit x1 x2 if x33 (按所列变量与条件打开数据编辑器) 数据合并(merge)与扩展(append ) merge 表示样本量不变,但增加了一些新变量;append 表示样本总量增加了,但变量数目不变。 one-to-one merge: 数据源自 stata tutorial 中的 exampw1 和 exampw2 第一步:将 exampw1 按 v001v003 这三个编码排序,并建立临时数据库 tempw1 clear use “t:statatutexamp
5、w1.dta“ su summarize 的简写 sort v001 v002 v003 save tempw1 第二步:对 exampw2 做同样的处理 clear use “t:statatutexampw2.dta“ su sort v001 v002 v003 save tempw2 第三步:使用 tempw1 数据库,将其与 tempw2 合并: clear use tempw1 merge v001 v002 v003 using tempw2 第四步:查看合并后的数据状况: ta _merge tabulate _merge 的简写 su 第五步:清理临时数据库,并删除_merg
6、e,以免日后合并新变量时出错 erase tempw1.dta erase tempw2.dta drop _merge 数据扩展 append: 数据源自 stata tutorial 中的 fac19 和 newfac clear use “t:statatutfac19.dta“ ta region append using “t:statatutnewfac“ ta region 合并后样本量增加,但变量数不变 茎叶图: stem x1,line(2) (做 x1 的茎叶图,每一个十分位的树茎都被拆分成两段来显示,前半段为 04,后半段为 59) stem x1,width(2) (做
7、 x1 的茎叶图,每一个十分位的树茎都被拆分成五段来显示,每个小树茎的组距为 2) stem x1,round(100) (将 x1 除以 100 后再做 x1 的茎叶图) 直方图 采用 auto 数据库 histogram mpg, discrete frequency normal xlabel(1(1)5) (discrete 表示变量不连续,frequency 表示显示频数,normal 加入正太分布曲线,xlabel 设定 x 轴,1 和 5 为极端值,(1)为单位) histogram price, fraction norm (fraction 表示 y 轴显示小数,除了 fre
8、quency 和 fraction 这两个选择之外,该命令可替换为“percent”百分比,和“density”密度;未加上 discrete 就表示将 price 当作连续变量来绘图) histogram price, percent by(foreign) (按照变量“foreign”的分类,将不同类样本的 “price”绘制出来,两个图分左右排布) histogram mpg, discrete by(foreign, col(1) (按照变量“foreign”的分类,将不同类样本的 “mpg”绘制出来,两个图分上下排布) histogram mpg, discrete percent
9、by(foreign, total) norm (按照变量“foreign”的分类,将不同类样本的 “mpg”绘制出来,同时绘出样本整体的“总” 直方图) 二变量图: graph twoway lfit price weight | scatter price weight (作出 price 和 weight 的回归线图 “lfit”,然后与 price 和 weight 的散点图相叠加) twoway scatter price weight,mlabel(make) (做 price 和 weight 的散点图,并在每个点上标注“make”,即厂商的取值) twoway scatter
10、price weight | lfit price weight,by(foreign) (按照变量 foreign 的分类,分别对不同类样本的 price 和 weight 做散点图和回归线图的叠加,两图呈左右分布) twoway scatter price weight | lfit price weight,by(foreign,col(1) (按照变量 foreign 的分类,分别对不同类样本的 price 和 weight 做散点图和回归线图的叠加,两图呈上下分布) twoway scatter price weight fweight= displacement,msymbol(o
11、h) (画出 price 和 weight 的散点图,“msybol(oh)” 表示每个点均为中空的圆圈,fweight= displacement表示每个点的大小与 displacement 的取值大小成比例) twoway connected y1 time,yaxis(1) | y2 time,yaxis(2) (画出 y1 和 y2 这两个变量的时间点线图,并将它们叠加在一个图中,左边“yaxis(1)” 为 y1 的度量,右边“yaxis(2)”为 y2 的) twoway line y1 time,yaxis(1) | y2 time,yaxis(2) (与上图基本相同,就是没有点
12、,只显示曲线) graph twoway scatter var1 var4 | scatter var2 var4 | scatter var3 var4 (做三个点图的叠加) graph twoway line var1 var4 | line var2 var4 | line var3 var4 (做三个线图的叠加) graph twoway connected var1 var4 | connected var2 var4 | connected var3 var4 (叠加三个点线相连图) 更多变量: graph matrix a b c y (画出一个散点图矩阵,显示各变量之间所有可
13、能的两两相互散点图) graph matrix a b c d,half (生成散点图矩阵,只显示下半部分的三角形区域) 用 auto 数据集: graph matrix price mpg weight length,half by( foreign,total col(1) ) (根据 foreign 变量的不同类型绘制 price 等四个变量的散点图矩阵,要求绘出总图,并上下排列】=具) 其他图形: graph box y,over(x) yline(.22) (对应 x 的每一个取值构建 y 的箱型图,并在 y 轴的 0.22 处划一条水平线) graph bar (mean) y,o
14、ver(x) 对应 x 的每一个取值,显示 y 的平均数的条形图。括号中的“mean”也可换成median、sum、sd、p25 、p75 等 graph bar a1 a2,over(b) stack (对应在 b 的每一个取值,显示 a1 和 a2 的条形图,a1 和 a2 是叠放成一根条形柱。若不写入“stack”,则 a1 和 a2 显示为两个并排的条形柱) graph dot (median)y,over(x) (画点图,沿着水平刻度,在 x 的每一个取值水平所对应的 y 的中位数上打点) qnorm x (画出一幅分位-正态标绘图) rchart a1 a2 a2 (画出质量控制
15、R 图,显示 a1 到 a3 的取值范围) 简单统计量的计算: ameans x (计算变量 x 的算术平均值、几何平均值和简单调和平均值,均显示样本量和置信区间) mean var1 pweight = var2 (求取分组数据的平均值和标准误,var1 为各组的赋值,var2 为每组的频数) summarize y x1 x2,detail (可以获得各个变量的百分比数、最大最小值、样本量、平均数、标准差、方差、峰度、偏度) *注意* stata 中 summarize 所计算出来的峰度 skewness 和偏度 kurtosis 有问题,与 ECELL 和 SPSS 有较大差异,建议不采
16、用 stata 的结果。 summarize var1 aweight = var2, detail (求取分组数据的统计量,var1 为各组的赋值,var2 为每组的频数) tabstat X1,stats(mean n q max min sd var cv) (计算变量 X1 的算术平均值、样本量、四分位线、最大最小值、标准差、方差和变异系数) 概率分布的计算: (1)贝努利概率分布测试: webuse quick bitest quick=0.3,detail (假设每次得到成功案例1的概率等于 0.3,计算在变量 quick 所显示的二项分布情况下,各种累计概率和单个概率是多少) b
17、itesti 10,3,0.5,detail (计算当每次成功的概率为 0.5 时,十次抽样中抽到三次成功案例的概率:低于或高于三次成功的累计概率和恰好三次成功概率) (2)泊松分布概率: display poisson(7,6) .44971106 (计算均值为 7,成功案例小于等于 6 个的泊松概率) display poissonp(7,6) .14900278 (计算均值为 7,成功案例恰好等于 6 个的泊松概率) display poissontail(7,6) .69929172 (计算均值为 7,成功案例大于等于 6 个的泊松概率) (3)超几何分布概率: display hyp
18、ergeometricp(10,3,4,2) .3 (计算在样本总量为 10,成功案例为 3 的样本总体中,不重置地抽取 4 个样本,其中恰好有 2 个为成功案例的概率) display hypergeometric(10,3,4,2) .96666667 (计算在样本总量为 10,成功案例为 3 的样本总体中,不重置地抽取 4 个样本,其中有小于或等于 2个为成功案例的概率) 检验极端值的步骤: 常见命令:tabulate 、stem、codebook 、summarize 、list、histogram 、graph box、gragh matrix step1.用 codebook、su
19、mmarize、histogram、graph boxs、graph matrix、stem 看检验数据的总体情况: codebook y x1 x2 summarize y x1 x2,detail histogram x1,norm(正态直方图) graph box x1(箱图) graph matrix y x1 x2,half(画出各个变量的两两 x-y 图) stem x1(做 x1 的茎叶图) 可以看出数据分布状况,尤其是最大、最小值 step2.用 tabulate、list 细致寻找极端值 tabulate code if x1=极端值(作出 x1 等于极端值时 code 的频
20、数分布表,code 表示地区、年份等序列变量,这样便可找出那些地区的数值出现了错误) list code if x1=极端值(直接列出 x1 等于极端值时 code 的值,当 x1 的错误过多时,不建议使用该命令) list in -20/l(l 表示 last one,-20 表示倒数第 20 个样本,该命令列出了从倒数第 20 个到倒数第一个样本的各变量值) step3.用 replace 命令替换极端值 replace x1=? if x1=极端值 去除极端值: keep if y1000 对数据排序: sort x gsort +x (对数据按 x 进行升序排列) gsort -x (
21、对数据按 x 进行降序排列) gsort -x, generate(id) mfirst (对数据按 x 进行降序排列,缺失值排最前,生成反映位次的变量 id) 对变量进行排序: order y x3 x1 x2 (将变量按照 y、x3、x1 、x2 的顺序排列) 生成新变量: gen logx1=log(x1)(得出 x1 的对数) gen x1=exp(logx1)(将 logx1 反对数化) gen r61_100=1 if rank=61&rankx2,x1,x2)(若 x1x2 成立,则取 x1,若 x1x2 不成立,则取 x2) sort x gen gx=group(n)(将经过
22、排序的变量 x 分为尽量等规模的 n 个组) egen zx1=std(x1)(得出 x1 的标准值,就是用(x1-avgx1)/sdx1) egen zx1=std(x1),m(0) s(1)(得出 x1 的标准分,标准分的平均值为 0,标准差为 1) egen sdx1=sd(x1)(得出 x1 的标准差) egen meanx1=mean(x1)(得出 x1 的平均值) egen maxx1=max(x1)(最大值) egen minx1=min(x1)(最小值) egen medx1=med(x1)(中数) egen modex1=mode(x1)(众数) egen totalx1=t
23、otal(x1)(得出 x1 的总数) egen rowsd=sd(x1 x2 x3)(得出 x1、x2 和 x3 联合的标准差) egen rowmean=mean(x1 x2 x3)(得出 x1、x2 和 x3 联合的平均值) egen rowmax=max(x1 x2 x3)(联合最大值) egen rowmin=min(x1 x2 x3)(联合最小值) egen rowmed=med(x1 x2 x3)(联合中数) egen rowmode=mode(x1 x2 x3) (联合众数) egen rowtotal=total(x1 x2 x3)(联合总数) egen xrank=rank
24、(x)(在不改变变量 x 各个值排序的情况下,获得反映 x 值大小排序的 xrank) 数据计算器 display 命令: display x12(显示 x 的第十二个观察值) display chi2(n,x)(自由度为 n 的累计卡方分布) display chi2tail(n,x)(自由度为 n 的反向累计卡方分布,chi2tail(n,x)=1-chi2(n,x)) display invchi2(n,p)(卡方分布的逆运算,若 chi2(n,x)=p,那么 invchi2(n,p)=x) display invchi2tail(n,p)(chi2tail 的逆运算) display
25、F(n1,n2,f)(分子、分母自由度分别为 n1 和 n2 的累计 F 分布) display Ftail(n1,n2,f)(分子、分母自由度分别为 n1 和 n2 的反向累计 F 分布) display invF(n1,n2,P)(F 分布的逆运算,若 F(n1,n2,f)=p,那么 invF(n1,n2,p)=f) display invFtail(n1,n2,p)(Ftail 的逆运算) display tden(n,t)(自由度为 n 的 t 分布) display ttail(n,t)(自由度为 n 的反向累计 t 分布) display invttail(n,p)(ttail 的
26、逆运算) 给数据库和变量做标记: label data “(对现用的数据库做标记,“就是标记,可自行填写) label variable x “(对变量 x 做标记) label values x label1(赋予变量 x 一组标签:label1) label define label1 1 “a1“ 2 “a2“(定义标签的具体内容:当 x=1 时,标记为 a1,当 x=2 时,标记为a2) 频数表: tabulate x1,sort tab1 x1-x7,sort(做 x1 到 x7 的频数表,并按照频数以降序显示行) table c1,c(n x1 mean x1 sd x1)(在分类
27、变量 c1 的不同水平上列出 x1 的样本量和平均值) 二维交互表: auto 数据库: table rep78 foreign, c(n mpg mean mpg sd mpg median mpg) center row col (rep78,foreign 均为分类变量, rep78 为行变量,foreign 为列变量,center 表示结果显示在单元格中间,row 表示计算行变量整体的统计量,col 表示计算列变量整体的统计量) tabulate x1 x2,all (做 x1 和 x2 的二维交互表,要求显示独立性检验 chi2、似然比卡方独立性检验 lrchi2、对定序变量适用的等
28、级相关系数 gamma 和 taub、以及对名义变量适用的 V) tabulate x1 x2,column chi2(做 x1 和 x2 的二维交互表,要求显示列百分比和行变量和列变量的独立性检验 零假设为变量之间独立无统计关系) tab2 x1-x7,all nofreq(对 x1 到 x7 这七个变量两两地做二维交互表,不显示频数:nofreq) 三维交互表: by x3,sort:tabulate x1 x2,nofreq col chi2(同时进行 x3 的每一个取值内的 x1 和 x2 的二维交互表,不显示频数、显示列百分比和独立性检验) 四维交互表: table x1 x2 x3
29、,c(ferq mean x1 mean x2 mean x3) by(x4) tabstat X1 X2,by(X3) stats(mean n q max min sd var cv) col(stats) tabstat X1 X2,by(X3) stats(mean range q sd var cv p5 p95 median),aw=X4(以 X4 为权重求X1、X2 的均值,标准差、方差等) ttest X1=1 count if X1=0 count if X1=0 gen X2=1 if X1=0 corr x1 x2 x3(做 x1、x2、x3 的相关系数表) swilk
30、x1 x2 x3(用 Shapiro-Wilk W test 对 x1、x2、x3 进行正太性分析) sktest x1 x2 x3(对 x1、x2、x3 进行正太性分析,可以求出峰度和偏度) ttest x1=x2(对 x1、x2 的均值是否相等进行 T 检验) ttest x1,by(x2) unequal(按 x2 的分组方式对 x1 进行 T 检验,假设方差不齐性) sdtest x1=x2(方差齐性检验) sdtest x1,by(x2)(按 x2 的分组方式对 x1 进行方差齐性检验) 聚类分析: cluster kmeans y x1 x2 x3, k(3) 依据 y、x1、x2
31、 、x3 ,将样本分为 n 类,聚类的核为随机选取 cluster kmeans y x1 x2 x3, k(3) measure(L1) start(everykth) “start“用于确定聚类的核, “everykth“表示将通过构造三组样本获得聚类核:构造方法为将样本 id为 1、1+3、1+32、 1+33分为一组、将样本 id 为 2、2+3 、2+32、2+33分为第二组,以此类推,将这三组的均值作为聚类的核;“measure“用 于计算相似性和相异性的方法,“L1“表示采用欧式距离的绝对值,也直接可采用欧式距离(L2)和欧式距离的平方( L2squared)。PS:这个方法 所
32、得的结果与 SPSS 所得结果相同。 sort c1 c2(对 c1 和 c2 两个分类变量排序) by c1 c2:reg y x1 x2 x3(在 c1、c2 的各个水平上分别进行回归) bysort c1 c2: reg y x1 x2 x3 if c3=1(逗号前面相当于将上面两步骤合一,既排序又回归,逗号后面的“if c3=1”表示只有在 c3=1 的情况下才进行回归) stepwise, pr(.2): reg y x1 x2 x3(使用 Backward selection,去除 P 值大于 0.2 时变量) stepwise, pe(.2): reg y x1 x2 x3(使用
33、 forward selection,去除 P 值小于 0.2 时变量) stepwise, pr(.2) pe(.01):reg y x1 x2 x3(使用 backward-stepwise selection,取 P 值在 0.01 和 0.2 之间的变量) stepwise, pe(.2) forward: reg y x1 x2 x3(使用 forward-stepwise selection) reg y x1 x2 x3 predict Yhat,xb predict u,resid predict ustd,stdr(获得残差的标准误) predict std,stdp(获得
34、y 估计值的标准误) predict stdf,stdf(获得 y 预测值的标准误) predict e,e(1,12)(获得 y 在 1 到 12 之间的估计值) predict p,pr(1,12)(获得 y 在 1 到 12 之间的概率) predict rstu,rstudent(获得 student 的 t 值) predict lerg,leverage(获得杠杆值) predict ckd,cooksd(获得 cooksd) reg y x1 x2 x3 c1 c2 adjust x1 x2 x3,se (使得变量 x1、x2 和 x3 等于其均值,求 y 的预测值和标准误) a
35、djust x1 x2 x3,stdf ci(使得变量 x1、x2 和 x3 等于其均值,求 y 的预测值,预测标准误和置信区间)adjust x1 x2,by(c1) se ci(控制变量 x1、x2 ,亦即取它们的均值,在分类变量 c1 的不同水平上求 y预测值,标准误和置信区间) adjust x1 x2 x3,by(c1) stdf ci(控制变量 x1、x2、x3 ,亦即取它们的均值,在分类变量 c1 的不同水平上求 y 预测值,预测标准误和置信区间) adjust x1 x2,by(c1 c2) se ci(控制变量 x1、x2,在分类变量 c1、c2 的不同水平上求 y 的预测值
36、,标准误和置信区间) adjust x1 x2 x3,by(c1 c2) stdf ci(控制变量 x1、x2、x3,在分类变量 c1、c2 的不同水平上求 y 的预测值,预测标准误和置信区间) adjust x1=a x2=b x3=c,se ci(当 x1=a、x2=b 、x3=c 时,求 y 的预测值、标准误和置信区间) adjust x1=a x2=b x3=c,by(c1) se ci(当 x1=a、x2=b、x3=c 时,在分类变量 c1 的不同水平上,求y 的预测值、标准误和置信区间) adjust x1=a x2=b c1=1,by(c1) se ci(当 x1=a、x2=b,
37、并假设所有的样本均为 c1=1,求在分类变量c1 的不同水平上,因为变量 x3 的均值不同,而导致的 y 的不同的预测值) mvreg Y1 Y2 : X1 X2 X3(多元回归) mvreg y1 y2 y3: x1 x3 x3(多元回归分析,y1 y2 y3 为因变量,x1 x3 x3 为自变量) 以下命令只有在进行了 mvreg 之后才能进行 test y1(测试对 y1 的回归系数联合为 0) test y1: x1 x2(测试对 y1 的回归中 x1、x2 的系数为 0) test x1 x2 x3(测试在所有的回归中,x1、x2、x3 的系数均为 0) test y1=y2(对 y
38、1 的回归和对 y2 的回归系数相等) test y1=y2: x1 x2 x3, mtest(对 y1 和 y2 的回归中,分别测试 x1、x2、x3 的系数是否相等,若没有mtest 这个命令,则测试他们的联和统计) test y1=y2=y3(三个回归的系数是否相等,可加 mtest 以分别测试) test y1=y2=y3: x1 x2 (测试三个回归中的 x1、x2 是否相等,可加 mtest) est 命令的用法: (1)储存回归结果: reg y x1 x2 x3(不限于 reg,也可储存 ivreg、mvreg、reg3) est store A (2)重现回归结果: est
39、replay A (3)对回归结果进行进一步分析 est for A:sum(对 A 回归结果中的各个变量运行 sum 命令) 异方差问题: 获得稳健性标准误 reg y x1 x2 x3 if c1=1(当分类变量 c1=1 时,进行 y 和诸 x 的回归) reg y x1 x2 x3,robust(回归后显示各个自变量的异方差-稳健性标准误) estat vif(回归之后获得 VIF) estat hettest,mtest(异方差检验) 异方差检验的套路: (1)Breusch-pagan 法: reg y x1 x2 x3 predict u,resid gen usq=u2 reg
40、 usq x1 x2 x3 求 F 值 display R/(1-R)*n2/n1(n1 表示分子除数,n2 表示分母除数) display Ftail() 求 LM 值 display R*n(n 表示总样本量) display chi2tail() (2)white 法: reg y x1 x2 x3 predict u,resid gen usq=u2 predict y gen ysq=y2 reg usq y ysq 求 F 值 display R/(1-R)*n2/n1(n1 表示分子除数,n2 表示分母除数) display Ftail() 求 LM 值 display R*n(
41、n 表示总样本量) display chi2tail() (3)必要补充 F 值和 LM 值转换为 P 值的命令: display Ftail(n1,n2,a)(利用 F 值求 p 值,n1 表示分子除数,n2 表示分母除数,a 为 F 值) display chi2tail(n3,b)(利用 LM 值求 p 值,n3 表示自由度的损失量,一般等于 n1,b 为 LM 值) 异方差的纠正 WLS(weighted least square estimator) (1)基本思路: reg y x1 x2 x3 aw=x1(将 x1 作为异方差的来源,对方程进行修正) 上式相当于: reg y/(
42、x10.5) 1/(x10.5) x1/(x10.5) x2/(x10.5) x3/(x10.5),noconstant (2)纠正异方差的常用套路(构造 h 值) reg y x1 x2 x3 predict u,resid gen usq=u2 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
43、 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 的预测值=iexp(k) 方差分析: 一元方差分析 anova y g1 / g1|g2 /(g*表示不同分类变量,计算 g1 和交互项/ g1|g2 /这两种分类的 y 值是否存在组内差异) anova y d1 d2 d1*d2(d* 表示虚拟变量,计算 d1、d2 和 d1*d2 的这三种分类的 y 值是否有组内差异)anova y d1 d2 x1 d2*x1, co
44、ntinuous(x1)(x*表示连续的控制变量) 多元方差分析 webuse jaw manova y1 y2 y3 = gender fracture gender*fracture(按性别、是否骨折及二者的交互项对 y1、y2 和y3 进行方差分析) manova y1 = gender fracture gender*fracture(相当于一元方差分析,以 y1 为因变量) webuse nobetween gen mycons = 1 manova test1 test2 test3 = mycons, noconstant mat c = (1,0,-1 0,1,-1) mano
45、vatest mycons, ytransform(c) 进行多元回归的方法: 多元回归分析:(与 mvreg 相同) foreach vname in y1 y2 y3 (确定 y 变量组 vname) reg vname x1 x2 x3 (将 y 变量组中的各个变量与诸 x 变量进行回归分析,注意 vname 的标点符号) 上式等价于: mvreg y1 y2 y3 = x1 x2 x3 reg3 命令: (1)简单用法: reg3 (y1 = x1 x2 x3) (y2 = x1 x3 x4) (y3 = x1 x2 x5) 测试 y1 coefs = 0 test y1 测试不同回归
46、中相同变量的系数: test y1=y2=y3, common test (y1=y2) (y1=y3), common constant(constant 表示包含截距项) (2)用 reg3 进行 2SLS reg3 (y1 = y2 x1 x2) (y2 = y1 x4),2sls (2)用 reg3 进行 OLS reg3 (y1 = y2 x1 x2) (y2 = y1 x4),ols 对两个回归结果进行 hausman 检验: reg3 (y1=x1 x2 x3)(y2=y1 x4),2sls est store twosls reg3 (y1=x1 x2 x3)(y2=y1 x4
47、),ols est store ols hausman twosls ols,equations(1:1)(对两次回归中的方程 1,即“y1=x1 x2 x3”进行 hausman 检验)hausman twosls ols,equations(2:2)(对两次回归中的方程 2,即“y2=y1 x4”进行 hausman 检验) hausman twosls ols,alleqs(对所有方程一起进行检验) 检验忽略变量(模型的 RESET): reg y x1 x2 x3 estat ovtest 滞后变量的制取 对变量 y 滞后一期: gen y_l1=y_n-1 滞后两期: gen y_l
48、2=y_n-2 以此类推。 制取样本序号: gen id=_n 获得样本总量: gen id=_N 时间序列回归: 回归元严格外生时 AR(1)序列相关的检验 reg y x1 x2 predict u,resid gen u_1=u_n-1 reg u u_1,noconstant 回归之后,u_1 的序数如果不异于零,则该序列不相关 用 Durbin-Watson Statistics 检验序列相关: tsset year (对时间序列回归中代表时间的变量进行定义) reg y x1 x2 dwstat (求出时间序列回归的 DW 值) durbina (对该回归是否具有序列相关进行检验,
49、H0 为无序列相关,可根据 chi2 值求出 P 值) durbina,small (small 可以根据 F 值求出 P 值,以代替 chi2 值) durbina,force (让检验能在 robust、neway 之后进行) durbina,small lag(1/10) (lag 可以求出更高阶滞后的序列相关,如本例中可求出 1 到 10 阶的序列相关) durbina,robust lag(1/10) (robust 可进行异方差 稳健性回归,避免未知形式的异方差) bgodfrey (利用 Breusch-Godfrey test 求出高阶序列相关) bgodfrey,small lag(1/10) 数据调查:survey data 源数据:dataset 文件夹中的 svydata 步骤: 1、定义 survey data svyset psuid pweight=finalwgt, strata(stratid