实证方法教程 / permutation_inference

Permutation 随机化推断

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

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

Permutation 随机化推断是什么?

Permutation inference 问的是:如果核心变量或处理标签只是随机分配,真实估计量还会这么极端吗。它固定主模型,只改变标签,用随机标签世界构造零假设分布。

先用一句话理解

把置换推断想成反复洗牌。模型、样本和控制变量都不变,只把处理标签打乱;如果真实系数在这些洗牌结果里非常罕见,说明它不太像随机标签造成的。

什么时候用

判断项教科书式判断
适合用在样本较小、常规分布近似可疑,或希望检验处理标签随机性。
先不要用在主模型本身还没固定,或每次置换都会改变样本定义。
最关键的前提置换规则要符合研究设计,例如在可交换的单位或聚类内置换。
读表顺序真实系数、常规 p 值、有效置换次数、经验 p 值。
论文表述边界经验 p 值来自随机标签世界,不等同于常规模型 p 值。

把它和相近方法分清楚

容易混淆的对象怎么区分初学者记法
常规 p 值依赖渐近分布或模型假设。样本小或分布怪时可能脆弱。
Bootstrap重抽样观测估计标准误或置信区间。不是打乱处理标签。
Permutation固定主模型,只随机置换核心标签。检验真实估计量在随机世界里的位置。

核心直觉和模型公式

经验 p 值

双侧置换 p 值常写成:

\[p_{perm}=\frac{1+\sum_{b=1}^{B}1(|\hat{\beta}_b^*|\ge |\hat{\beta}|)}{1+B}\]

加 1 是常见的小样本修正,避免经验 p 值被写成绝对零。

公式里的符号怎么读

符号含义在本页怎么理解
β̂真实估计量原始数据和固定主模型得到的核心系数。
β̂_b*第 b 次置换估计量打乱标签后重新估计得到的系数。
B置换次数有效随机置换的次数,决定 p 值分辨率。
1(·)指示函数置换估计量是否至少和真实估计量一样极端。
p_perm经验 p 值随机标签世界下真实结果有多罕见。

专业使用口径

置换推断的专业性在于“固定主模型”和“诚实报告有效置换次数”。

口径专业写法
模型固定因变量、控制变量、固定效应和标准误口径都不应在置换中改变。
置换对象说明置换的是处理标签、核心解释变量还是聚类层标签。
有效次数报告成功估计的置换次数,不只报告计划次数。
经验 p 值同时报告真实常规 p 和 permutation p,二者含义不同。

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

步骤这一页具体做什么做到什么程度才算读懂
1. 固定主模型先确定原始模型和核心变量。不能边置换边调规格。
2. 设定置换规则选择在个体、时间、聚类或处理标签层面置换。置换层级要符合可交换性。
3. 反复估计每次打乱标签后重新估计同一个模型。失败的置换要计入有效次数说明。
4. 构造零分布收集所有置换系数或 t 值。这就是随机标签世界。
5. 比较真实结果看真实估计量在零分布中的极端程度。经验 p 值不能过度精确化。

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

读表顺序本页怎么读不要这样读
先看真实模型确认真实系数和常规 p 值。主模型不清楚时,置换结果无意义。
再看有效置换有效次数决定经验 p 值分辨率。次数太少时不要夸大小数。
然后看经验 p它说明真实结果在随机标签下是否罕见。不要把它和常规 p 值混写。
最后看置换规则规则是否和研究设计匹配。错误置换会制造虚假的稳健性。

初学者最容易错在哪里

误读为什么错
每次置换都改模型错。置换检验必须固定主模型。
只报告计划置换次数错。要报告有效置换次数。
把经验 p 当常规 p错。两者来自不同世界。
置换不可交换标签错。置换规则必须符合研究设计。

变量要求和案例口径

字段口径
数据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
输出文件permutation_inference_results.csv
角色要求因变量、核心解释变量
依赖包无额外 Stata 社区包要求

实际代码

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

* case code has not been generated yet

实际输出表

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

该方法的案例输出表还没有生成。

案例图

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

Permutation 随机化推断 的共用案例输出图。
Permutation 随机化推断 的共用案例输出图。

论文里怎么写

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

检查清单

  • 置换时固定主模型,只随机打乱核心变量或处理标签。
  • 同时报告真实系数、常规 p 值、有效置换次数和经验 p 值。
  • 置换次数少时 p 值分辨率有限;不要把 100 次置换写得过于精确。

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