楼主: 李双建
13457 5

[stata资源分享] stata编程与解释 [推广有奖]

  • 6关注
  • 5粉丝

院士

35%

还不是VIP/贵宾

-

威望
0
论坛币
16922 个
通用积分
8.8053
学术水平
3 点
热心指数
15 点
信用等级
2 点
经验
15481 点
帖子
1450
精华
0
在线时间
2920 小时
注册时间
2010-6-26
最后登录
2024-11-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


Stata 编程及解释 调整变量格式: format x1 %10.3f ——将 x1 的列宽固定为 10,小数点后取三位 format x1 %10.3g ——将 x1 的列宽固定为 10,有效数字取三位 format x1 %10.3e ——将 x1 的列宽固定为 10,采用科学计数法 format x1 %10.3fc ——将 x1 的列宽固定为 10,小数点后取三位,加入千分位分 隔符 format x1 %10.3gc ——将 x1 的列宽固定为 10,有效数字取三位,加入千分位分 隔符 format x1 %-10.3gc ——将 x1 的列宽固定为 10, 有效数字取三位, 加入千分位分 隔符,加入―-‖表示左对齐 合并数据: use "C:\Documents and
Settings\xks\桌面\2006.dta", clear merge using
"C:\Documents and Settings\xks\桌面\1999.dta"
——将 1999 和 2006 的数据按照样本(observation)排列的自然顺序合并起来 use
"C:\Documents and Settings\xks\桌面\2006.dta",
clear merge id using "C:\Documents and Settings\xks\桌面\1999.dta" ,unique sort ——将 1999 和 2006 的数据按照唯一的(unique)变量 id 来合并,在合并时对 id 进行排序(sort) 建议采用第一种方法。 对样本进行随机筛选: sample 50 在观测案例中随机选取 50%的样本,其余删除 sample 50,count 在观测案例中随机选取 50 个样本,其余删除 查看与编辑数据: browse x1 x2 if
x3>3 (按所列变量与条件打开数据查看器) edit x1 x2 if x3>3 (按所列变量与条件打开数据编辑器)
数据合并(merge)与扩展(append) merge 表示样本量不变,但增加了一些新变量;append 表示样本总量增加了,但
变量数目不变。 one-to-one merge: 数据源自 stata
tutorial 中的 exampw1 和 exampw2 第一步: exampw1 按 v001~v003
这三个编码排序, 将 并建立临时数据库 tempw1 clear use
"t:\statatut\exampw1.dta" su ——summarize 的简写
sort v001 v002 v003 save tempw1 第二步:对 exampw2 做同样的处理
clear use "t:\statatut\exampw2.dta" su sort v001 v002
v003


predict u,resid gen usq=u^2 reg 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=u^2 predict y gen ysq=y^2 reg usq y ysq 求F值 display R/(1-R)*n2/n1(n1 表示分子除数,n2 表示分母除数) display Ftail(……) 求 LM 值 display R*n(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/(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

方程(fe) : xtserial y x1 x2 xtgls
y x1 x2 xttest2 xttest3 ——xtserial 用于检验固定效应模型中的一阶序列自相关, 可通用于 xtgls 和 fe 之 前
——xttest2 用于检验不同厂商的相似性,若显著则各厂家的截面相似,可通用于 xtgls 和 fe 之后 ——xttest3 用于检验固定效应模型中的异方差问题,若显著则有异方差,可通用
于 xtgls 和 fe 之后




Stata:
输出 regression table 到
word 和
excel



1. 安装 estout。最简单的方式是在 stata 的指令输入: ssc install estout, replace EST 安装的指导网址是:http://repec.org/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=变量名] 其中,aweight 后面的变量就是权重,是我们设定的函数。
一种经常的设定是假设扰动项的条件方差是所有解释变量的某个线性组合的指 数函数。在 stata 中也可以方便地实现:
首先做标准的 OLS 回归,并得到残差项; reg (被解释变量)
(解释变量 1) (解释变量 2)…… predict r, resid 生成新变量 logusq,并用它对所有解释变量做回归,得到这个回归的拟合值,再
对这个拟合值求指数函数; gen logusq=ln(r^2) reg logusq (解释变量 1) (解释变量 2)……
predict g, xb gen h=exp(g) 最后以 h 作为权重做 WLS 回归; reg (被解释变量) (解释变量 1) (解释变量 2)……
[aweight=h] 如果我们确切地知道扰动项的协方差矩阵的形式,那么 GLS 估计是最小方差线
性无偏估计,是所有线性估计中最好的。显然它比 OLS 更有效率。虽然 GLS
有 很多好处,但有一个致命弱点:就是一般而言我们不知道扰动项的协方差矩阵,








.hausman name-constistent [name-efficent] [,options]
其中,name-cosistent 指一致估计的结果, name-efficent 指有效估计的结果。注
意,一致、有效估计量的先后顺序不能改变。 Option 选项:
constant 计算检验统计量将常数也包括在内,默认值为排除常数 allegs 利用所有方程进行检验,默认只对第一个方程进行检验 skipeqs(eqlist) eqlist 只能以方程名称而不能以方程序号表示
equation(matchlist) 比较设定的方程。 force 即使假设条件不满足仍进行检验 df(#) 默认值为一致估计与有效估计的协方差矩阵的差的估计 sigmamore 协方差矩阵采用有效估计量的协方差矩阵 sigmaless 协方差矩阵采用一致估计量的协方差矩阵
tconsistent(string) 一致估计量的标题 tefficient(string) 有效估计量的标题




工具变量估计 命令格式: .ivregress esitimator depvar [varlist1]
[varlist2=varlist_iv] [if] [in] [weight][,options] 其中,estimator
包括 2sls,gmm,liml 三种。varlist1 为模型中的外生变量,varlist2 为模型中的内生变量,varlist_iv 为模型中的工具变量。 Nonconstant 不包括常数项 Hascons 用户自己设定常数项 CMM 选项: wmatrix(wmtype) robust,cluster
clustvar,hac kernel, unadjusted center 权数矩阵采用中心矩 igmm 采用迭代 GMM 估计 eps(#) 参数收敛标准。默认值为 eps(le-6) weps(#) 权数矩阵的收敛标准。默认值为 w eps(le-6) Vce(vcetype) unajusted,robust,cluster
clustvar,bootstrap,jackknife,hac kernel level(#)置信区间
First 输出第一阶段的估计结果 Small 小样本下的自由度调整 .estat firststage [,all forcenonrobust] 该命令给出第一阶段的估计结果以及各种统计量,
包括排除外生变量的相关 性检验。All 选项给出所有的拟合优度统计量。如果模型存在多个内生变量,则






stata
给出 R2、偏 R2、调整的 R2 、F 统计量;如果模型存在多个内生变量,则 stata 给出 Shea 偏 R2 和调整的偏 R2。 forcenonrobust 给出最小特征值统计量及其临界值, 即使采用稳健估计
(这一 检验的假设条件是误差项为独立正态分布) 。
















二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:stata编程 Stata tata Installation observation Documents 小数点

沙发
李双建 发表于 2014-5-23 15:40:14 |只看作者 |坛友微信交流群
附件上传不了  只好采用这种方法啦
希望版主能看看怎么解决附加上传的问题  
谢啦

使用道具

藤椅
txje 发表于 2014-5-23 15:45:31 |只看作者 |坛友微信交流群
可以将文件压缩后再上传。

使用道具

板凳
李双建 发表于 2014-5-23 20:40:56 |只看作者 |坛友微信交流群
好的 尝试一下

使用道具

报纸
饭团儿 在职认证  发表于 2016-6-19 23:50:59 |只看作者 |坛友微信交流群
马一下明天写程序看

使用道具

地板
rajon9 发表于 2016-12-20 20:38:34 |只看作者 |坛友微信交流群
好帖!!!!!!!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 08:06