Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关
遗漏变量偏误检验
Stata: pkonfound
type
Post
status
Published
date
slug
summary
tags
category
遗漏变量偏误检验
icon
password
网址
作者
标签
文章链接
发布时间
来源
3. pkonfound 命令
pkonfound命令的典型应用场景是文献复现或者元分析,尤其是针对已经发表的论文,找到某个回归模型及核心变量的回归数据,然后使用 pkonfound命令,依次输入:估计系数、标准误、样本量、协变量数量,即可检测该模型是否存在严重的遗漏变量内生性问题。注意: 协变量数量至关重要,因为它决定了计算临界阈值时的自由度(Degrees of Freedom),直接影响结果的精确性。3.1 概述
pkonfound 命令根据用户输入的数值(如从已发表研究中获取的数值)(1)计算使因果推断系数无效的偏差百分比(RIR);(2)计算使因果推断系数无效的遗漏变量的影响(ITCV),以此检验某一已发表研究的稳健性。用户必须输入四个数值,第一个数是估计的效果值(如估计的回归系数),第二个数是估计效果的标准误差,第三个数是样本规模,第四个数是模型中协变量的数量。
3.2 pkonfound参数输入
参数 | 含义 | 直觉理解 |
model_type(#) | 模型类型,默认线性(0) | 线性模型估计 |
est_eff | 回归系数(β) | 核心效应大小 |
std_err | 标准误 | 估计不确定性 |
n_obs | 样本量 | 数据规模 |
n_covariates | 控制变量数 | 模型复杂度 |
sig(#) | 显著性水平(默认0.05) | 判断是否显著的标准 |
nu(#) | 原假设(默认0) | 检验 β 是否等于某值 |
onetail(#) | 单/双尾检验,默认双尾(0) | 显著性计算方式 |
far_bound(#) | 推断方向 | 推翻(向更接近0的方向移动) or 强化结论(向更远离0的方向移动) |
indx("RIR"/"IT") | 输出指标类型 | RIR 或 ITCV |
sdx, sdy, rs | X标准差、Y标准差、 R² | 用于 unconditional ITCV |
eff_thr(#) | 自定义阈值 | 不用 p 值判断 |
3.3 pkonfound参数输出
在
return list之后输出以下参数:指标 | 含义 | 如何解读 |
perc_bias_to_change | 所需偏误比例 | 需要多少 % 是偏误 |
RIR_primary | 替换观测数 | 需要替换多少样本 |
RIR_perc | 替换比例 | 稳健性核心指标(越大越稳健) |
beta_threshold | 临界系数 | 刚好不显著时的 β |
itcv | 不考虑控制变量的 ITCV | CV 需要多强才能推翻结果 |
itcvGz | 考虑控制变量的 ITCV | 更严格版本 |
rxcv | CV 与 X 的相关性 | 遗漏变量需要多相关 |
rycv | CV 与 Y 的相关性 | 同上 |
benchmark_corr_product | 已有变量强度 | 当前控制变量有多强 |
itcv_ratio_to_benchmark | ITCV/benchmark | >1 更稳健,<1 有风险 |
obs_r | 原始相关性 | X-Y关系 |
act_r | 调整后相关性 | 基于t值 |
critical_r | 临界相关性 | 不显著边界 |
r_final | 最终相关性 | 应≈critical_r |
3.4 应用实例-线性模型
基于以上Hamilton (1983)的数据回归结果,我们已经知道
peop60的相关信息,比如说系数、标准误、样本量与协变量数量,可以立即使用pkonfound命令计算ITCV,如下所示:继续输入
return list,可以得到可以看出,
pkonfound命令直接得出conditional ITCV,且与上面使用konfound命令得出的结果一致,都是0.519.同理,也可以使用
pkonfound来计算RIR,只要将indx选项设定为RIR即可。如下所示:不难看出,
pkonfound命令依然给出与konfound命令一致的RIR结果。即:要使回归结果不再显著,则需要用 74.956%(372个)不显著的观测样本来替换原始样本,结论才能被推翻.3.5 应用实例 - 非线性回归
在
logit/probit的非线性模型中,遗漏变量影响阈值法(ITCV)不再适用,但偏差百分比方法(RIR)仍然适用。首先,对retire进行回归:结果显示
peop80 的估计效应在1%的水平上显著为正。然后,为了计算
peop80 变量使推断无效的偏差百分比,先输入margins, dydx(*)计算平均边际效应:最后,基于上述表格中
peop80的系数、标准误、样本数、协变量数量,使用 konfound 命令。如下所示:结果解读:对变量
peop80而言,为使得因果推断无效,需要被效应为0的样本替代的样本比例为59.332%3.6 特殊情况:自变量与因变量都是二分变量
对于自变量与因变量都是二分变量的情况,可以使用
pkonfound命令进一步计算脆弱性(Fragility)——即需要更改的数据点数量,以使处理与结果之间的关联达到某一指定显著性水平(例如 0.05)。同时,它还计算RIR,即为了实现与“脆弱性”对应的这些数据变化,需要被替换的数据点数量。除了回归系数、标准误、样本数与协变量数量之外,还需要实验组样本的数量(number of cases in treatment condition)输入参数
参数 | 含义 | 直觉理解 |
est_eff | 效应值(系数或均值差) | 处理变量的影响大小 |
std_err | 标准误 | 估计不确定性 |
n_obs | 样本量 | 数据规模 |
n_covariates | 控制变量数 | 模型复杂度 |
n_treat | treatment 组样本数 | 实验/处理组大小 |
model_type(1) | 指定 logit 模型 | 启用该模块 |
sig(#) | 显著性水平 | 判断是否显著 |
onetail(#) | 单/双尾检验 | 显著性计算方式 |
switch_trm(#) | 是否交换处理/对照 | 默认交换(1) |
replace(#) | 替换基准 | control 或全样本 |
输出参数
指标 | 含义 | 如何解读 |
fragility_primary | Fragility index | 需要“翻转”的观测数 |
fragility_supplemental | 补充fragility | 边界情况 |
RIR_primary | 替换观测数 | 需要替换多少数据 |
RIR_supplemental | 补充RIR | 边界情况 |
RIR_perc | 替换比例 | 稳健性核心指标 |
starting_table | 原始2×2表 | ㅤ |
final_table | 调整后的2×2表 | ㅤ |
user_SE | 用户输入的标准误 | ㅤ |
analysis_SE | 推导得到的标准误 | ㅤ |
📌 判断标准
Fragility | 稳健性 |
<5 | 很脆弱 |
5–20 | 一般 |
>20 | 较稳健 |
3.7 应用实例
基于
educat构造一个二分变量作为自变量:可以得出
n_treat=167,随后用educat_dummy对retire进行logit回归:最后,基于回归系数(.061)、标准误(.256)、样本数(496)、协变量数量(4)以及实验组样本数量(167),使用pkonfound命令:
结果解读:
为了在5%显著性水平下维持“该效应显著不为 0”的推断,需要将 10 个数据点从“处理失败”转变为“处理成功”(即 Fragility = 10)。等价地,这意味着需要替换 13 个(占 48.148%)原本为“处理失败”的数据点,并将其视为服从对照组成功概率(82.979%)的数据(即 RIR = 13)
交互效应检测
根据Busenbark et al. (2022)的建议,可以使用RIR来评估遗漏变量偏误对交互效应的影响。
首先,生成一个交互项interact,并进行回归:
上一篇
Stata: konfound
下一篇
ITCV / RIR表述摘录
Loading...