全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
117 0
2025-09-15

企业数据使用固定效应模型

在企业层面使用固定效应模型(FE)前,先确认三件事:

  1. 数据必须是“企业 i × 时间 t”的面板(每个企业至少 2 期);
  2. 你想剔除的是“不随时间变、但随企业异质”的混淆因子(如老板能力、地理位置、行业属性);
  3. 核心解释变量在企业内必须有足够变异(within variation),否则 FE 估计不出来。

下面给出一条 Stata 完整流水线,从检验 → 估计 → 检验 → 结果汇报,全部一条命令不落。


一、数据预处理

* 0. 设面板
xtset firm_id year, yearly   // firm_id 是字符串要先 encode

* 1. 查 within 变异
xtsum x y controls

xWithin SD 是否 > 0;若接近 0,FE 没法做,直接改用 RE 或 POLS。


二、基准估计(三种写法等价)

* 法 1:官方 xtreg
xtreg y x controls, fe robust        // 最常用

* 法 2:吸收哑变量(快)
reghdfe y x controls, absorb(firm_id) vce(cluster firm_id)

* 法 3:LSDV 显式哑变量(可导出 R²)
areg y x controls, absorb(firm_id) vce(cluster firm_id)
  • 结果窗口第一行 F test that all u_i=0 的 p 值 < 0.01 ⇒ 企业 FE 显著存在,POLS 无效。
  • 报告时只给 within-R²(xtreg 右上角),不要给 overall R²。

三、严格诊断

  1. 序列相关
xtserial y x controls      // Wooldridge 检验

p < 0.1 ⇒ 加 cluster(firm_id) 或改用 Driscoll-Kraay 标准误。

  1. 异方差
xttest3                    // modified Wald

若拒绝原假设,用 vce(robust)vce(cluster firm_id) 已足够。

  1. 弱工具(若做 IV-FE)
xtivreg2 y controls (x = z), fe ffirst

F stat > 10 才可继续。


四、结果输出模板

eststo fe1: xtreg y x controls, fe
eststo fe2: xtreg y x controls, fe vce(cluster firm_id)
esttab fe1 fe2, se star(* 0.1 ** 0.05 *** 0.01) ///
       stats(r2_w N firms, fmt(3 0 0)) label

论文正文只汇报第 2 列(聚类稳健),within-R² 放在脚注。


五、常见坑

  1. 随时间不变的变量(行业、省份、股权性质)会被 FE 吃掉,系数显示“omitted”;若想保留,用:

    • 交互 FE:reghdfe y x##c.industry_trend, absorb(firm_id year)
    • 或 Correlated Random Effects(CRE):xtreg y x w w_bar controls, re
  2. T 很小(<5)时,cluster(firm_id) 偏差大,可:

    • 双向聚类 vce(cluster firm_id year)
    • 或用 bootstrap 50 次
  3. 政策冲击变量只在年份层面变化,FE 会把它与 year FE 完全共线;此时用

    • reghdfe y x post##treat, absorb(firm_id year) (DID-FE 混合)
    • xtreg y x i.year, fe 把政策变量放到 i.year 后面

一句话
企业面板 → 先 xtsetxtreg ..., fe vce(cluster firm_id) → 汇报 within-R² 和 Wooldridge 检验;
只要核心变量在企业内有变异,固定效应就能干净地把“企业不随时间变”的所有混淆扫进暗格里。

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群