stata中做stata 双向固定效应应时出现共线性,求助大

rt,想问下贴吧大佬们多重共线性咋解决!用双向固定效应did模型,stata结果里没有treat的系数结果参考的论文里这个变量是有系数的【stata吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,360贴子:
rt,想问下贴吧大佬们多重共线性咋解决!用双向固定效应did收藏
rt,想问下贴吧大佬们多重共线性咋解决!用双向固定效应did模型,stata结果里没有treat的系数结果参考的论文里这个变量是有系数的,用的是同一个公式,大佬们看看该咋解决xtreg invest size dar roa fixed cash cr1 treat post var i.year,fe(var是虚拟变量treat和post的乘积)
登录百度帐号苹果/安卓/wp
积分 23946, 距离下一级还需 7654 积分
权限: 自定义头衔, 签名中使用图片, 隐身, 设置帖子权限, 设置回复可见, 签名中使用代码
道具: 涂鸦板, 彩虹炫, 雷达卡, 热点灯, 显身卡, 匿名卡, 金钱卡, 抢沙发, 变色卡, 提升卡, 沉默卡, 千斤顶, 置顶卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 变色卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
开心签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
本帖最后由 wanghaidong918 于
14:21 编辑
我目前正在利用一个面板数据考察某一项改革(x)对企业绩效(y)的影响。对于某个企业而言,这个变量为的形式。0代表没有进行改革,1代表进行了改革。通常的研究需要控制时间固定效应,即需要加入时间虚拟变量。但在简约式(reduced form)回归中,用y单独对x或时间虚拟变量进行回归时,除了在某几年的时间虚拟变量为正或不显著外,两类变量的系数都显著为负;但同时加入x及时间虚拟变量,两者变得基本上都不显著,且大部分情况下,x的系数由负变为正。这是不是表明存在严重的多重共线性问题?我利用回归中实际使用的样本(e(sample))计算了两者的相关系数,发现只有当年份为2,3,4这三年时,年份虚拟变量与转制变量的相关系数大约为0.4,而其它年份的虚拟变量与转制变量的相关系数很小,基本上小于0.2。将1,2,3这三年的年份虚拟变量删除后,以上问题依然存在。我的问题是,为了分析诸如类似变量的作用效果,且该变量与时间虚拟变量具有严重的多重共线性,一般如何处理?
这个问题我也遇到了,原因在于关键解释变量时变的,如果把全部时间虚拟变量都加上去,那么关键解释变量可以被时间虚拟变量线性表示,即存在共线性问题。这个问题我也没想清楚怎么办,应该是选择性加入时间虚拟变量,楼主可由最新的看法?
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师stata中做双向固定效应时出现共线性,求助大神,谢谢!!【中国人民大学吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:214,909贴子:
stata中做双向固定效应时出现共线性,求助大神,谢谢!!收藏
stata中vif检验并没有共线性,但是做双向固定效应时却说我的主要解释变量出现了共线性,一直进行不下去啊。。。。求助求助
人民大学开设大学国际班,校园资源共享,待遇等同,中外师资执教,面向全国招生;招收高中毕业生及同等学力者,出国有保障,毕业率保证,培养企业急需人才Y0201
登录百度帐号当前位置: >>
面板数据stata处理步骤介绍
xA6_Panel_Data - Printed on
10:43:02 1 2 3 * ======================== 4 * 5 * 面板数目模型 6 * 7 * ======================== 8 9 10 * 11 *-----------------------------------------------12 * 13 * 主讲人:连玉君 副教授 14 * 15 * 16 * 单 位:中山大学岭南学院金融系 17 * 电 邮:
18 * 博 客: http://blog.cnfol.com/arlion 19 * 主 页:http://toran.cn/arlion 20 * 21 *-----------------------------------------------22 23 24 25 26 *-注意:执行后续命令之前,请先执行如下命令,进入课程讲义所在目录 27 28 cd D:\stata11\ado\personal\PX_Panel\xA6_Panel_Data 29 30 31 *-或(如果你的stata11放置于其他盘符下,如C盘或F盘) 32 cd `c(sysdir_personal)'PX_Panel\xA6_Panel_Data 33 34 35 36 * -----------------37 * ---- 本讲目录 ---38 * -----------------39 * 40 * 6.1 静态面板模型:固定效应模型 v.s. 随机效应模型 41 * 6.2 时间效应、模型的筛选和常见问题 42 * 6.3 异方差、序列相关和截面相关 43 * 6.4 内生性问题与 IV-GMM 估计 44 * 6.5 动态面板模型 45 * 6.6 面板数据资料的处理 46 47 48 49 *----------------50 *-6.1 静态面板模型 51 *----------------52 53 * ==本节目录== 54 55 * 6.1.1 简介 56 * 6.1.2 参考资料 57 * 6.1.3 静态面板简介 58 * 6.1.4 固定效应模型 59 * 6.1.4.1 FE模型的基本原理 60 * 6.1.4.2 如何估计固定效应模型 61 * 6.1.4.3 stata的估计方法解析 62 * 6.1.4.4 解读 xtreg,fe 的估计结果 63 * R^2 64 * 个体效应是否显著? 65 * 如何得到调整后的 adj-R2 ? 66 * 如何得到每家公司的截距项? 67 * 拟合值和残差 68 * 6.1.5 随机效应模型 69 * 6.1.5.1 RE 与 FE 的异同 70 * 6.1.5.2 解读 xtreg,re 的估计结果 71 72 73 *-------------------74 *-6.1.1 简介 Page 1 xA6_Panel_Data - Printed on
10:43:02 75 76 77 *-------------------78 *-6.1.2 参考资料 79 80 * 连玉君计量笔记第8章,重点介绍stata操作,可在我的博客中下载 81 * Greene(2000), chp14 较为清晰的介绍了静态面板模型 82 * Baltagi(2001), 一本专门介绍Panel的书,人大论坛可下载 83 * Arrllano(2003), 重点关注动态面板和GMM估计,人大论坛可下载 84 * Stata Longitudinal/Panel data Reference Manual(9) 85 * 详细介绍了stata中有关Panel的各种命令 86 * 以上书籍我这里都有原版教材,可为大家提供复印版本 87 88 shellout 连玉君_Chp8_Panel_Data.pdf 89 90 91 *-------------------92 *-6.1.3 静态面板简介 93 94 * 面板数据的结构(兼具截面资料和时间序列资料的特征) 95 use xtlabor.dta, clear 96 browse 97 tsset id year 98 xtdes 99 use invest2.dta, clear 100 browse 101 tsset id t 102 xtdes 103 104 105 *-------------------106 *-6.1.4 固定效应模型 107 108 * 实质上就是在传统的线性回归模型中加入 N-1 个虚拟变量, 109 * 使得每个截面都有自己的截距项, 110 * 截距项的不同反映了个体的某些不随时间改变的特征 111 * 112 * 例如: lny = a_i + b1*lnK + b2*lnL + e_it 113 * 考虑中国28个省份的C-D生产函数 114 115 * OLS 估计的偏误 116 * 一份模拟数据 117 do B7_introFe.do 118 save B7_introFe, replace 119 tsset id t 120 xtdes 121 twoway (scatter y x) (lfit y x) 122 reg y x 123 twoway (scatter y x) (lfit y x) /// 124 (lfit y x if id==1) /// 125 (lfit y x if id==2) /// 126 (lfit y x if id==3), /// 127 legend(off) 128 tab id, gen(dum) 129 list 130 reg y x dum1 dum2 dum3, nocons 131 132 * 回归分析 133 reg y x 134 est store m_ols 135 tsset id t 136 xtreg y x, fe 137 est store m_fe 138 est table m_ols m_fe, b(%6.3f) star(0.1 0.05 0.01) 139 140 * 真实的数据生成过程 141 doedit B7_introFe.do 142 143 144 *-6.1.4.2 如何估计固定效应模型 145 146 *-M1:放入三个虚拟变量,即每家公司都有一个自己的截距项 147 use B7_introFe, clear 148 tab id , gen(dum) Page 2 xA6_Panel_Data - Printed on
10:43:02 149 reg y x dum1 dum2 dum3, nocons 150 est store m_pooldum3 151 152 *-M2:放入两个虚拟变量,三家公司有一个公共的截距项 153 reg y x dum2 dum3 154 est store m_pooldum2 155 156 *-M3:面板固定效应模型(stata的估计方法) 157 tsset id t 158 xtreg y x, fe 159 est store m_fe 160 est table m_*, b(%6.3f) star(0.1 0.05 0.01) 161 162 163 *-6.1.4.3 stata的估计方法解析 164 165 * 目的:如果截面的个数非常多,那么采用虚拟变量的方式运算量过大 166 * 因此,要寻求合理的方式去除掉个体效应 167 * 因为,我们关注的是 x 的系数,而非每个截面的截距项 168 * 处理方法: 169 * 170 * y_it = u_i + x_it*b + e_it (1) 171 * ym_i = u_i + xm_i*b + em_i (2) 组内平均 172 * ym = um + xm*b + em (3) 样本平均 173 * (1) - (2), 可得: 174 * (y_it - ym_i) = (x_it - xm_i)*b + (e_it - em_i) (4)//within估计 175 * (4)+(3), 可得: 176 * (y_it-ym_i+ym) = um + (x_it-xm_i+xm)*b + (e_it-em_i+em) 177 * 可重新表示为: 178 * Y_it = a_0 + X_it*b + E_it 179 * 对该模型执行 OLS 估计,即可得到 b 的无偏估计量 180 181 egen y_meanw = mean(y), by(id) /*公司内部平均*/ 182 egen y_mean = mean(y) /*样本平均*/ 183 egen x_meanw = mean(x), by(id) 184 egen x_mean = mean(x) 185 gen dy = y - y_meanw + y_mean 186 gen dx = x - x_meanw + x_mean 187 reg dy dx 188 est store m_stata 189 190 est table m_*, b(%6.3f) star(0.1 0.05 0.01) 191 192 193 *-6.1.4.4 解读 xtreg,fe 的估计结果 194 195 use invest2.dta, clear 196 tsset id t 197 edit 198 xtreg market invest stock, fe 199 200 *-- R^2 201 * y_it = a_0 + x_it*b_o + e_it (1) pooled OLS 202 * y_it = u_i + x_it*b_w + e_it (2) within estimator 203 * ym_i = a_0 + xm_i*b_b + em_i (3) between estimator 204 * 205 * -& R-sq: within 模型(2)对应的R2,是一个真正意义上的R2 206 * -& R-sq: between corr{xm_i*b_w,ym_i}^2 207 * -& R-sq: overall corr{x_it*b_w,y_it}^2 208 209 *-- F(2,93) = 33.23 检验除常数项外其他解释变量的联合显著性 210 * 93 = 100-2-5 211 212 *-- corr(u_i, Xb) = 0. *-- sigma_u, sigma_e, rho 215 * rho = sigma_u^2 / (sigma_u^2 + sigma_e^2) 216 dis e(sigma_u)^2 / (e(sigma_u)^2 + e(sigma_e)^2) 217 dis
/ ( + 370.8 219 *-- 个体效应是否显著?(假设检验) 220 * F(4, 93) = 97.68 H0: a1 = a2 = a3 = a4 = 0 221 * Prob & F = 0.0000 表明,固定效应高度显著 222 Page 3 xA6_Panel_Data - Printed on
10:43:02 223 *-- 如何得到调整后的 R2,即 adj-R2 ? 224 use invest2.dta, clear 225 qui tab id, gen(dum) 226 cap drop dum1 227 reg market invest stock dum* 228 229 areg market invest stock, a(id) /*更为简洁*/ 230 231 232 *-- 如何得到每家公司的截距项? 233 234 * 方法一:加入 (N-1) 个虚拟变量,采用 OLS 估计 235 use invest2.dta, clear 236 tab id, gen(dum) 237 reg market invest stock dum*, nocons 238 xtreg market invest stock , fe 239 * 优点:可以同时获得每个截距项的标准误、t值和p值 240 * 适用于 大 T 小 N 型数据 241 242 * 方法二:xi 前缀 243 xi: reg market invest stock i.id 244 xi: reg market invest stock i.id, robust 245 246 * 方法三:采用predict命令 247 qui xtreg market invest stock, fe 248 predict a , u 249 replace a = _b[_cons] + a 250 duplicates example id a 251 order id t a 252 browse 253 reg market invest stock dum*, nocons nohead 254 255 * 方法四:areg 命令 256 areg market invest stock, absorb(id) 257 predict ai, d 258 gen a_i = ai + _b[_cons] 259 order id t a_i ai 260 browse 261 262 * 方法五:fese 命令 263 * 采用areg估计模型,将截距项的标准误存于一个新的变量中 264 * ssc install fese, replace 265 use invest2.dta, clear 266 fese market invest stock, s(o) oonly 267 268 269 *-- 拟合值和残差 270 271 * y_it = u_i + x_it*b + e_it 272 * predict newvar, [option] 273 /* 274 xb xb, the default 275 stdp calculate standard error of the fitted values 276 ue u_i + e_it, the combined residual 277 xbu xb + u_i, prediction including effect 278 u u_i, the fixed- or random-error component 279 e e_it, the overall error component */ 280 281 xtreg market invest stock, fe 282 predict y_hat 283 predict a , u 284 predict res , e 285 predict cres, ue 286 gen ares = a + res 287 list ares cres in 1/10 288 289 290 *-------------------291 *-6.1.5 随机效应模型 292 293 *-6.1.5.1 RE 与 FE 的异同 294 295 *-RE的模型设定: 296 * y_it = x_it*b + (a_i + u_it) Page 4 xA6_Panel_Data - Printed on
10:43:02 297 * = x_it*b + v_it 298 299 * 基本思想:将随机干扰项分成两种 300 * 一种是不随时间改变的,即个体效应 a_i 301 * 另一种是随时间改变的,即通常意义上的干扰项 u_it 302 303 * 估计方法:FGLS 304 * Var(v_it) = sigma_a^2 + sigma_u^2 305 * Cov(v_it,v_is) = sigma_a^2 306 * Cov(v_it,v_js) = 0 307 * 利用Pooled OLS,Within Estimator, Between Estimator 308 * 可以估计出sigma_a^2和sigma_u^2,进而采用GLS或FGLS 309 * Re估计量是Fe估计量和Be估计量的加权平均 310 * yr_it = y_it - theta*ym_i 311 * xr_it = x_it - theta*xm_i 312 * theta = 1 - sigma_u / sqrt[(T*sigma_a^2 + sigma_u^2)] 313 314 315 *-6.1.5.2 解读 xtreg,re 的估计结果 316 317 use invest2.dta, clear 318 xtreg market invest stock, re 319 320 *-- R2 321 * -& R-sq: within corr{(x_it-xm_i)*b_r, y_it-ym_i}^2 322 * -& R-sq: between corr{xm_i*b_r,ym_i}^2 323 * -& R-sq: overall corr{x_it*b_r,y_it}^2 324 * 上述R2都不是真正意义上的R2,因为Re模型采用的是GLS估计。 325 326 *-- rho = sigma_u^2 / (sigma_u^2 + sigma_e^2) 327 dis e(sigma_u)^2 / (e(sigma_u)^2 + e(sigma_e)^2) 328 329 *-- corr(u_i, X) = 0 (assumed) 330 * 这是随机效应模型的一个最重要,也限制该模型应用的一个重要假设 331 * 然而,采用固定效应模型,我们可以粗略估计出corr(u_i, X) 332 xtreg market invest stock, fe 333 334 *-- Wald chi2(2) = 95.98 Prob& chi2 = 0. 337 338 339 340 341 342 *-----------------------------------343 *-6.2 时间效应、模型的筛选和常见问题 344 *-----------------------------------345 346 * ==本节目录== 347 348 * 6.2.1 时间效应 349 * 6.2.1.1 时间虚拟变量的设定 350 * 6.2.1.2 检验时间效应是否显著 351 * 6.2.2 模型的筛选 352 * 6.2.2.1 固定效应模型还是Pooled OLS? 353 * 6.2.2.2 随机效应模型还是Pooled OLS? 354 * 6.2.2.3 固定效应模型还是随机效应模型?Hausman检验 355 * 6.2.3 一些常见问题 356 * 6.2.3.1 为何tsset命令总是报告错误信息? 357 * 6.2.3.2 数据的结构 358 * 6.2.3.3 为何有些变量会被drop掉? 359 * 6.2.3.4 unbalance ―& balance 360 * 6.2.3.5 得到时间连续的样本 361 * 6.2.3.6 得到连续的公司编号 362 * 6.2.3.7 长条形数据与扁平型数据的转换 363 * 6.2.3.8 绘图 364 * 6.2.3.9 统计类别变量 365 * 6.2.4 面板数据的转换 366 * 6.2.4.1 FE 转换 367 * 6.2.4.2 RE 转换 368 369 370 *----------------Page 5 xA6_Panel_Data - Printed on
10:43:03 371 *-6.2.1 时间效应 372 373 *-6.2.1.1 时间虚拟变量的设定 374 375 * 单向固定效应模型 376 * y_it = u_i + x_it*b + e_it 377 * 双向固定效应模型 378 * y_it = u_i + f_t + x_it*b + e_it 379 380 * 固定效应模型中的时间效应 381 use xtcs, clear 382 qui tab year, gen(yr) 383 drop yr1 384 xtreg tl size ndts tang tobin npr yr*, fe 385 386 * 随机效应模型中的时间效应 387 xtreg tl size ndts tang tobin npr yr*, re 388 389 390 *-6.2.1.2 检验时间效应是否显著 391 392 * Wald 检验 393 xtreg tl size ndts tang tobin npr yr*, fe 394 test yr2 = yr3 = yr4 = yr5 = yr6 = yr7 395 test yr2 = yr3 = yr4 = yr5 = yr6 = yr7 = 0 396 397 * LR 检验 398 xtreg tl size ndts tang tobin npr , fe 399 est store fe 400 xtreg tl size ndts tang tobin npr yr*, fe 401 est store fe_dumt 402 lrtest fe fe_dumt 403 404 405 *----------------406 *-6.2.2 模型的筛选 407 408 *-6.2.2.1 固定效应模型还是Pooled OLS? 409 410 * Wald 检验 411 use invest2.dta, clear 412 xtreg market invest stock, fe 413 414 * LR检验 415 qui tab id, gen(dum) 416 reg market invest stock 417 est store m_ols 418 reg market invest stock dum*, nocons 419 est store m_fe 420 lrtest m_ols m_fe 421 422 423 *-6.2.2.2 随机效应模型还是Pooled OLS? 424 425 * H0: Var(u) = 0 426 427 * 方法一:B-P 检验 428 xtreg market invest stock, re 429 xttest0 430 431 * 方法二:LR test(似然比检验) 432 xtreg market invest stock, re mle 433 434 435 *-6.2.2.3 固定效应模型还是随机效应模型?Hausman检验 436 437 * y_it = u_i + x_it*b + e_it 438 439 *--- Hausman 检验 --440 441 * 基本思想:如果 Corr(u_i,x_it) = 0, Fe 和 Re 都是一致的,但Re更有效 442 * 如果 Corr(u_i,x_it)!= 0, Fe 仍然有效,但Re是有偏的 443 444 * 基本步骤 Page 6 xA6_Panel_Data - Printed on
10:43:03 445 use xtcs.dta, clear 446 xtreg tl size ndts tang tobin npr, fe 447 est store fe 448 xtreg tl size ndts tang tobin npr, re 449 est store re 450 hausman fe re 451 452 * Hausman 检验值为负怎么办? 453 454 * 通常是因为RE模型的基本假设 Corr(x,u_i)=0 无法得到满足 455 use invest2.dta, clear 456 xtreg market invest stock, fe 457 est store m_fe 458 xtreg market invest stock, re 459 est store m_re 460 hausman m_fe m_re 461 462 * 检验过程中两个模型的方差-协方差矩阵都采用Fe模型的 463 hausman m_fe m_re, sigmaless 464 465 * 两个模型的方差-协方差矩阵都采用Re模型的 466 hausman m_fe m_re, sigmamore 467 468 * 如果Hausman检验拒绝Re模型,怎么办? 469 * (1) Fe 470 * (2) IV 估计 471 472 473 *--- xtoverid 命令 --474 475 * 基本思想:如果二者都是一致的,那么系数估计值应当不存在显著差异 476 477 xtreg market invest stock, re 478 xtoverid 479 480 481 *--------------------482 *-6.2.3 一些常见问题 483 484 *-6.2.3.1 为何tsset命令总是报告错误信息? 485 486 use invest3.dta, clear 487 tsset id t // 错误 488 xtdes 489 duplicates report id t 490 duplicates example id t 491 list if id == 1 492 duplicates drop id t, force 493 tsset id t 494 495 496 *-6.2.3.2 数据的结构 -xtdes- -xtpattern497 498 xtdes 499 xtpattern, gen(pat) /*findit xtpattern*/ 500 tab pat 501 keep if pat == && /*20个1*/ 502 xtdes 503 504 505 *-6.2.3.3 为何有些变量会被drop掉? 506 507 use nlswork.dta, clear 508 tsset idcode year 509 xtreg ln_wage hours tenure ttl_exp, fe // 正常执行 510 511 * 产生种族虚拟变量 512 tab race, gen(dum_race) 513 xtreg ln_wage hours tenure ttl_exp dum_race2 dum_race3, fe 514 515 * 为何 dum_race2 和 dum_race3 会被 dropped ? 516 * 固定效应模型的设定:y_it = u_i + x_it*b + e_it (1) 517 * 由于个体效应 u_i 不随时间改变, 518 * 因此若 x_it 包含了任何不随时间改变的变量, Page 7 xA6_Panel_Data - Printed on
10:43:03 519 * 都会与 u_i 构成多重共线性,Stata会自动删除之。 520 521 522 *-6.2.3.4 unbalance ―& balance 523 524 use invest3.dta, clear 525 duplicates drop id t,force 526 xtdes 527 528 xtbalance, range(3 19) // written by arlion 529 530 use abond91.dta, clear 531 tsset id year 532 xtdes // unbalanced 533 sum // many missing values 534 xtbalance , rang() miss(_all) // written by arlion 535 xtdes 536 sum 537 538 539 *-6.2.3.5 得到时间连续的样本 540 541 *- 样本 542 use grunfeld.dta, clear 543 drop in 28 544 drop in 55 545 drop in 87 546 drop in 94 547 xtdes 548 *- 转换 549 *- 主要目的:去除 varlist 中的缺漏值,把时间不连续的部分删除 550 cap erase grun1.dta 551 onespell invest mvalue kstock, saving(grun1) replace 552 use grun1.dta, clear 553 xtdes 554 555 556 *-6.2.3.6 得到连续的公司编号 557 558 *- 问题:在使用循环命令(如forvalues)时,需要公司编号是连续的, 559 * 此时可采用 egen 命令提供的 group() 函数。 560 561 use xtcs.dta, clear 562 tsset code year 563 list code year tl if code&20 564 egen code_new = group(code) 565 list code code_new year tl if code&20 566 tsset code_new year 567 xtdes 568 569 * 启示:采用同样的方法,可以针对任何类别变量生成连续编号 570 571 572 *-6.2.3.7 长条形数据与扁平型数据的转换 573 574 use reshape.dta, clear 575 browse 576 * 扁平 ―& 长条 577 reshape long r c, i(id) j(year) 578 tsset id year 579 list in 1/20, sep(4) 580 * 长条 ―& 扁平 581 reshape wide r c, i(id) j(year) 582 browse 583 584 585 *-6.2.3.8 绘图 586 587 *-xtline 588 use invest2.dta, clear 589 xtline invest 590 xtline invest, overlay 591 xtline market invest stock 592 *-xtgraph Page 8 xA6_Panel_Data - Printed on
10:43:03 593 xtgraph invest, av(mean) 594 595 596 *-6.2.3.9 统计类别变量 597 598 use xtlabor, clear 599 xtab age // 按截面个数统计 600 tabulate age // 按样本数统计 601 602 xttab south 603 xttrans south 604 605 *== 统计个体的数目 606 use xtcs.dta, clear 607 count if tl & 0.6 608 xtcount if tl & 0.6 609 610 611 612 *---------------------613 *-6.2.4 面板数据的转换 614 615 *-6.2.4.1 FE 转换 616 617 * y[it] = x[it]*b + u_i + v[it] 618 * ym[it] = y[it] - ym[it] 619 620 use invest2.dta, clear 621 xtset 622 list if id == 1 623 xtreg invest market stock, fe 624 625 xtdata invest market stock, fe 626 list if id == 1 627 reg invest market stock 628 629 * 用途: 630 * (1) 当截面数目较大时(如N=10000),采用这种方法运算速度较快; 631 * (2) 我们可以得到调整后的 R2; 632 633 634 *-6.2.4.2 RE 转换 635 636 * y[it] = x[it]*b + u_i + v[it] 637 * ym[it] = y[it] - rho*ym[it] 638 * rho = sigma_u / sigma_v 639 640 use invest2.dta, clear 641 xtreg invest market stock, fe 642 local rho = `e(sigma_u)' / `e(sigma_e)' 643 644 xtdata invest market stock, re ratio(`rho') 645 reg invest market stock 646 xtreg invest market stock, re 647 648 649 * ---------------------------------650 * ------------几点评论-------------651 * ---------------------------------652 * (1) 多数实证研究都采用固定效应模型或双向固定效应模型 653 * (2) 随机效应模型有两个突出的优点: 654 * 一是比较有效; 655 * 二是可以分析不随时间改变的变量的影响,如性别、种族、教育程度等 656 657 658 659 660 661 662 *------------------------------663 *-6.3 异方差、序列相关和截面相关 664 *------------------------------665 666 * ==本节目录== Page 9 xA6_Panel_Data - Printed on
10:43:03 667 668 * 6.3.1 简介 669 * 6.3.2 假设检验 670 * 6.3.1.1 组间异方差检验 671 * 6.3.1.2 序列相关检验 672 * 6.3.1.3 截面相关检验 673 * 6.3.3 估计方法 674 * 6.3.2.1 异方差稳健型估计 675 * 6.3.2.2 采用Bootstrap标准误 676 * 6.3.2.3 序列相关估计 677 * 6.3.2.4 组间相关估计 678 * 6.3.2.5 一个综合的处理方法:xtscc 命令 679 680 681 *------------682 *-6.3.1 简介 683 684 * y_it = x_it*b + u_i + e_it 685 686 * 由于面板数据同时兼顾了截面数据和时间序列的特征, 687 * 所以异方差和序列相关必然会存在于面板数据中; 688 * 同时,由于面板数据中每个截面(公司、个人、国家、地区)之间还可能存在内在的联系, 689 * 所以,截面相关性也是一个需要考虑的问题。 690 691 * 此前的分析依赖三个假设条件: 692 * (1) Var[e_it] = sigma^2 同方差假设 693 * (2) Corr[e_it, e_it-s] = 0 序列无关假设 694 * (3) Corr[e_it, e_jt] = 0 截面不相关假设 695 696 * 当这三个假设无法得到满足时,便分别出现 异方差、序列相关和截面相关问题; 697 * 我们一方面要采用各种方法来检验这些假设是否得到了满足; 698 * 另一方面,也要在这些假设无法满足时寻求合理的估计方法。 699 700 701 *----------------702 *-6.3.2 假设检验 703 704 *-6.3.2.1 组间异方差检验(截面数据的特征) 705 706 * Var(e_i) = sigma_i^2 707 708 * FE 模型 709 use xtcs.dta, clear 710 xtreg tl size ndts tang tobin npr, fe 711 xttest3 712 713 use invest2.dta, clear 714 xtreg market invest stock, fe 715 xttest3 716 717 * RE 模型 718 * Re本身已经较大程度的考虑了异方差问题,主要体现在sigma_u^2上 719 720 721 *-6.3.2.2 序列相关检验 722 723 *-FE 模型 724 725 *-xtserial-命令 Wooldridge( *-基本思想:若无序列相关,则一阶差分后残差相关系数应为-0.5 727 use invest2.dta, clear 728 xtserial market invest stock 729 xtserial market invest stock, output 730 *-解释 731 reg D.market D.invest D.stock, nocons robust cluster(id) 732 predict e, res 733 reg e L.e, nocons cluster(id) 734 test L.e = -0.5 735 736 *-abar-命令 Arellano-Bond ( qui tab id, gen(dum) 738 reg market invest stock, cluster(id) 739 abar 740 reg market invest stock dum*, nocons Page 10 xA6_Panel_Data - Printed on
10:43:03 741 abar 742 743 *-RE 模型 744 745 xtreg market stock invest, re 746 xttest1 // 提供多个统计检验量 747 748 749 *-6.3.2.3 截面相关检验 750 751 *-xttest2- 命令 752 * H0: 所有截面残差的相关系数都相等 753 * 检验统计量:chi2(p) p = n(n-1)/2 see Greene(2000, p.601) 754 use invest2.dta, clear 755 xtreg market invest stock, fe 756 xttest2 757 * 由于检验过程中执行了SUE估计,所以要求T&N 758 use xtcs.dta, clear /*失败*/ 759 xtreg tl size ndts tang tobin npr, fe 760 xttest2 761 762 *-xtcsd- 命令(提供了三种检验方法) 763 use invest2.dta, clear 764 xtreg market invest stock, fe 765 xtcsd , pesaran // Pesaran( xtcsd , friedman // Friedman( xtcsd , frees // Frees( xtcsd , pesaran show 769 770 xtreg market invest stock, re 771 xtcsd , pesaran 772 xtcsd , pesaran show 773 774 use xtcs.dta, clear // 耗时很长 775 xtreg tl size ndts tang tobin npr, fe 776 xtcsd , pesaran 777 778 779 780 *----------------781 *-6.3.3 估计方法 782 783 *-6.3.3.1 异方差稳健型估计 784 785 use xtcs.dta, clear 786 xtreg tl size ndts tang tobin npr, fe robust 787 est store fe_rb 788 789 790 *-6.3.3.2 采用Bootstrap标准误 791 792 *-优点:统计推断并不依赖具体的分布假设 793 794 xtreg tl size ndts tang tobin npr, fe vce(bootstrap, reps(50)) 795 est store fe_bs50 796 *xtreg tl size ndts tang tobin npr, fe vce(bootstrap, reps(1000)) 797 *est store fe_bs *-原理: 800 * y_it = u_i + x_it*b + v_it (1) 801 * 估计完毕后,将得到b和u_i的估计值,设为 b0 和 u0_i,则 802 * ybs_it = u0_i + x_it*b0 + vbs_it (2) Bootstrap样本 803 * 估计(2),得到 b_bs1, b_bs2,......b_bs300 804 * 计算这300个系数的标准差,便可以得到系数 b 的标准误 805 806 *-结果对比 807 xtreg tl size ndts tang tobin npr, fe 808 est store fe 809 *local models &fe fe_rb fe_bs300 fe_bs local models &fe fe_rb fe_bs50& 811 esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') 812 813 814 *-6.3.3.3 序列相关估计 Page 11 xA6_Panel_Data - Printed on
10:43:03 815 816 *- 一阶自相关 -xtregar, fe/re817 818 * 模型: y_it = u_i + x_it*b + v_it (1) 819 * v_it = rho*v_it-1 + z_it (2) 820 821 xtregar tl size ndts tang tobin npr, fe 822 est store fe_ar1 823 xtregar tl size ndts tang tobin npr, fe lbi /*Baltagi-Wu LBI test*/ 824 * 说明: 825 * (1) 这里的Durbin-Watson = . 具有较为复杂的分布, 826 * 不同于时间序列中的D-W统计量。 827 * (2) 其临界值见Bhargava et al. (1982, The Review of Economic Studies 49:553-549) 828 * (3) Baltagi-Wu LBI = 1.3890829 基本上没有太大的参考价值, 829 * 因为他们并未提供临界值表,而该统计量的分布又相当复杂 830 831 xtregar tl size ndts tang tobin npr, re 832 est store re_ar1 833 834 *-两阶段估计 835 xtregar tl size ndts tang tobin npr, fe twostep 836 est store fe_ar1_two 837 838 *-选择一阶相关系数的计算方法 839 xtregar tl size ndts tang tobin npr, fe rhotype(tscorr) 840 est store fe_ar1_tscorr 841 842 *-结果对比 843 xtreg tl size ndts tang tobin npr, fe 844 est store fe 845 local models &fe fe_ar1 re_ar1 fe_ar1_two fe_ar1_tscorr& 846 esttab `models', b(%6.3f) se(%6.3f) /// 847 mtitle(`models') r2 sca(r2_w corr) 848 849 *-关于D-W值 850 * (1) 在Panel Data分析中,除非T很大,通常没有必要列出DW 851 * (2) 虽然能按照上述方法列出DW值,但一定要给出临界值, 852 * 否则没有参考意义,因为其分布与传统的DW迥异; 853 854 855 *-高阶自相关 856 857 *-newey2- 命令 858 use invest2.dta, clear 859 newey2 market invest stock, lag(2) 860 neweyvif 861 * 利用newey2命令得到膨胀因子(VIF) 862 use xtcs.dta, clear 863 newey2 tl size ndts tang tobin npr, lag(0) 864 neweyvif 865 866 *-xtreg,fe估计,但采用Newey-West估计调整标准误. 867 use invest2.dta, clear 868 *gthacker market invest stock, lag(1) 869 xtivreg2 market invest stock, fe bw(2) robust small 870 est store fe_gtha 871 * 结果对比 872 xtreg market invest stock, fe 873 est store fe 874 local models &fe fe_gtha& 875 esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') 876 877 878 *-6.3.3.4 组间相关估计(截面相关) 879 880 *-cluster() 选项 881 use xtcs.dta, clear 882 xtreg tl size ndts tang tobin npr, fe cluster(code) 883 est store fe_cluster 884 xtreg tl size ndts tang tobin npr, re cluster(code) 885 est store re_cluster 886 887 888 *-6.3.3.5 一个综合的处理方法:xtscc 命令 (推荐使用) Page 12 xA6_Panel_Data - Printed on
10:43:03 889 890 * 详见 Stata Journal,2007(3): 281-312. 891 * 当异方差、序列相关以及截面相关性质未知时 892 * xtscc相当于White/Newey估计扩展到Panel的情形 893 * Driscoll and Kraay ( use xtcs.dta, clear 895 xtscc tl size ndts tang tobin npr, fe 896 est store fe_scc 897 xtscc tl size ndts tang tobin npr, fe lag(1) 898 est store fe_scc_lag1 899 xtreg tl size ndts tang tobin npr, fe 900 * 结果对比 901 xtreg tl size ndts tang tobin npr, fe 902 est store fe 903 local models &fe fe_scc fe_scc_lag1& 904 esttab `models', b(%6.3f) se(%6.3f) /// 905 mtitle(`models') r2 sca(r2_w) 906 907 908 909 910 911 912 *------------------------------913 *-6.4 内生性问题与 IV 估计 914 *------------------------------915 916 * ==本节目录== 917 918 * 6.4.1 一般意义的内生性问题 919 * 6.4.1.1 检验内生性是否存在 920 * 6.4.1.2 过度识别检验 921 * 6.4.1.3 一些需要说明的问题 922 * 6.4.2 面板特有的内生性问题 923 * 6.4.2.1 Hausman-Taylor (1981) Estimation 924 * 6.4.2.3 Amemiya_MaCurdy(1990) estimation 925 926 927 *-简介 928 929 * 模型: y_it = a_i + z_it*b1 + x_it*b2 + e_it 930 * z_it 严格外生 931 * x_it 可能存在内生问题 932 933 934 *-----------------------------935 *-6.4.1 一般意义的内生性问题 936 937 *==情况:Corr(x_it,e_it) != 0 938 939 * 此时,Fe 和 Re 估计量都是非一致的,一般情形下的内生性问题 940 941 * 主题: 942 * (1) 是否存在内生性问题? 943 * (2) 工具变量的选择是否合适?过度识别、识别不足与弱工具变量问题 944 * (3) 估计 945 946 *== 例1:资本结构影响因素分析 947 948 *-估计 949 use xtcs.dta, clear 950 xtreg tl size ndts tang tobin npr, fe 951 est store fe 952 xtivreg tl size ndts tang (npr=tobin L1.npr), fe 953 est store fe_iv 954 * 结果对比 955 local models &fe fe_iv& 956 esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') sca(r2 r2_w) 957 958 959 *-6.4.1.1 检验内生性是否存在 960 961 * Davidson-MacKinnon (1993) 检验 962 * H0:OLS 和 xtivreg 都是一致的,即内生性问题对OLS的估计结果影响不大 Page 13 xA6_Panel_Data - Printed on
10:43:03 963 xtivreg tl size ndts tang (npr=tobin L1.npr), fe 964 dmexogxt 965 966 * Hausman-Wu 检验 967 hausman fe fe_iv 968 hausman fe fe_iv, sigmamore 969 hausman fe fe_iv, sigmaless 970 * 说明:相对于 D-M 检验, 971 * Hausman检验的主要局限就在于可能产生小于零的统计量。 972 973 974 *-6.4.1.2 过度识别检验 975 976 * 基本思想: 977 * 检验工具变量的合理性,即与内生变量相关,而与干扰项不相关 978 xtivreg tl size ndts tang (npr=tobin L1.npr), fe 979 xtoverid 980 981 *-过度识别、识别不足与工具变量弱相关问题 982 983 xtivreg2 tl size ndts tang (npr=tobin L1.npr), fe 984 985 *-- 识别不足检验 986 * (underidentification test) Anderson canon. corr. LR statistic: 987 * 原假设:存在识别不足问题,即工具变量与内生性变量不相关 988 * 说明:即使不存在识别不足问题,但仍然可能存在弱工具变量问题 989 990 *-- 弱工具变量检验: 991 * (weak identification test) Cragg-Donald F statistic: 992 * 原假设:工具变量与内生变量有较强的相关性 993 xtivreg2 tl size ndts tang (npr=L(1/2).tobin L(1/2).npr), fe 994 995 *-- 过度识别检验: 996 * (overidentification test of all instruments) Sargan statistic: 997 * 基本思想:类似于Sargan-Hansen statistic 998 * 检验工具变量的合理性,即与内生变量相关,而与干扰项不相关 999 1000 * 参考文献:连玉君,苏治,丁志国. 1001 * 现金-现金流敏感性能检验融资约束假说吗? 1002 * 《统计研究》,03 1004 *== 例2:美国妇女工资的决定因素
*-估计 1007 use nlswork.dta, clear 1008 tsset idcode year 1009 xtdes
gen age2 = age^2 1012 xtreg ln_w age* tenure not_smsa union south, fe 1013 est store fe 1014 xtivreg ln_w age* not_smsa (tenure = union south), fe 1015 est store fe_iv 1016 xtivreg ln_w age* not_smsa (tenure = union south), re 1017 est store re_iv
*-结果对比 1020 local models &fe fe_iv re_iv& 1021 esttab `models', b(%6.3f) se(%6.3f) mtitle(`models') sca(r2 r2_w)
*-评论: 1024 * (1) 虽然tenure是显著的,但age却不显著, 1025 * 而age是理论上认为对工资产生重要影响的一个因素 1026 * (2) 由于研究的是个体的工资决定因素, 1027 * 而样本可视为有一个很大的母体随机抽取而来, 1028 * 因此,采用随机效应模型可能更为合适 1029 * 重新设定模型如下:
gen black = (race==2) 1032 xtivreg ln_w age* not_smsa black (tenure = union south birth), re 35 *-6.4.1.3 一些需要说明的问题 1036 Page 14 xA6_Panel_Data - Printed on
10:43:03 1037 *- 工具变量的选择 1038 * (1) 理论为基础 1039 * (2) 滞后项经常被用作工具变量 1040 * (3) 经验和上述统计量
*- 关于 t 值和 z 值;Wald统计量与F统计量 1043 use xtcs.dta, clear 1044 * z 值:大样本 1045 xtivreg tl size ndts tang (npr=L(1/2).tobin L(1/2).npr), fe 1046 * t 值:小样本 1047 xtivreg tl size ndts tang (npr=L(1/2).tobin L(1/2).npr), fe small
*- Bootstrap 标准误 1050 xtivreg tl size ndts tang (npr=L(1/2).tobin L(1/2).npr), /// 1051 fe vce(bootstrap, rep(50)) 1052 * 通常 rep(300),即抽样次数在300次以上即可达到较好的效果
*- 异方差稳健型IV估计(仅适用于xtivreg2命令) 1055 xtivreg2 tl size ndts tang (npr=L(1/2).tobin L(1/2).npr), fe robust
*- 存在序列相关的IV估计 1058 use invest2.dta, clear 1059 qui tsset id t 1060 gen Lag1_invest = L.invest 1061 gen Lag2_invest = L2.invest 1062 newey2 market (invest = Lag1_invest Lag2_invest) stock, lag(2) 65 *-----------------------------1066 *-6.4.2 面板特有的内生性问题
*- 模型:y_it = a_i + z_it*b1 + x_it*b2 + v_it 1069 *- 情况:Corr(x_it,a_i) != 0
* 此时,Fe 是一致的,而 Re 则不是 1072 * 因此,只有在考虑随机效应时才会存在这个问题 1073 * 例如,通过Hausman检验,我们发现RE模型的原假设无法满足; 1074 * 但我们又想分析不随时间改变的因素,如性别、种族、行业特征等。 77 *-6.4.2.1 Hausman-Taylor (1981) Estimation
*-模型: 1080 * y_it = X1_it*b1 + X2_it*b2 + Z1_i*b3 + Z2_i*b4 + u_i + v_it 1081 * 1082 * X1_it, Z1_i 均为严格外生变量,前者随时间改变, 1083 * 后者不随时间改变,如性别、种族等。 1084 * X2_it, Z2_i 为内生变量
*-优点:可以估计出 c1 和 c2,这是 Fixed effects 模型无法做到的。
* -估计方法: 1089 * (1) whithin estimation 得到 b1 和 b2 的估计值,以及残差 e_it 1090 * (2) reg e_it on Z1i 和 Z2i(用 X1_it 和 Z1_it做工具变量), 1091 * 得到 b3 和 b4 的估计值 1092 * (3) 利用上述 b1-b4 的估计值,得到相应的残差向量, 1093 * 进而计算出方差-协方差矩阵,进行统计推断。
*== 例3 == 妇女工资的影响因素(重新审视) 1096 * 1097 * 参见 Baltagi and Khanti_Akom(1990,JAE,TabII, column HT) 1098 * 1099 *-问题的描述: 1100 use psidextract.dta, clear 1101 des 1102 *-下述变量可能和不可观测的个体随机效应相关 1103 xtsum exp exp2 wks ms union 1104 * 组内标准差非常小,表明这些变量随时间的变化非常缓慢 1105 *-fem blk occ south smsa ind 可以作为不随时间改变的变量 ed 的工具变量 1106 correlate fem blk occ south smsa ind ed
*-估计 1109 xthtaylor lwage occ south smsa ind exp exp2 wks ms union fem blk ed, /// 1110 endog(exp exp2 wks ms union ed) Page 15 xA6_Panel_Data - Printed on
10:43:03 1111 est store re_htaylor 1112 *-- 结果说明: 1113 * (1) rho = 0.97 表明 u_i 在残差的波动中占有很大的比例 1114 * (2) 各种类型的变量分开列示 1115 xtreg lwage occ south smsa ind exp exp2 wks ms union fem blk ed,re 1116 est store re 1117 *-结果对比 1118 local models &re re_htaylor& 1119 esttab `models', b(%6.3f) se(%6.3f) mtitle(`models')
*-检验 1122 xthtaylor lwage occ south smsa ind exp exp2 wks ms union fem blk ed, /// 1123 endog(exp exp2 wks ms union ed) 1124 xtoverid /*检验工具变量的合理性*/ 1125 xtoverid, robust 1126 xtoverid, cluster(id) 29 *== 例2 == 一份模拟数据 1130 * 基本结论: 1131 * 如果选择的工具变量过弱,则会导致严重的后果 1132 * 因为此时没有足够的信息来识别内生变量的参数
*-模型: 1135 * y = 3 + 3x1_a + 3x1_b + 3x2 + 3z_1 + 3z_2 + u_i + v_it 1136 * 内生变量:z2 x2
use xthtaylor1.dta, clear 1139 corr ui z1 z2 x1a x1b x2 eit
*-弱工具变量问题 1142 xthtaylor yit x1a x1b x2 z1 z2, endog(x2 z2) i(id) 1143 * x1a x1b z1 作为 x2 和 z2 的工具变量,但都弱相关 1144 * z2 的系数是真实值的 3 倍 1145 xtoverid
*-结论:corr 很重要 50 *-6.4.2.2 Amemiya_MaCurdy(1990) estimation
use psidextract.dta, clear 1153 xthtaylor lwage occ south smsa ind exp exp2 wks ms union fem blk ed, /// 1154 endog(exp exp2 wks ms union ed) amacurdy t(t) 1155 est store re_amac 1156 xthtaylor lwage occ south smsa ind exp exp2 wks ms union fem blk ed, /// 1157 endog(exp exp2 wks ms union ed) 1158 est store re_htaylor
*-结果对比 1161 local models &re_htaylor re_amac& 1162 esttab `models', b(%6.4f) se(%6.4f) mtitle(`models')
*-结论:并无大异! 67 70 *-------------------------1171 *-6.5 动态面板模型: Part I 1172 *------------------------- * ==本节目录==
* 6.5.1 简介 1177 * 6.5.2 一阶差分 IV 估计量 1178 * 6.5.3 一阶差分 GMM 估计量 1179 * 1.5.3.1 估计方法 1180 * 1.5.3.2 过度识别检验 1181 * 1.5.3.3 干扰项序列相关检验 1182 * 1.5.3.4 稳健型估计和两阶段估计 1183 * 1.5.3.5 先决变量和内生变量的设定 1184 * 1.5.3.6 系数估计的上下限 Page 16 xA6_Panel_Data - Printed on
10:43:04 1185 * 1.5.3.7 结果输出到 Word 88 *-----------1189 *-6.5.1 简介
*-模型: y[it] = a0*y[it-1] + a1*x[it] + a2*w[it] + u_i + e[it]
*-特征:解释变量中包含了被解释变量的一阶滞后项 1194 * 可以是非平行面板,但要保证时间连续 1195 * x[it] ―― 严格外生变量 1196 * E[x_it,e_is] =0 for all t and s 1197 * 即,所有干扰项与x都不相关 1198 * w[it] ―― 先决变量 1199 * E[w_it,e_is]!=0 for s&t, but E[x_it,v_is]=0 for all s&=t 1200 * 即,前期干扰项与当期x相关,但当期和未来期干扰项与x不相关。 1201 * y[it-1]―― 内生变量 1202 * E[x_it,e_is]!=0 for s&=t 1203 * 即,前期和当期,尤其是当期干扰项与x相关 1204 * u_i 随机效应,在截面间是 iid 的。u_i 与 e[it] 独立。
*-内生性问题: 1207 * (1) 若假设 u_i 为随机效应,则 Corr(y[i,t-1], u_i) !=0 1208 * (2) 若假设 u_i 为个体效应,需要想办法去除之,因为数据为&大N小T& 1209 * 一阶差分:D.y[i,t-1] = y[i,t-1] - y[i,t-2] 1210 * D.e[i,t] = e[i,t] - e[i,t-1] 1211 * 显然: Corr(D.y[i,t-1], D.e[i,t]) !=0, 差分方程存在内生问题; 1212 * 组内去心:ym[i,t-1] = y[i,t-1] - 1/(T-1)*(y[i,t-1]+...+y[i,T]) 1213 * em[i,t] = e[i,t] - 1/T*(e[i,t]+e[i,t-1]+...+e[i,T]) 1214 * 显然: Corr(ym[i,t-1], em[i,t]) !=0, 仍然存在内生性问题
*-处理办法:IV估计或GMM估计,选择合适的工具变量 1217 * 1218 * 矩条件: E[e_it,z_it] = 0 21 *--------------------------1222 *-6.5.2 一阶差分 IV 估计量
*-Anderson and Hisao( 1226 *-基本思想:采用一阶差分去除个体效应 u_i, 1227 * y 的三阶及三阶以上滞后项都可以作为 D.y[it-1] 的工具变量 1228 * 同时,D.y[it-2] 也可以作为 D.y[it-1] 的工具变量
use abdata.dta, clear 1231 des // 变量的定义 1232 tsset id year
*-模型: n_it = b1*n_it-1 + b2*n_it-2 1235 * + b3*w_it + b4*w_it-1 1236 * + b5*k_it + b6*k_it-1 + b7*k_it-2 1237 * + b8*ys_it + b9*ys_it-1 + b10*ys_it-2 1238 * 1239 xtivreg n L2.n w L1.w k L1.k L2.k ys L1.ys L2.ys /// 1240 (L.n = L3.n) yr1981-yr1984, fd 1241 * 1242 *-等价于 1243 * 1244 xtivreg n L2.n L(0/1).w L(0/2).(k ys) /// 1245 (L.n = L3.n) yr1981-yr1984, fd 48 1249 *--------------------------1250 *-6.5.3 一阶差分 GMM 估计量 AB91
*-背景: 1253 * L.Hansen (1982) 提出 GMM 1254 * 1255 * Arellano and Bond ( 1257 *-模型: 1258 * Page 17 xA6_Panel_Data - Printed on
10:43:04 1259 * y[it] = a0*y[it-1] + a1*x[it] + a2*w[it] + u_i + v[it]
*-假设条件: 1262 * 干扰项 v[it] 不存在序列相关;
*-适用范围: 1265 * 大N,小T 1266 * 随后,我们会介绍“小N大T”型动态面板的估计方法
*-基本思想: 1269 * 1270 * 在 Anderson and Hisao(1982) 基础上增加了更多可用的工具变量 1271 * 1272 * 在 t=3 处,y_i1 可以作为所有滞后项的工具变量 1273 * 在 t=4 处, y_i1, y_i2 可以作为所有滞后项的工具变量 1274 * 1275 * D.y[it] = a1*D.y[it-1] + a2*D.X[it] + D.v[it] X_it = [x_it, w_it] 1276 * 1277 * 因此,所有工具变量构成的矩阵如下: 1278 * 1279 * |y_i1 0 0 0 0 0 ... 0 ... 0 D.x_i3 | 1280 * | 0 y_i1 y_i2 0 0 0 ... 0 ... 0 D.x_i4 | 1281 * | 0 0 0 y_i1 y_i2 y_i3 ... 0 ... 0 D.x_i5 | 1282 * Z_i = | . . . . . . . . . . . | 1283 * | . . . . . . . . . . . | 1284 * | 0 0 0 0 0 0 ... y_i1 ... yiT-2 D.x_iT | 1285 * 1286 * Z_i 的行数为 T-2 1287 * Z_i 的列数为 sum_(m=1)^(T-2){m} + K, K 为 X 的列数 1288 * 1289 * 以 T =7,K=3 为例,则 Z_i 的列数为 (1+2+3+4+5+6+7)+3 = 31
*-设定工具变量的基本原则: 1292 * 1293 * 对-内生-变量的处理:与上述方法类似, 1294 * 即滞后两阶以上的水平变量均可作为差分方程的工具变量 (GMM type) 1295 * 对-先决-变量的处理:滞后一阶以上的水平变量均可作为工具变量 (GMM type) 1296 * 对-外生-变量的处理:自己作为自己的工具变量 (Standard IV) 99 *-6.5.3.1 估计方法
*- 一阶差分估计量的基本设定 1302 * 解释变量仅包含 y_it 的一阶滞后项,默认设定 1303 * 干扰项同方差,一阶段估计
use abdata.dta, clear 1306 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr est store ab_0
*- 结果释疑 1310 * 1311 *-1- 工具变量的个数是如何确定的?(xtdpd, p.74) 1312 * 1313 * 外生变量的工具变量等于外生变量的个数 1314 * L(0/1).w L(0/2).(k ys) yr1980-yr1984 共 13个 1315 * 内生变量的工具变量:共 27个 1316 * 1317 list id year n L2.n DL2.n if id == 140 1318 * 1319 * 差分方程的可用工具变量 1320 *-------------------------------------------------------1321 * year of Years of Number of 1322 * difference equation instruments instruments 1323 * 77 2 1324 * 78 3 1325 * 79 4 1326 * 80 5 1327 * 81 6 1328 * 82 7 1329 *-------------------------------------------------------1330 * 27个
* 练习:如果进一步设定 y[i,t-2] 和 y[i,t-3] 为解释变量, Page 18 xA6_Panel_Data - Printed on
10:43:04 1333 * 那么工具变量共有多少个? 1334 * 1335 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984,lag(3) 38 *-2- GMM-type 和 Standard 两种类型的工具变量有何差异?(xtabond,p.27) 1339 * 1340 * GMM-type 是针对内生变量或先决变量而言的工具变量,有多列 1341 * Standard 是针对外生变量而言的工具变量,只有一列 44 *-6.5.3.2 过度识别检验(工具变量的使用是否合理)
estat sargan
*-说明: 1349 * H0: overidentifying restrictions are valid 1350 * 这里,我们拒绝了原假设,但AB91指出,当干扰项存在异方差时, 1351 * Sargan检验倾向于过度拒绝原假设,因此此处得到的结论并不可信。 1352 * 采用两阶段估计,然后再执行Sargan检验较为稳妥:
xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984,twostep 1355 estat sargan
* 说明:AB91发现, 1358 * 若存在异方差,在两阶段估计后执行Sargan检验往往倾向于 1359 * Underreject问题,即过度接受原假设。 1360 * 通常而言,这很可能是我们的模型设定不当,或是工具变量的选择不合理。 1361 * 随后,我们会采用-xtdpd-命令,将干扰项设定为 MA(1) 过程, 1362 * 此时,执行Sargan检验不再拒绝原假设。 65 *-6.5.3.3 干扰项序列相关检验
*-简介 1368 * AB91 一阶差分估计量要求原始模型的干扰项不存在序列相关, 1369 * 显然,差分后的干扰项必然存在一阶序列相关, 1370 * 因此,我们需要检验差分方程的残差是否存在二阶(或更高阶)序列相关即可
*-二阶序列相关检验(默认) 1373 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984,vce(robust) 1374 estat abond 1375 * 说明:若存在二阶相关,则意味着选取的工具变量不合理
*-高阶序列相关检验 1378 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984,vce(robust) artest(3) 1379 estat abond 82 *-6.5.3.4 稳健型估计和两阶段估计
*-稳健型估计 1385 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) robust 1386 est store ab4_one_rb 1387 *-说明:此时,无法 Sargan 统计量 1388 estat sargan
*-联合检验 1391 *-检验除常数项和时间虚拟变量外,其它变量整体上是否显著 1392 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) robust 1393 test L.n L2.n w L.w k L.k L2.k ys L.ys L2.ys
*-两阶段估计 1396 *-AB91(Tab4(a2)) 考虑异方差问题 1397 *-思路: 1398 * 利用第一阶段估计得到的残差构造方差-协方差矩阵,进而重新估计模型 1399 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, lags(2) twostep 1400 est store ab4_twostep 1401 *-说明:此时,Sargan 检验无法拒绝原假设 1402 estat sargan 1403 *-AB91重要建议: 1404 * (1) 采用一阶段估计结果进行系数显著性的统计推断; 1405 * (2) 采用两阶段估计给出的 Sargan统计量进行模型筛选 1406 Page 19 xA6_Panel_Data - Printed on
10:43:04 1407 *-进一步的讨论: 1408 * 虽然AB91建议不要采用两阶段(非稳健)估计进行统计推断, 1409 * 但Windmeijer(2005,Journal of Econometrics)通过模拟分析表明, 1410 * 采用纠偏(bias-corrected,WC)后的稳健性VCE,可以更好地进行统计推断 1411 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr1984, /// 1412 lags(2) twostep vce(robust) 1413 est store ab_wc_rb
*-结果对比 1416 local mm &ab4_one_rb ab4_twostep ab_wc_rb& 1417 esttab `mm',mtitle(`mm')
*-结论: 1420 * AB91_onestep_rb 的结果与 AB91_WC_rb 的参数估计相同,后者标准误较大 1421 * 建议采用 Windmeijer(2005) 两阶段-纠偏-稳健型 估计量。 24 *-6.5.3.5 先决变量和内生变量的设定
*-【先决变量】的设定
* 由于当期干扰项显然会影响后续 w 和 k, 1429 * 所以把它们设定为先决变量更为合理
*-基本设定: 1432 xtabond n L(0/1).ys yr1980-yr1984, /// 1433 lags(2) twostep pre(w k) 1434 est store ab4_pre 1435 estat sargan 1436 * 注意: 此时逗号前就不能再出现这两个变量了 1437 * 从 Sargan p值来看,将 w 和 k 设为先决变量似乎更为合理
*-pre() 选项滞后阶数的设定 1440 xtabond n L(0/1).ys yr1980-yr1984, lags(2) twostep /// 1441 pre(w,lag(1,3)) pre(k,lag(2,.)) 1442 *-解释: 1443 * pre(w,lag(1,3)) 1444 * lag(1,3) 中的 1 表示 L.w 也会作为解释变量, 1445 * lag(1,3) 中的 3 表示 L2.w 和 L3.w 可以作为 L.w 的工具变量, 1446 * 但 L4.w 不可以; 1447 * pre(k,lag(2,.)) 1448 * lag(2,.) 中的 2 表示 L1.k, L2.k 都会作为解释变量; 1449 * lag(2,.) 中的 . 表示 L3.k, L4.k ... 都可以作为 L2.k 的工具变量 52 *-【内生变量】的设定
* 假设 w 和 k 都与当期干扰项相关,即二者均为内生变量,则: 1455 xtabond n L(0/1).ys yr1980-yr1984, lags(2) twostep /// 1456 endog(w,lag(1,.)) endog(k,lag(2,.)) 1457 est store ab4_endog 60 *-部分先决,部分内生
xtabond n L(0/1).ys yr1980-yr1984, lags(2) twostep /// 1463 pre(w,lag(1,.)) endog(k,lag(2,.)) 1464 est store ab4_predog
* 说明:上述设定都可附加 -vce(robust)- 选项以便获得稳健型标准误 69 *-工具变量过多导致的问题
* 过多的工具变量往往导致过度约束假设无法满足 1472 * 估计结果的有效性降低,因为部分工具变量与内生或先决变量的相关性很弱 1473 * 对矩阵尺寸的要求增加 1474 * 解决办法:限制最大的滞后阶数 1475 xtabond n L(0/1).ys yr1980-yr1984, lags(2) twostep /// 1476 pre(w,lag(1,3)) pre(k,lag(2,3)) 79 *-6.5.3.6 系数估计的上下限 1480 Page 20 xA6_Panel_Data - Printed on
10:43:04 1481 * 虽然 Pooled OLS 和 Fixed Effects 估计都是有偏的, 1482 * 但是二者却决定了 y_it-1 真实估计值的上界和下界 1483 * 换言之, Pooled OLS 估计高估了真实值 1484 * 而 Fixed effects 估计则低估了真实值 1485 use abdata.dta, clear 1486 reg n L.n L(0/1).w L(0/2).(k ys) yr1980-yr1984, robust 1487 est store OLS 1488 xtreg n L.n L(0/1).w L(0/2).(k ys) yr1980-yr1984, fe 1489 est store FE 1490 xtabond n L(0/1).w L(0/2).(k ys) yr1980-yr est store DAbond 1492 *-结果对比 1493 esttab OLS DAbond FE, b(%6.3f) t(%6.2f) mtitle(OLS DAbond FE) 96 *-6.5.3.7 结果输出到 Word
local model &OLS DAbond FE ab4_pre ab4_endog& 1499 esttab `model', b(%6.3f) t(%6.2f) mtitle(`model') /// 1500 star(* 0.1 ** 0.05 *** 0.01) /// 1501 scalar(arm2 sargan sar_df N N_g) /// 1502 compress 05 *-使用 xtabond4 命令可进一步输出自相关和Sargan检验的 P 值 1506 *-该命令由Lian Yu-Jun根据xtabond命令修改而得 1507 use abdata,clear 1508 xtabond4 n L(0/1).w L(0/2).(k ys) yr1980-yr est store m_1 1510 xtabond4 n L(0/1).ys yr1980-yr1984, lags(2) twostep /// 1511 pre(w,lag(1,.)) pre(k,lag(2,.)) 1512 est store m_2
local model &m_1 m_2& 1515 esttab `model', b(%6.3f) t(%6.2f) mtitle(`model') /// 1516 star(* 0.1 ** 0.05 *** 0.01) /// 1517 scalar(arm1 p_arm1 arm2 p_arm2 sargan sar_p sar_df N N_g) 1518 * 或 1519 local model &m_1 m_2& 1520 esttab `model', b(%6.3f) t(%6.2f) mtitle(`model') /// 1521 star(* 0.1 ** 0.05 *** 0.01) /// 1522 scalar(p_arm2 sargan sar_df sar_p N N_g) 25 28 *-------------------1529 *-&6.5 动态面板模型 1530 *-------------------33 *--------------------1534 *-6.5.4 系统GMM估计量 AB95,BB98 1535 *-------------------- * ==本节目录==
* 6.5.4.1 简介 1540 * 6.5.4.2 xtdpdsys 命令 1541 * 6.5.4.3 xtdpd 命令 1542 * 6.5.4.4 xtlsdvc 命令 45 *----------------1546 *-6.5.4.1 简介
*-重点参考文献: 1549 * Arellano and Bover (1995), 1550 * Blundell and Bond( * Haha(1999), Judson and Owen( 1553 *-适用范围:大N,小T 1554 Page 21 xA6_Panel_Data - Printed on
10:43:04 1555 *-AB91 的局限 1556 * (1) 当 y[i,t-1] 的系数较大,即 y[i,t] 表现出强烈的序列相关时; 1557 * (2) 当 Var[u_i]/Var[e_it] 较大时, 1558 * 即个体效应的波动远大于常规干扰项的波动; 1559 *-AB91 的表现欠佳。 1560 * 原因在于,水平滞后项是差分方程中内生变量的-弱工具变量-; 1561 * 因此,需要寻求更佳的工具变量
*- 系统GMM的基本思想: 1564 * 1565 *- 几个概念 1566 * 1567 * 水平值 ―― y x 1568 * 差分值 ―― D.y D.x 1569 * 水平方程:y_it = b1*y_it-1 + b2*x_it + u_i + v_it 1570 * 可用工具变量:D.y[i,t-2] 可以作为 y[i,t-1] 的工具变量 1571 * 差分方程:D.y_it = b1*D.y_it-1 + b2*D.x_it + D.v_it 1572 * 可用工具变量:y[i,t-3],y[i,t-4]...都可以作为 D.y[i,t-1]的工具变量 1573 * 1574 *- 一阶差分GMM估计量与系统GMM估计量的区别 1575 * 1576 * (1) 差分GMM估计量采用水平值的滞后项作为差分变量的工具变量; 1577 * 如 y_it-3 是 D.y_it-1 的工具变量 1578 * (2) 系统GMM估计量进一步采用差分变量的滞后项作为水平值的工具变量; 1579 * 相当于进一步增加了可用的工具变量, 1580 * 且估计过程中同时使用水平方程和差分方程 1581 * (3) 主要原因在于差分GMM的工具变量往往是弱工具变量,即 corr(X,Z) 过低 1582 * 1583 *- xtdpdsys 命令---Stata官方命令 1584 * 1585 * 既可以估计差分 GMM 估计量,也可以估计系统 GMM 估计量; 1586 * 同时可以估计一般化的回归模型 1587 * 提供两阶自相关检验,Sargan检验,Hansen检验,以及工具变量外生性检验 90 1591 *----------------------1592 *-6.5.4.2 xtdpdsys 命令
* 仅适用于 Stata10 以上版本
* 中国上市公司资本结构动态调整 1597 use xtcs.dta, clear 1598 qui tab year, gen(yr) 1599 drop yr1
*-Case I:假设所有解释变量均为外生变量(L.tl除外)
local xx &size tang ndts L(0/1).tobin L(0/1).npr yr*& 1604 xtdpdsys tl `xx', vce(robust) twostep 1605 dis ln(2) / (1 - _b[L1.tl]) /*调整半周期*/ 1606 est store dycs_2sys 1607 * 设定说明: 1608 * (1) 无需设定 L.tl, 因为 xtdpdsys 默认设定被解释变量的滞后一期为解释变量, 1609 * 而且该变量被自动设定为内生变量; 1610 * (2) 稳健型估计采用 vce(robust) 选项加以设定; 1611 * (3) 该命令不会自动进行 AR(2)序列相关检验和Sargan过度识别检验
* 序列相关检验 1614 estat abond
* 过度识别检验 1617 estat sargan /*稳健型估计下无法获得Sargan统计量*/
* 正确方法 1620 local xx &size tang ndts L(0/1).tobin L(0/1).npr yr*& 1621 xtdpdsys tl `xx', twostep 1622 estat sargan
*-Case II:假设 Tobin 和 npr 为先决变量 1625 local xx &size tang ndts yr*& /*此处不应再包含 tobin和npr*/ 1626 xtdpdsys tl `xx', pre(tobin npr,lag(1,.)) twostep 1627 est store dycs_2pre 1628 estat abond Page 22 xA6_Panel_Data - Printed on
10:43:04 1629 estat sargan
*-Case III:假设 Tobin 和 npr 为内生变量 1632 local xx &size tang ndts yr*& /*此处不应再包含 tobin和npr*/ 1633 xtdpdsys tl `xx', endog(tobin npr,lag(1,.)) twostep 1634 est store dycs_2endog 1635 estat abond 1636 estat sargan
*-Case IV: 假设除了年度虚拟变量和公司规模外,所有解释变量均为先决变量 1639 local xx &size yr*& 1640 xtdpdsys tl `xx', pre(tobin npr,lag(1,.)) /// 1641 pre(tang ndts) twostep 1642 est store dycs_2preAll 1643 estat abond 1644 estat sargan 1645 * 假设除 L.tl 外的所有解释变量外生最为合适。
*-OLS 估计(调整系数的上限) 1648 local xx &size tang ndts L(0/1).tobin L(0/1).npr yr*& 1649 reg tl L.tl `xx', robust 1650 est store dycs_2OLS
*-FE 估计 (调整系数的下限) 1653 local xx &size tang ndts L(0/1).tobin L(0/1).npr yr*& 1654 xtreg tl L.tl `xx', robust fe 1655 est store dycs_2FE
*-结果对比 1658 local mm &dycs_2sys dycs_2pre dycs_2endog dycs_2preAll dycs_2OLS dycs_2FE& 1659 local ss &ar2 ar2p sargan sar_df sarganp& 1660 esttab `mm',mtitle(`mm') scalar(`ss') compress
* 结论: 1663 * (1) 估计出的调整系数介于合理的范围内,即OLS和FE之间; 1664 * (2) 就模型设定而言,dycs_2sys 最为合理,即把所有解释变量均设定为外生变量。 1665 * 1666 * 调整半周期为: 1667 local xx &size tang ndts L(0/1).tobin L(0/1).npr yr*& 1668 xtdpdsys tl `xx', vce(robust) twostep 1669 dis ln(2) / (1 - _b[L1.tl]) /*调整半周期*/ 72 1673 *----------------------1674 *-6.5.4.3 xtdpd 命令 77 * 该命令由 xtabond2 命令修改而来,是 xtabond 和 xtdpdsys 命令的综合; 1678 * 因此,即可估计-一阶差分GMM-,又可估计-系统GMM1679 * 只是选项的设定相对复杂一些; 1680 * 尚可对干扰项 v[i,t] 的结构做更加复杂的设定,如 v[i,t]--MA(1), 1681 * 这是该命令的主要有点所在; 84 * 选项释义: 1685 help xtdpd
*- 一阶差分估计量,所有解释变量外生 1688 use abdata, clear 1689 xtdpd n L(1/2).n L(0/1).(w ys) k, dgmmiv(n) div(L(0/1).(w ys) k) 1690 est store r1 1691 xtabond n L(0/1).(w ys) k, lag(2) 1692 est store r2 1693 esttab r1 r2
*-语法对比: 1696 * (1) xtdpd 需要设定 L(1/2) 来标明解释变量中包含 y[i,t-1] 和 y[i,t-2] 1697 * 而xtabond 则通过选项 lag(2) 来进行这一设定; 1698 * (2) xtdpd 需要明确指定内生变量:选项 dgmmiv() 1699 * 以及外生变量:选项 div(), 1700 * 而 xtabond 命令则无需这些设定,在不附加endog()选项的情况下, 1701 * 只把 y[i,t-1] 和 y[i,t-2] 视为内生变量; 1702 Page 23 xA6_Panel_Data - Printed on
*- 一阶差分估计量,所有解释变量-外生-,稳健型标准误 1705 use abdata, clear 1706 xtdpd n L(1/2).n L(0/1).(w ys) k, dgmmiv(n) div(L(0/1).(w ys) k) vce(robust) 1707 est store r1 1708 xtabond n L(0/1).(w ys) k, lag(2) vce(robust) 1709 est store r2 1710 esttab r1 r2
*- 一阶差分估计量,所有解释变量-内生-,稳健型标准误 1713 use abdata, clear 1714 xtdpd L(0/1).(n w k) year yr1979-yr1984, /// 1715 dgmmiv(n w k) div(year yr1979-yr1984) /// 1716 vce(robust) 1717 * 评论: 1718 * (1) 对于dgmmiv(x) 选项中的变量,L(2/.).x 均作为差分方程的工具变量; 1719 * (2) 对于div(x) 选项中的变量,D.x 均作为差分方程的工具变量; 1720 * 练习: 1721 * 如何采用 -xtabond- 命令得到上述结果? 24 *-系统GMM估计量,所有解释变量外生 1725 use abdata, clear 1726 xtdpd n L(1/2).n L(0/1).(w ys) k, dgmmiv(n) lgmmiv(n) div(L(0/1).(w ys) k) 1727 est store r1 1728 xtdpdsys n L(0/1).(w ys) k, lag(2) 1729 est store r2 1730 esttab r1 r2
*-语法对比: 1733 * (1) xtdpd 需要设定 L(1/2) 来标明解释变量中包含 y[i,t-1] 和 y[i,t-2] 1734 * 而xtabond 则通过选项 lag(2) 来进行这一设定; 1735 * (2) xtdpd 需要明确指定-差分方程-的内生变量:选项 dgmmiv() 1736 * -水平方程-的内生变量:选项 lgmmiv() 1737 * 以及-外生变量-:选项 div(), 1738 * 而 -xtdpdsys- 命令则无需这些设定,在不附加endog()选项的情况下, 1739 * 只把 y[i,t-1] 和 y[i,t-2] 视为内生变量; 42 *-系统GMM估计量,所有解释变量-内生-,两阶段估计 1743 use abdata, clear 1744 xtdpd L(0/1).(n w k) yr1979-yr1984, /// 1745 dgmmiv(n w k) lgmmiv(n w k) /// 1746 div(yr1979-yr1984) twostep 1747 est store r1 1748 estat abond 1749 estat sargan 52 *-------------------------------1753 *-关于 Sargan 检验和干扰项的设定
* 有些情况下,Sargan检验拒绝原假设, 1756 * 有可能是干扰项 e[i,t] 不满足 i.i.d 假设;
xtdpd n L.n L(0/2).(w k) yr1980-yr1984 year, /// 1759 div(L(0/1).(w k) yr1980-yr1984 year) /// 1760 dgmmiv(n) hascons 1761 estat sargan
* 假设 e[i,t]--MA(1),即 1764 * 1765 * y[i,t] = a0*y[i,t-1] + a1*x[i,t] + u_i + e[i,t] + b*e[i,t-1] 1766 * 1767 * 一阶差分可得: 1768 * 1769 * D.y[i,t] = a0*D.y[i,t-1] + a1*D.x[i,t] + D.e[i,t] + b*D.e[i,t-1] 1770 * 1771 * 由于 D.e[i,t-1] = e[i,t-1] - e[i,t-2] 1772 * 所以滞后三阶的变量是合理的工具变量 1773 * 1774 xtdpd n L.n L(0/2).(w k) yr1980-yr1984 year, /// 1775 div(L(0/1).(w k) yr1980-yr1984 year) /// 1776 dgmmiv(n,lag(3 .)) hascons // 注意此处的变化 Page 24 xA6_Panel_Data - Printed on
10:43:04 1777 estat sargan 80 1781 *----------------------1782 *-6.5.4.4 xtlsdvc 命令 纠偏LSDV估计
*- 纠偏LSDV估计(SJ 5-4) 1785 *- 适用范围:大 T 小 N
*-【简介】 1788 * 1789 * y[i,t] = y[i,t-1]a + x[i,t]b + u[i] + e[i,t] 1790 * 其中,i={1,...,N}; t={1,...,T_i}, 1791 * 1792 * x[i,t] 是严格外生变量(这是该方法的一个重要假设,也是一个主要的限制) 1793 * u[i] 是个体效应 1794 * e[i,t] i.i.d 干扰项 1795 * 假设 u[i] 和 e[i,t] 相互独立 1796 * 1797 * 当 N 较小时,采用 GMM 往往效果欠佳,因为 GMM 是基于大样本的; 1798 * 1799 * 此时,bias-corrected LSDV estimator (LSDVC) 是个不错的选择: 1800 * (1) Kiviet (1999) 通过 MC 模拟分析表明, 1801 * 在N较小的情况下,采用纠偏LSDV可以纠正90%以上的偏误; 1802 * (2) Bruno (2005,EL) 进一步给出了非平行面板的纠偏方法; 1803 * (3) Bruno(2005,SJ-5-4)的模拟分析标明, 1804 * 只有在所有解释变量严格外生的情况下, 1805 * 纠偏LSDV才有较好的表现,否则还是要采用 GMM。
*-【选项】 1808 * 1809 *-opt_1 initial(estimator) 1810 * 1811 * estimator description 1812 * -----------------------------------------------------------------------1813 * ah 【Anderson and Hsiao (1982)】 1814 * -AH82- estimator, with the dependent variable lagged two times, 1815 * used as an instrument for the first-differenced model with no 1816 * intercept (ivreg) 1817 * ab 【Arellano and Bond (1991)】 1818 * -AB91- estimator with no intercept (xtabond) 1819 * bb 【Blundell and Bond (1998)】 1820 * -BB98- estimator with no intercept, as implemented by the 1821 * user-written Stata routine xtabond2 by Roodman ( * my a row vector of initial values supplied directly by the user 1823 * -----------------------------------------------------------------------1824 * 1825 *-opt_2 bias(#) 1826 * 1827 * determines the accuracy of the approximation: 1828 * #=1 (default) forces an approximation up to O(1/T); 1829 * #=2 forces an approximation up to O(1/NT); 1830 * #=3 forces an approximation up to O(N^{-1}T^{-2}). 1831 * 1832 *-opt_3 vcov(#) 1833 * 1834 * 采用 Bootstrap 获得标准误,# 表示BS的次数。
use abdata, clear 1837 xtlsdvc n w k ys yr1980-yr1984, initial(ah) 1838 est store r_AH82 1839 xtlsdvc n w k ys yr1980-yr1984, initial(ah) first lsdv 1840 * 选项 first 呈现 IV 估计的结果 1841 * 选项 lsdv 呈现 FE 的估计结果 1842 * 若想呈现标准误,需附加 vcov() 选项,以便获得 BS 标准误: 1843 xtlsdvc n w k ys yr1980-yr1984, initial(ah) vcov(10)
xtlsdvc n w k ys yr1980-yr1984, initial(ab) 1846 est store r_AB91 1847 xtlsdvc n w k ys yr1980-yr1984, initial(bb) 1848 est store r_BB98 1849 xtreg n L.n w k ys yr1980-yr1984, fe 1850 est store r_FE Page 25 xA6_Panel_Data - Printed on
10:43:04 1851 xtlsdvc n w k ys yr1980-yr1984, initial(ab) bias(3) vcov(10) 1852 est store r_AB_bs
*-对比结果 1855 local mm &r_AH82 r_AB91 r_BB98 r_FE r_AB_bs& 1856 esttab `mm', mtitle(`mm') 59 62 *--------------------1863 *-6.6 面板资料的处理 1864 *-------------------- * ==本节目录==
* 6.6.1 声明面板资料:xtset 命令 1869 * 6.6.2 公司数目和年度的统计 1870 * 6.6.2.1 面板资料的基本描述:xtdes 命令 1871 * 6.6.2.2 记录面板的资料形态:xtpattern 命令 1872 * 6.6.2.3 统计公司数目:panels 命令 1873 * 6.6.3 产生连续的公司代码 1874 * 6.6.4 处理为平行面板 1875 * 6.6.5 剔除IPO当年的数据 1876 * 6.6.6 行业发生变更的公司 1877 * 6.6.7 如何删除面板资料首尾的缺漏值? 1878 * 6.6.8 仅保留连续 T 年以上可获得资料的公司 1879 * 6.6.9 面板资料瘦身 I: 每隔 T 年保留一次资料 1880 * 6.6.10 面板资料瘦身 II:采用 P 年平均值进行估计 1881 * 6.6.11 面板缺漏值的扩充 1882 * 6.6.12 变量的“去均值”和标准化处理 1883 * 6.6.13 面板资料处理的其他主题 86 * =本节命令= 1887 * ================================================== 1888 * -xtset- -xtpattern- -panels- -xtbalance1889 * -panelthin- -enlarge- -paverage- -center1890 * ================================================== 93 1894 *---------------------------------1895 *-6.6.1 声明面板资料:xtset 命令
use xtcs.dta, clear 1898 browse // code+year 才能够唯一标示每个观察值 1899 xtset code year 1900 xtdes 1901 gen tl_lag = L.tl
*-说明: 1904 * (1) xtset 与 tsset 等价,但只能用于stata9以上版本 1905 * (2) 如何处理错误信息“repeated time values within panel”? 1906 use xtcs.dta, clear 1907 replace year=2003 if year==2004 // 伪造一份年度重复的样本 1908 list code year in 1/30, sepby(code) 1909 tsset code year // 错误 1910 duplicates report code year // 查验 code-year 是否能唯一识别样本 1911 duplicates drop code year, force // 删除重复样本 1912 tsset code year // 正确 1913 xtdes 16 *-----------------------------1917 *-6.6.2 公司数目和年度的统计 -xtdes- -panels- -xtpattern *-6.6.2.1 面板资料的基本描述:xtdes 命令 1920 use gta_sample.dta, clear 1921 tsset id year 1922 xtdes // 默认:仅呈现9种频率最高的形态 1923 xtdes, patterns(20) 1924 xtdes, p(30) Page 26 xA6_Panel_Data - Printed on
10:43:05 1925 xtdes if sicmen_str == &C&, p(25) // 制造业
*-6.6.2.2 记录面板的资料形态:xtpattern 命令 1928 use gta_sample.dta, clear 1929 tsset id year 1930 xtpattern , gen(pp) 1931 tab pp, sort 1932 browse id year pp 1933 *-应用 1934 drop if year& xtpattern, gen(pat) 1936 tab pat, sort 1937 keep if pat == && // 平行面板的简单处理方式 1938 xtdes
*-6.6.2.3 统计公司数目:panels 命令 1941 use gta_sample.dta, clear 1942 tsset id year 1943 panels id
label list province_lab 1946 panels id if province==5 // 广东上市公司
tab province // 以观察值为单位进行统计 1949 panels id: tab province // 以公司为单位进行统计
tabstat size tl roa tobin, /// 1952 format(%6.3f) c(s) stat(N mean sd p50 min max) 1953 panels id: tabstat size tl roa tobin, c(s) stat(N) 1954 // 进一步统计每个变量对应的公司数目 57 *---------------------------1958 *-6.6.3 产生连续的公司代码 -egen- group()
use xtcs.dta, clear 1961 xtset code year 1962 tab code in 1/100 // 公司代码不连续 1963 egen code_123 = group(code) // 产生连续编号的公司代码 1964 list code code_123 year in 1/50, sepby(code)
*-用途:你可以使用forvalues等循环命令针对每家公司进行分析 1967 xtdes 1968 gen b = . 1969 forvalues i=1/438{ 1970 qui reg tl size tang tobin if code_123==`i' 1971 replace b = _b[tobin] in `i' 1972 } 1973 gen i = _n 1974 browse i b in 1/20 77 *------------------------1978 *-6.6.4 处理为平行面板 -xtbalance use gta_sample.dta, clear 1981 xtdes
help xtbalance // Given by Yu-Jun Lian
xtbalance, range() 1986 xtdes
*-缺漏值的处理:miss() 选项 1989 sum id year cflow cash invt tl size 1990 drop if invt==. 1991 xtdes
xtbalance, r() miss(cflow cash invt tl size) 1994 xtdes
*-一次性处理 1997 use gta_sample.dta, clear 1998 keep id year cflow cash invt tl size roa tobin Page 27 xA6_Panel_Data - Printed on
10:43:05 1999 xtbalance, r() miss(_all) 2000 xtdes 03 *--------------------------2004 *-6.6.5 剔除IPO当年的数据
*-由于缺少公司IPO的年份,本例中假设公司首次有记录的年份即为IPO年度
*-方法1:利用 xtdes 命令的返回值 和 egen 命令的 min() 函数 2009 use GTA_sample.dta, clear 2010 tsset id year 2011 xtdes 2012 bysort id: egen Tmin = min(year) 2013 list id year Tmin in 1/50, sepby(id) 2014 drop if (year-Tmin==0) 2015 list id year Tmin in 1/50, sepby(id) 2016 xtdes
*-方法2:巧妙使用差分运算和 _n 2019 use GTA_sample.dta, clear 2020 tsset id year 2021 gen Dyear = D.year 2022 list id year Dyear in 700/900, sepby(id) 2023 bysort id (year): drop if (Dyear==. & _n==1) 2024 list id year Dyear in 700/900, sepby(id) 27 *---------------------------2028 *-6.6.6 行业发生变更的公司
use GTA_sample.dta, clear 2031 label list sicmen_lab
*-人为生成行业变更数据(因为我们这份数据有局限) 2034 replace sicmen=4 if (sicmen==5 & year& 2036 *-查找行业发生变更的公司 2037 qui tsset 2038 gen sic_dif = D.sicmen // 若发生变更,则此变量不为零 2039 bysort id: egen sic_change = sum(sic_dif) 2040 // 统计变更的次数,以公司为单位进行标记 2041 order id year sicmen sic_dif sic_change 2042 list id year sicmen sic_dif sic_change if sic_change!=0, sepby(id)
*-删除行业发生变更的公司 2045 drop if sic_change != 0 // 若不发生行业变更,则该值不等于0 48 2049 *---------------------------------------2050 *-6.6.7 如何删除面板资料首尾的缺漏值?
*-数据 2053 use xtmiss, clear 2054 list, sepby(id)
*-问题:只删除首尾的缺漏值,中间的不删(可以采取其他方法插值)
*-S1: 删除“首部”缺漏值 2059 bysort id (year): drop if sum(mi(x))==_n 2060 list, sepby(id)
*-解析 2063 use xtmiss, clear 2064 bysort id (year): gen n123 = _n 2065 gen miss = mi(x) 2066 bysort id: gen summis = sum(miss) // 注意:是 gen,而不是 egen 2067 list, sepby(id) 2068 drop if n123==summis 2069 list
*-S2: 删除“尾部”缺漏值 2072 use xtmiss, clear Page 28 xA6_Panel_Data - Printed on
10:43:05 2073 gen nyear = -year 2074 list, sepby(id) 2075 bysort id (nyear): drop if sum(mi(x))==_n 2076 list, sepby(id) 2077 tsset id year 2078 list, sepby(id)
*-汇总: 2081 use xtmiss, clear 2082 bysort id (year): drop if sum(mi(x))==_n 2083 gsort id -year // 注意此行和下一行的变化 2084 bysort id: drop if sum(mi(x))==_n 2085 qui tsset id year 2086 list, sepby(id)
*-egen 命令提供了更为直接的解决办法 2089 use xtmiss, clear 2090 by id, sort: egen firstnonmis = min(cond(!missing(x), year, .)) 2091 by id: egen lastnonmis = max(cond(!missing(x), year, .)) 2092 drop if (year&firstnonmis) | (year&lastnonmis) 2093 list, sepby(id)
*-解析 2096 help cond() 2097 * cond(x, a, b) 2098 * 若 x=true, 返回 a; 2099 * 若 x=false, 返回 b; 2100 dis cond(1, 5, -5) 2101 dis cond(0, 5, -5) 2102 * !missing(x) 2103 * 若 x != ., 返回 1 2104 * 若 x == ., 返回 0 2105 dis !missing(.) 2106 dis !missing(9)
*-回顾 2109 use xtmiss, clear 2110 by id, sort: gen condyear = cond(!missing(x), year, .) 2111 list, sepby(id) 2112 by id, sort: egen firstnonmis = min(condyear) 2113 by id, sort: egen lastnonmis = max(condyear) 2114 list, sepby(id) 2115 drop if (year&firstnonmis) | (year&lastnonmis) 2116 list, sepby(id) 19 2120 *--------------------------------------------2121 *-6.6.8 仅保留连续 T 年以上可获得资料的公司
*-问题:在有些分析中,需要差分处理,或需要考察公司行为的延续性 2124 * 此时便需要筛选出连续多年有观察值的公司
*-示例:保留连续六年有样本的公司
use gta_sample.dta, clear 2129 keep id year tl cash tobin size 2130 drop if tl&1 2131 tsset id year 2132 xtdes 2133 xtpattern, gen(pp) // 记录每家公司的样本形态 2134 tab pp 2135 *browse
gen p6 = strpos(pp, &111111&) 2138 sort p6 2139 *browse 2140 drop if p6==0 // 仅保留连续六年有资料的公司 2141 tab pp 2142 save xtcontinue_temp, replace
*-如何执行如下两种处理方式: 2145 * Q1:如何删除所有&退市&或部分年度资料缺失的公司? 2146 * 即 &....1111111........& 或 &....111& Page 29 xA6_Panel_Data - Printed on
10:43:05 2147 * Q2:如何删除某个间断年份以后的所有数据? 2148 * 即 &....111& --& &...........& 2149 * 或 &...1.1.& --& &...1...& 2150 * 注:后一种方式有助于保留尽可能多的样本
*-S1:去掉&退市&或部分年度资料缺失的公司 2153 use xtcontinue_temp, clear 2154 xtdes // 140 家 2155 tab pp 2156 gen pbreak1 = strpos(pp,&1.&) 2157 order id year pp p6 pbreak1 2158 browse 2159 drop if pbreak&0 2160 tab pp, sort 2161 xtdes // 123 家 2162 *-说明:亦可采用 strmatch(),indexnot() 函数完成上述处理
*-S2: 如何删除某个间断年份以后的所有数据 2165 use xtcontinue_temp, clear 2166 tab pp 2167 *-简化数据(便于解释而已) 2168 keep if pp==&........& /// 2169 | pp==&...1.1.& /// 2170 | pp==&.......11& /// 2171 | pp==&.72 keep id year pp 2173 qui tsset id year 2174 gen Dyear = D.year 2175 order id year Dyear 2176 list, sepby(id) // 第一年的缺漏值并非真正的“间断” 2177 bysort id (year): replace Dyear=1 if _n==1 2178 list, sepby(id) 2179 bysort id: egen firstyear_mis = min(cond(missing(Dyear), year, .)) 2180 bysort id: drop if year&=firstyear_mis 2181 xtdes
*-------------------------------------------------------------2184 *-练习1:你可以把 keep 开头的那两条语句删除后对样本整体进行处理
*-------------------------------------------------------------2187 *-练习2:使用 gta_sample.dta 样本,要求处理后的数据符合如下条件: 2188 * (1) 样本是连续的 2189 * (2) 删除负债率大于1的观察值 2190 * (3) 可以是非平行面板,但时间跨度至少是
*-解答方案 -I2193 use gta_sample.dta, clear 2194 tsset id year 2195 drop if tl&1 // 满足第二个条件 2196 drop if year&1997 // 初步满足第三个条件 2197 xtpattern , gen(pp) 2198 tab pp 2199 gen Dyear = D.year 2200 bysort id: replace Dyear=1 if _n==1 2201 bysort id: egen miss = max(cond(Dyear==.), 1, 0) 2202 // 若某家公司存在断点,则miss变量的所有年度都标示为1 2203 drop if miss==1 2204 tab pp 2205 bysort id: egen Tmin = min(year) // 每家公司的最小年份 2206 bysort id: egen Tmax = max(year) // 每家公司的最大年份 2207 drop if Tmin&2003 // 满足第四个条件 2208 drop if Tmax&2008 // 满足第三、四个条件 2209 xtdes
*-解答方案 -II2212 *-思路:统计每个公司的最大年度和最小年度之差, 2213 * 然后计算该公司共有多少年的观察值, 2214 * 若二者不一致,则剔除该公司 2215 use gta_sample.dta, clear 2216 tsset id year 2217 drop if tl&1 2218 drop if year& xtpattern , gen(pp) 2220 cap dropvars Tmin Tmax Tsum Tdif Tmis Page 30 xA6_Panel_Data - Printed on
10:43:05 2221 bysort id: egen Tmin = min(year) 2222 gen Tmax =
bysort id: egen Tsum = count(year) 2224 // 统计每家公司实际有多少年的观察值 2225 gen Tdif = Tmax-Tmin+1 // 若样本连续,应该有这么多年的观察值 2226 gen Tmis = Tsum-Tdif 2227 drop if Tmis != 0 // 删除样本不连续的公司 2228 drop if Tmin&2003 // 删除2003年以后上市的公司 2229 order id year pp Tmin Tmax Tsum Tdif Tmis 2230 tab pp 2231 *-------------------------------------------------------------34 2235 *---------------------------------------------2236 *-6.6.9 面板资料瘦身 I:每隔 T 年保留一次资料 -panelthin *-目的:若我们想考察某些变量的长期变化, 2239 * 需要拉长时间间隔来分析
*-基本用法 2242 use GTA_sample.dta, clear 2243 tsset id year 2244 xtdes 2245 list id year in 1/50, sepby(id) 2246 panelthin, min(3) gen(OK) // 每隔 3 年保留一次资料 2247 xtdes if OK, p(30) 2248 list id year OK in 1/50, sepby(id) 2249 list

我要回帖

更多关于 stata 行业固定效应 的文章

 

随机推荐