外观
动态面板 GMM(xtabond2)教程
使用与 Stata xtabond2 对齐的差分 GMM 或系统 GMM,并正确解读 AR、Hansen、Sargan 与工具变量数量。
常用 Stata 命令
xtset id year
xtabond2 y L.y x1 x2, gmmstyle(L.y, laglimits(2 .) collapse) ivstyle(x1 x2, equation(both)) twostep robust 在 STATAU 中打开此功能
动态面板 GMMxtabond2系统 GMM差分 GMMArellano-BondAR(2)Hansen 检验
这个页面解决什么问题
动态面板 GMM 适合模型中包含因变量滞后项、普通固定效应估计可能产生动态面板偏误,而且研究者能为内生或预定变量说明有效滞后工具变量的场景。它与普通 IV-GMM 不是同一个模型:本页会像 Stata 的 xtabond2 一样构造差分方程与可选的水平方程工具变量,并输出 Arellano-Bond 序列相关检验以及 Sargan、Hansen 和差分识别检验。
方法原理
差分 GMM 先消除个体效应,再使用变量的适当滞后水平作为差分方程工具;系统 GMM 在此基础上加入水平方程,并使用适当的滞后差分作为工具。能否可信识别取决于矩条件是否成立,而不是仅看核心系数是否显著。
核心公式
动态面板基本方程
个体效应 μ 与滞后因变量相关时,直接使用普通固定效应估计会产生动态面板偏误。
差分方程矩条件示例
laglimits(2 .) 的直观含义是从二阶及更深滞后中构造有效工具;具体起点仍应由变量的内生性假设决定。
适用数据与前提
必须提供面板个体变量和时间变量,同一“个体—时间”只能有一行。时间允许不平衡,但应使用稳定步长;网页可自动识别,也可显式指定 time delta。动态面板 GMM 更适合个体数较多、时间期数相对有限的面板。
STATAU 页面中每个位置应该放什么变量
| 网站位置 | 应放入的变量 | 说明 |
|---|---|---|
| 因变量 (Y) | 动态结果变量 | 网页会按“滞后因变量起始/终止阶”生成 L.y、L2.y 等解释项。 |
| 解释变量 (X) | 严格外生、预定或内生解释变量 | 常用设置中只需勾选需要按内生变量处理的 X,未勾选的 X 默认按外生变量处理;更复杂的时间序列项可在高级设置中配置。 |
| 面板个体变量 / 时间变量 | id / time | 对应 Stata 的 xtset id time;用于排序、识别时间缺口和构造组内变换。 |
| 常用设置:工具变量滞后范围 | 因变量及勾选为内生的 X | 默认从第 2 阶滞后开始,并开启工具变量数量压缩。 |
| 高级设置:自定义工具变量组 | 需要不同滞后窗口或方程范围的变量 | 可建立多组,并分别设置工具滞后、适用方程、压缩、变换和缺失值处理。 |
| 高级设置:多维聚类变量 | 一个或多个聚类维度 | 对应 cluster(varlist),多维聚类使用包含—排除法计算。 |
Stata 等效代码
xtset [面板个体变量] [时间变量]
xtabond2 [因变量] L.[因变量] [解释变量], gmmstyle(L.[因变量], laglimits(2 .) collapse) ivstyle([外生变量], equation(both)) twostep robust| Stata 代码位置 | STATAU 网站对应位置 | 应放入什么 |
|---|---|---|
xtset [id] [time] | 面板个体变量 + 时间变量 + 时间步长 | 确定面板结构与合法滞后关系。 |
L.[因变量] 与其他时间序列项 | 常用:因变量滞后范围;高级:解释变量的时间序列项 | 决定回归方程中的解释变量列。 |
gmmstyle(..., laglimits() ...) | 常用:内生 X + 工具变量滞后范围;高级:自定义内部工具变量组 | 决定内部工具变量的变量、滞后窗口、方程和压缩方式。 |
ivstyle(..., equation() ...) | 常用:未标记为内生的 X;高级:自定义外生工具变量组 | 决定外生工具变量进入差分方程、水平方程或两者。 |
twostep robust small | 常用:估计步数、稳健标准误与两步修正;高级:小样本修正 | 决定权重矩阵、协方差和小样本修正。 |
noleveleq / orthogonal / h() | 常用:估计结构;高级:方程变换、初始权重矩阵 | 决定差分或系统 GMM、FD/FOD 变换及一步权重矩阵。 |
可删除代码段提示
- 若只做差分 GMM,在常用设置中选择“差分 GMM”,此时不会建立水平方程。
- 网页默认使用两步估计、稳健标准误与 Windmeijer 有限样本修正;需要一步估计时可在常用设置中切换。
- 若不需要矩阵级核对,无需展开高级选项并启用“在原始结果中保存矩阵”或“展示变换变量”;它们不改变系数。
页面为什么只显示少量选项
分析页默认采用系统 GMM、两步估计、稳健标准误与 Windmeijer 修正,并开启工具变量数量压缩。常用区只要求确认面板结构、因变量滞后范围、工具变量滞后范围和 X 的内生性;时间步长、变换、聚类、权重、多组工具变量及兼容选项统一放在默认收起的“高级选项设置”中。
xtabond2 选项与网页对应关系
| xtabond2 选项 | STATAU 中的位置 | 作用 |
|---|---|---|
twostep | 估计步数:两步估计 | 使用两步 GMM 权重矩阵 |
robust | 常用设置:稳健标准误与两步修正 | 一步时使用稳健协方差;两步时同时应用 Windmeijer 修正 |
cluster(varlist) | 高级选项:多维聚类变量 | 支持一个或多个聚类变量 |
small | 高级选项:小样本修正 | 修正协方差及总体显著性检验自由度 |
noleveleq | 常用设置:差分 GMM | 关闭系统 GMM 的水平方程 |
orthogonal | 高级选项:方程变换—前向正交偏差 | 用 FOD 替代一阶差分 |
noconstant | 高级选项:不估计常数项 | 不在系统 GMM 水平方程中加入常数项 |
artests(#) | 高级选项:序列相关检验最高阶 | 输出 AR(1) 到指定阶数 |
arlevels | 高级选项:使用水平方程残差进行序列相关检验 | 对水平方程残差而非差分残差执行 AR 检验 |
h(1/2/3) | 高级选项:初始权重矩阵 | 控制一步权重矩阵的初始误差结构 |
nodiffsargan | 高级选项:跳过差分识别检验 | 不计算 Difference-in-Sargan/Hansen 检验 |
pca components(#) | 高级选项:主成分压缩工具变量 | 用主成分压缩 GMM 型工具变量 |
level(#) | 高级选项:置信水平 | 控制系数置信区间水平 |
[a/p/fweight=var] | 高级选项:权重类型与权重变量 | 对应 aweight、pweight、fweight |
svmat / svvar | 高级选项:原始结果矩阵与变换变量 | 将 X、Y、Z、H、权重矩阵及变换变量放入原始结果 |
nomata | 高级选项:兼容模式 | Stata 中切换旧版 ado 路径;网页估计器无需切换算法,因此不改变数值 |
常用设置会自动生成一组 gmmstyle() 和一组 ivstyle()。需要更复杂的设定时,展开“高级选项设置”并启用“自定义工具变量组”:每个内部工具变量组都可独立设置 laglimits()、collapse、orthogonal、equation(diff/level/both)、passthru 和 split;每个外生工具变量组都可独立设置 equation()、passthru 和 mz。
原始结果包含什么
“查看原始结果”除主表统计量外,还会保留样本数、组数、工具变量数、各阶 AR z/p、Sargan/Hansen 值与自由度、差分检验、总体 Wald/F 检验、误差方差、PCA 信息、关键返回宏,以及 b、V、A1、A2、Ze、工具变量分组和聚类分组等矩阵。启用相应高级输出选项后,还会扩展 X、Y、Z、H、权重和变换变量。
在 STATAU 中操作步骤
- 先选择因变量、解释变量、面板个体变量和时间变量,并确认同一面板期没有重复记录。
- 在常用设置中确认系统/差分 GMM、一步/两步估计、因变量滞后范围和工具变量滞后范围。
- 勾选需要按内生变量处理的 X;未勾选的 X 会默认作为外生工具变量,推荐保留工具变量数量压缩和稳健修正。
- 只有在变量需要不同滞后窗口、方程范围、变换、聚类或权重时,才展开高级选项并启用自定义工具变量组。
- 同时核对系数、AR 检验、Hansen/Sargan、差分检验、工具变量数与组数,再决定设定是否可信。
结果怎么看
- 差分残差的 AR(1) 常常会显著,这本身通常不是模型失败;关键是 AR(2) 及更高阶检验不应拒绝“无相应阶数序列相关”的原假设。
- Hansen 或 Sargan 的 p 值过小意味着工具变量整体有效性受到质疑;p 值异常接近 1 也可能是工具变量过多导致检验失去辨别力。
- 工具变量数应与面板组数一起报告。若工具变量数接近或超过组数,应缩窄 laglimits()、使用 collapse 或 PCA,并做设定敏感性比较。
- Difference-in-Hansen/Sargan 用于检查某一工具变量子集或系统 GMM 附加矩条件;不要只报告总体 Hansen 而忽略子集检验。
- 两步 robust 结果应使用 Windmeijer 修正后的标准误;网页主表和原始结果均按这一口径输出。
论文表述示例
- 可以写成:“本文采用两步系统 GMM,并使用 Windmeijer 修正的稳健标准误。AR(1) 检验拒绝原假设而 AR(2) 未拒绝,Hansen 检验未拒绝工具变量整体有效性的原假设;工具变量数量低于面板组数。”
- 同时报告工具变量构造方式,例如:“对滞后因变量采用二阶及以上滞后并使用 collapse,以限制工具变量增殖。”
常见使用误区
- 不要把普通 IV-GMM 的输出当成动态面板 GMM;只有后者会按面板时间结构构造内部工具并提供 Arellano-Bond AR 检验。
- 不要把 AR(1) 显著机械地判为失败;对差分残差而言,AR(2) 通常更关键。
- Hansen p 值“不显著”不是工具变量肯定正确的证明,尤其在工具变量数量很多时。
- 不要让每个变量都使用从很浅到无限深的滞后窗口;这会迅速造成工具变量增殖和奇异权重矩阵。
- 系统 GMM 还依赖水平方程附加矩条件;若无法为其平稳性或初始条件假设辩护,应同时报告差分 GMM。