实证方法教程 / xtivreg

面板 IV (xtivreg)

把内生性、稳健性和标准误问题说清楚

这节课解决什么用于处理内生性、弱识别、标准误、空间相关或多重检验等识别风险。
先准备哪些变量因变量 / 核心解释变量 / 个体 ID / 时间变量
会看到哪张表xtivreg_results.csv
论文里怎么克制解释披露校正口径和失败/不可用状态,不把补充诊断伪装成主规格显著性。

面板 IV (xtivreg)是什么?

面板 IV 回答的是在控制个体固定效应后,如何用工具变量处理随时间变化的内生解释变量。它同时面对面板遗漏因素和工具变量识别两个问题。

先用一句话理解

把 xtivreg 想成先把每个企业天生不变的部分拿掉,再用外生工具变量解释核心变量的变化。它不是普通 FE,也不是普通 IV,而是 FE + IV 的组合。

什么时候用

判断项教科书式判断
适合用在面板数据中核心解释变量随时间变化且可能内生,同时有随时间变化的工具变量。
先不要用在工具变量没有组内变化,或被固定效应吸收后没有解释力。
最关键的前提工具变量在固定效应口径下仍满足相关性和外生性。
读表顺序先看 FE 口径,再看第一阶段、弱 IV 和二阶段系数。
论文表述边界面板 IV 的效应来自工具变量诱导的组内变化,不能写成普通 OLS 关系。

把它和相近方法分清楚

容易混淆的对象怎么区分初学者记法
固定效应控制个体不变遗漏因素。不能处理时变内生性。
横截面 IV用工具变量处理内生性。不一定控制个体固定效应。
面板 IV在固定效应下使用工具变量。同时处理两类风险。

核心直觉和模型公式

固定效应下的两阶段

面板 IV 可以写成:

\[X_{it}=\pi Z_{it}+\boldsymbol{\delta}'\mathbf{W}_{it}+\mu_i+\lambda_t+v_{it}\]
\[Y_{it}=\beta\widehat{X}_{it}+\boldsymbol{\gamma}'\mathbf{W}_{it}+\mu_i+\lambda_t+\varepsilon_{it}\]

Z 必须在吸收固定效应后仍能解释 X 的变化。

公式里的符号怎么读

符号含义在本页怎么理解
X_it内生解释变量需要工具变量处理的核心变量。
Z_it工具变量在面板固定效应口径下提供外生变化。
mu_i个体固定效应控制不随时间变化的个体差异。
lambda_t时间固定效应控制共同时间冲击。
X_hat第一阶段预测值由工具变量解释出的 X 的外生部分。

专业使用口径

专业 xtivreg 报告要把固定效应、工具变量和第一阶段同时讲清。

口径专业写法
组内变化说明工具变量是否有足够 within variation。
第一阶段报告固定效应口径下的相关性。
弱 IV补充弱工具诊断或 Anderson-Rubin。
聚类标准误面板 IV 通常需要按个体聚类。

一步一步做:从问题到结果的五步

步骤这一页具体做什么做到什么程度才算读懂
1. 明确内生变量说明 X 为什么在面板中仍可能内生。FE 不能解决所有时变内生性。
2. 选择工具变量Z 要有组内变化和外生来源。时不变 Z 会被 FE 吸收。
3. 估计第一阶段在同样 FE 下检验 Z→X。第一阶段必须同口径。
4. 估计二阶段用 X_hat 进入结果方程。读 β 时要结合 IV 解释范围。
5. 做诊断弱 IV、过识别、聚类和稳健性。只报 xtivreg 输出不够。

结果怎么读:先读口径,再读数字

本页案例读表时,先记住这个口径:一阶段工具变量 = L.dfi_index;教学案例用滞后 DFI 演示 IV 流程;正式论文需要外生来源。

读表顺序本页怎么读不要这样读
先看 FE 设定个体和时间固定效应是否进入。FE 口径决定估计来源。
再看第一阶段Z 在组内是否解释 X。被 FE 吸收后无效的 Z 不可用。
然后看二阶段β 的方向和量级。它是 IV 局部效应。
最后看诊断弱 IV 和过识别是否支持。诊断不过要降级表述。

初学者最容易错在哪里

误读为什么错
时不变工具变量硬放 FE IV错。会被个体 FE 吸收。
只看二阶段星号错。第一阶段和弱 IV 更关键。
FE 后仍写成横截面 IV错。估计来自组内变化。
不聚类标准误风险高。面板误差通常组内相关。

先看这个案例的结论

  • 一阶段工具变量 = L.dfi_index;教学案例用滞后 DFI 演示 IV 流程;正式论文需要外生来源。
  • 一阶段 F = 2.0575;弱工具变量诊断的核心指标。
  • 2SLS 系数 = -0.0237;第二阶段使用预测 DFI。
  • 这些数字来自页面里的结果表;写论文时先解释数值含义,再讨论理论含义。

变量要求和案例口径

字段口径
数据CSMAR 风格 A 股企业创新面板
原始样本196 家上市公司,2015-2020 年,约 1200 个公司-年观测;各方法有效样本以本页输出表 N 为准
因变量patent_count;回归页通常使用 ln(1 + patent_count)
核心解释变量dfi_index,数字普惠金融指数;部分案例输出展示的是标准化后的 dfi_index
控制变量roa、lev、size、growth、cashflow、tobinq、top1、dual、board、indep、soe、age
输出文件xtivreg_results.csv
角色要求因变量、核心解释变量、个体 ID、时间变量
依赖包无额外 Stata 社区包要求

实际代码

下面是本页案例里的最小 Stata 代码。它的作用是帮助你看清变量怎么进入模型、结果文件怎么生成,而不是要求你在网页里手动运行。

import delimited "$DATA_PATH", clear varnames(1) encoding(UTF-8)
gen ln_patent1 = ln(1 + patent_count)
egen firm_id = group(stkcd)
xtset firm_id year

global y ln_patent1
global count_y patent_count
global x dfi_index
global controls roa lev size growth cashflow tobinq top1 dual board indep soe age
gen post = year >= 2018
bysort firm_id: egen pre_dfi = mean(cond(year < 2018, dfi_index, .))
quietly summarize pre_dfi, detail
gen treat = pre_dfi >= r(p50)
gen did = treat * post
gen high_patent = patent_count > 2
gen running_dfi = dfi_index - 260
gen rdd_treat = running_dfi >= 0

xtivreg $y $controls i.year ($x = L.$x), fe vce(cluster firm_id)
export delimited using "$JOB_DIR/xtivreg_results.csv", replace

实际输出表

这张表是本方法页配套案例的输出结果,用来把前面的公式、变量口径和代码对应到实际数字。

指标数值解释
样本1200 obs / 196 firms / 2015-2020来自共用案例 CSV
因变量ln(1 + patent_count)企业创新产出
核心解释变量dfi_index数字普惠金融指数
输出文件xtivreg_results.csvempirical-wizard 对应方法产物
一阶段工具变量L.dfi_index教学案例用滞后 DFI 演示 IV 流程;正式论文需要外生来源
一阶段 F2.0575弱工具变量诊断的核心指标
2SLS 系数-0.0237第二阶段使用预测 DFI
2SLS p 值0.2853与 OLS/FE 方向对照,不单独当成识别证明

案例图

这是一张由同一份案例数据生成的页面内诊断图。

面板 IV (xtivreg) 的共用案例输出图。
面板 IV (xtivreg) 的共用案例输出图。

论文里怎么写

为缓解模型设定或内生性担忧,本文补充报告面板 IV (xtivreg)。相关估计输出见 xtivreg_results.csv。该检验不替代研究设计本身,但可以说明核心结论在替代识别、标准误或稳健性口径下是否保持一致。

检查清单

  • 先确认内生变量、工具变量和固定效应结构都定义清楚。
  • 报告第一阶段、弱工具诊断和面板固定效应口径。
  • 如果工具变量随时间变化很少,固定效应可能吃掉识别来源。

返回教程库 · 查看共用案例