Bartik / shift-share IV是什么?
Bartik / shift-share IV 问的是能否用初始份额和外部冲击的乘积构造工具变量。它把地区或企业原本的暴露结构,与外部行业、国家或总体冲击结合起来提供外生变动。
先用一句话理解
把 Bartik 想成每个地区早就有不同产业配方,后来全国各行业受到不同冲击。同样的全国冲击落到不同地区,会因为初始配方不同而产生不同暴露。
什么时候用
| 判断项 | 教科书式判断 |
|---|---|
| 适合用在 | 处理变量受外部行业/地区冲击影响,且单位有事前固定的 exposure shares。 |
| 先不要用在 | 初始份额本身可能由未来结果预期决定,或外部冲击直接影响结果。 |
| 最关键的前提 | 外生性通常来自 shocks、shares 或两者组合,必须明确论证。 |
| 读表顺序 | 先看 share 和 shock 定义,再看第一阶段、排除限制和稳健性。 |
| 论文表述边界 | Bartik 是一种 IV 构造,不是自动外生的变量名。 |
把它和相近方法分清楚
| 容易混淆的对象 | 怎么区分 | 初学者记法 |
|---|---|---|
| 普通 IV | 直接寻找一个外生工具变量。 | 工具变量通常是单一变量。 |
| Bartik IV | 用初始份额加权外部冲击。 | 工具变量由 share × shock 构造。 |
| 固定效应 | 控制不变差异。 | 不能替代外生冲击识别。 |
核心直觉和模型公式
shift-share 工具变量
Bartik 工具变量通常写成:
\[Z_{it}^{Bartik}=\sum_s share_{is,0}\times shock_{st}\]
share 是处理前暴露结构,shock 是外部冲击;两者共同决定单位 i 在 t 的预测暴露。
公式里的符号怎么读
| 符号 | 含义 | 在本页怎么理解 |
|---|---|---|
| share_i,s,0 | 初始份额 | 单位 i 在基期对行业或来源 s 的暴露。 |
| shock_s,t | 外部冲击 | 行业、来源或总体层面的时间变化。 |
| s | 份额维度 | 行业、移民来源地、贸易伙伴或其他 exposure cell。 |
| Z_Bartik | Bartik 工具变量 | 初始份额加权外部冲击。 |
| X | 内生变量 | Bartik 试图解释的处理或暴露变量。 |
专业使用口径
专业 Bartik 报告要说清外生性到底来自 share 还是 shock。
| 口径 | 专业写法 |
|---|---|
| 基期份额 | shares 应在处理前确定,避免被预期结果污染。 |
| 外部冲击 | shocks 应来自本单位之外,避免直接影响本单位结果。 |
| leave-one-out | 必要时排除本单位对 shock 的贡献。 |
| 第一阶段 | 报告 Bartik 对内生变量的解释力和弱 IV 诊断。 |
一步一步做:从问题到结果的五步
| 步骤 | 这一页具体做什么 | 做到什么程度才算读懂 |
|---|---|---|
| 1. 定义 exposure cells | 确定 s 是行业、来源地还是贸易伙伴。 | 维度要有经济含义。 |
| 2. 固定基期份额 | 用处理前 shares。 | 不能用政策后份额。 |
| 3. 构造外部冲击 | 从本单位外部计算 shocks。 | 必要时 leave-one-out。 |
| 4. 生成 Bartik Z | 对 share × shock 求和。 | 单位和时间口径要对齐。 |
| 5. 做 IV 诊断 | 第一阶段、弱 IV、安慰剂和份额稳健性。 | 只报二阶段不够。 |
结果怎么读:先读口径,再读数字
本页案例读表时,先记住这个口径:一阶段工具变量 = L.dfi_index;教学案例用滞后 DFI 演示 IV 流程;正式论文需要外生来源。
| 读表顺序 | 本页怎么读 | 不要这样读 |
|---|---|---|
| 先看构造式 | share 和 shock 分别是什么。 | 不知道构造就无法判断外生性。 |
| 再看第一阶段 | Z 是否解释 X。 | 弱第一阶段会削弱 IV。 |
| 然后看排除限制 | shock 是否可能直接影响 Y。 | 这是最大争议点。 |
| 最后看稳健性 | 不同基期、leave-one-out、share controls 是否一致。 | Bartik 需要大量透明披露。 |
初学者最容易错在哪里
| 误读 | 为什么错 |
|---|---|
| 把 Bartik 名字当外生性证明 | 错。外生性要具体论证。 |
| 用政策后份额 | 错。shares 会被处理影响。 |
| shock 含本单位贡献 | 风险高。可能机械相关。 |
| 只报二阶段 | 错。第一阶段和构造逻辑同样重要。 |
先看这个案例的结论
- 一阶段工具变量 = 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 |
| 输出文件 | bartik_results.csv |
| 角色要求 | 因变量、核心解释变量 |
| 依赖包 | 无额外 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
gen bartik_z = L.dfi_index * ind
ivregress 2sls $y $controls i.year ($x = bartik_z), vce(cluster firm_id)
export delimited using "$JOB_DIR/bartik_results.csv", replace
实际输出表
这张表是本方法页配套案例的输出结果,用来把前面的公式、变量口径和代码对应到实际数字。
| 指标 | 数值 | 解释 |
|---|---|---|
| 样本 | 1200 obs / 196 firms / 2015-2020 | 来自共用案例 CSV |
| 因变量 | ln(1 + patent_count) | 企业创新产出 |
| 核心解释变量 | dfi_index | 数字普惠金融指数 |
| 输出文件 | bartik_results.csv | empirical-wizard 对应方法产物 |
| 一阶段工具变量 | L.dfi_index | 教学案例用滞后 DFI 演示 IV 流程;正式论文需要外生来源 |
| 一阶段 F | 2.0575 | 弱工具变量诊断的核心指标 |
| 2SLS 系数 | -0.0237 | 第二阶段使用预测 DFI |
| 2SLS p 值 | 0.2853 | 与 OLS/FE 方向对照,不单独当成识别证明 |
案例图
这是一张由同一份案例数据生成的页面内诊断图。

论文里怎么写
为缓解模型设定或内生性担忧,本文补充报告Bartik / shift-share IV。相关估计输出见 bartik_results.csv。该检验不替代研究设计本身,但可以说明核心结论在替代识别、标准误或稳健性口径下是否保持一致。
检查清单
- 先拆清初始份额和外部冲击分别来自哪里,不能让本地结果反向污染冲击。
- 报告 shift-share 工具变量的构造公式和第一阶段强度。
- Bartik 的外生性来自份额或冲击假设,正文必须说明是哪一部分在识别。