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

xtivreg的f值缺失

xtivreg 不报告第一阶段的 F 值(或只给“.”)是因为:

  1. 它默认只做第二步(IV-GLS),第一阶段只用一个 quietly 的 reg 把残差存下来,不计算弱工具统计量;
  2. 你用的是单内生变量 + 单工具变量(恰好识别),系统没有多余工具,也就无法给出 Stock-Yogo 表里的 F 临界值提示;
  3. 如果样本里某个 panel 出现“singleton”或“perfect collinearity”,第一阶段自由度 ≤ 0,Stata 直接跳过统计量,结果窗口就显示“.”。

一、30 秒自查清单

xtset id year
xtsum x z                // 看 z 的 within-SD 是否 > 0
xtreg x z controls, fe   // 先跑朴素 FE,看 F 是否出现
  • 若这里 F 已经“.” → 数据侧问题(within 无变异、singleton、共线)。
  • 若这里 F 正常 → 换用 xtivreg2 即可得到全套第一阶段统计量。

二、一步到位拿到 F 值

ssc install xtivreg2, replace
xtivreg2 y controls (x = z), fe first ffirst
  • fe 固定效应
  • first 把第一阶段系数表打印出来
  • ffirst 额外报告“First-stage F, Shea’s partial R², Stock-Yogo critical values”

输出示例:

First-stage F test = 18.37
Shea’s partial R²  = 0.0821

F > 10 即通过弱工具检验;若 F < 10,考虑追加工具或改用 LIML:

xtivreg2 y controls (x = z1 z2), fe liml

三、还是显示“.”的急救措施

  1. 去掉 singleton 面板
egen n = count(y), by(id)
drop if n < 2
  1. 检查共线
_rmcoll z controls, forcedrop
  1. reghdfe 等价跑 IV
reghdfe y (x = z), absorb(id) vce(cluster id) first

reghdfe 对“缺观测”更宽容,F 值通常能正常显示。


一句话
xtivreg 本身不给出第一阶段 F 是“功能缺失”而非报错;装 xtivreg2, fe first ffirst 即可立即看到 F 值与 Stock-Yogo 临界值,弱工具问题一次解决。

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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