多部门 / 投入产出 DSGE:IO 矩阵传导、Leontief 逆与网络中心性
真实经济不是"一个代表性部门",而是由成百上千个通过投入产出(IO)关系互相喂料的部门组成:钢铁厂的产品是汽车厂的中间投入,汽车厂的产品又是建筑公司的中间投入。本页把 NK 三方程扩展到 $J$ 个生产部门,用投入产出矩阵 $A=(a_{ij})$ 刻画"部门 $j$ 每生产一单位要从部门 $i$ 买多少",推导部门成本最小化、部门边际成本(含 IO 网络传导)、部门 Calvo 定价(异质 $\theta_j$)与部门 NKPC;核心是那条价格沿网络传导的方程 $\hat P_j=\sum_i a_{ij}\hat P_i+\hat w_j$ 与 Leontief 逆矩阵 $(I-A)^{-1}$ 对总波动的放大。给出完整 Dynare .mod(双部门 + IO 链 + 部门 Calvo + 部门冲击)与完整 Python 网络传导模拟(Leontief 逆、部门 IRF、中心性),最后落到 Acemoglu et al. (2012) 的"聚合之谜"与中国投入产出数据。
本页在部门维度扩展,核心方程 9 组:IO 技术矩阵(Eq.M1)、中间投入 CES 加总(Eq.M2)、成本最小化一阶条件(Eq.M3)、部门边际成本(Eq.M4)、价格网络传导(Eq.M5)、部门 Calvo 定价(Eq.M6)、多部门 NKPC(Eq.M7)、家庭支出分配(Eq.M8)、Leontief 逆与总产出桥(Eq.M9)。每个公式按 Eq.Mx 编号。
01 概念直觉:为什么要分部门
单部门 NK/RBC 模型假设所有产品同质、企业同频调价、冲击是"均匀落在所有企业头上"的。但现实有两个单部门模型回答不了的事实:
- 部门异质价格粘性:食品、能源价格每个月都在变,而制造业、服务业价格一年才调一次(Bils-Klenow;Nakamura-Steinsson)。如果央行只盯一个"平均通胀",会对哪个部门调价更敏感判断错。
- 部门间通过中间投入互相喂料:油价(能源部门)一涨,不只直接抬高居民汽油开支,还会顺着"能源→化工→制造业→零售"这条链,逐级抬高所有下游成本。一个部门的小冲击,可能被生产网络放大成宏观波动。
多部门 DSGE 就是把这两件事同时写进模型:$J$ 个部门、各自的 Calvo 粘性、各自的生产率冲击,再用一张投入产出矩阵把它们焊在一起。
多部门 DSGE 关心动态、价格粘性、货币政策(部门 IRF、聚合之谜、福利);QSGE 的 RRH/生产网络更关心静态、贸易、空间的一般均衡反事实。本页是"带粘性、带动态"的生产网络 NK。
02 经济环境与假设:$J$ 部门与 IO 矩阵
经济有 $J$ 个生产部门($j=1,\dots,J$)。每个部门由一组垄断竞争厂商组成,用劳动 + 其他部门的中间投入生产。核心新对象是投入产出技术矩阵。
2.1 投入产出矩阵 $A$ 的定义
设定理由:这就是投入产出表里的"直接消耗系数"(直接分配系数的转置口径)。读法:$a_{ij}$ 是"部门 $j$ 每生产 1 元产出,要从部门 $i$ 买多少元中间品"。列 $j$ 是部门 $j$ 的成本构成;行 $i$ 是部门 $i$ 的产品卖给了哪些部门。经济直觉:$A$ 的稀疏/稠密、谁在列和行里占比大,直接刻画"谁是谁的上游/下游""谁是关键节点"。
2.2 部门生产函数与中间投入 CES 加总
部门 $j$ 的代表性厂商用劳动 $N_{jt}$ 与一个由各部门中间品 CES 加总而成的复合中间投入 $M_{jt}$ 生产:
变量:$Z_{jt}$ 部门特定 TFP(部门 $j$ 自己的生产率冲击);$N_{jt}$ 部门 $j$ 用工;$M_{ijt}$ 部门 $j$ 从部门 $i$ 买的中间品。参数:$\alpha_j$ 劳动在成本中的份额;$\eta$ 各部门中间品之间的替代弹性;$\omega_{ij}$ 部门 $j$ 对部门 $i$ 中间品的偏好/技术权重(校准为 $\omega_{ij}=a_{ij}$ 的归一化)。直觉:CES 意味着不同来源的中间品不能完美替代——能源贵了不能一夜之间换成别的能源,故成本被网络锁定。
2.3 部门特定冲击与部门价格粘性
关键异质性:每个部门 $j$ 有自己的 TFP 冲击 $\varepsilon_{jt}$(不是单一总技术冲击)和自己的 Calvo 概率 $\theta_j$。食品 $\theta$ 小(调价勤)、服务业 $\theta$ 大(调价慢)。直觉:$\theta_j$ 的部门异质性让货币政策的传导取决于"哪个部门被冲击、它粘不粘"。
2.4 家庭:CES 加总各部门最终品
参数:$\xi_j$ 部门 $j$ 最终品在消费篮子中的权重(校准为家庭最终需求份额);$\epsilon$ 部门间消费替代弹性。直觉:家庭在食品、制造、服务之间替代消费,价格相对变了就调整支出。
03 厂商推导:成本最小化与部门边际成本
3.1 成本最小化 → 中间投入需求
部门 $j$ 厂商给定产出 $Y_{jt}$,选择劳动与中间投入最小化成本 $\min W_t N_{jt}+\sum_i P_{it}M_{ijt}$。由 CES 加总的一阶条件(Shephard 引理),对部门 $i$ 中间品的需求为:
含义:部门 $j$ 对部门 $i$ 中间品的相对需求,取决于部门 $i$ 价格 $P_{it}$ 相对部门 $j$ 复合中间品价格 $P^M_{jt}$ 的相对价格,弹性为 $-\eta$。直觉:某个上游部门涨价($P_{it}\uparrow$),下游 $j$ 就少买它、多买替代品——替代弹性 $\eta$ 决定这种"绕开"的容易程度。
3.2 部门边际成本:IO 矩阵进入成本
把成本最小化代入,部门 $j$ 的实际边际成本 $\widehat{mc}_{jt}$(对数偏离)由两部分构成——工资项 + 各上游部门价格项:
关键结构:$\sum_i a_{ij}\widehat{mc}_{it}$ 这一项就是 IO 矩阵 $A$ 的第 $j$ 列对所有上游边际成本的加权——部门 $j$ 的成本,直接取决于它的上游部门 $i$ 的成本。这是生产网络"成本沿链传导"的数学表达。$\hat w_t$ 共同工资、$\widehat{z}_{jt}$ 部门 TFP。直觉:上游涨价→下游成本上升→下游定价上升→再传到更下游,层层放大。
04 价格网络传导与部门 NKPC
4.1 价格沿 IO 网络传导(核心方程)
把边际成本方程展开到价格水平,得到本页最核心的价格传导恒等式。用对数偏离 $\hat P_{jt}$ 表示部门 $j$ 相对价格变化:
这就是任务里点名的那条。部门 $j$ 价格变化 = 它所用全部上游部门价格变化的加权和(权重 $a_{ij}$)+ 工资冲击 - 技术进步。写成矩阵形式就是 $\hat P = A^\top \hat P + (\hat w-\hat z)$,解出 $\hat P=(I-A^\top)^{-1}(\hat w-\hat z)$——Leontief 逆直接把一个部门的成本冲击放大成所有部门的价格响应。直觉:这是"通胀传导"的网络版:上游一次成本冲击,会被 Leontief 逆放大、扩散到整张网。
4.2 部门 Calvo 定价与多部门 NKPC
每个部门 $j$ 有自己的 Calvo 概率 $\theta_j$。沿用单部门推导(见 10 NK 三方程 §5),得到部门 $j$ 的前瞻型菲利普斯曲线:
关键异质性:斜率 $\kappa_j$ 随 $\theta_j$ 变——价格粘性越大的部门($\theta_j$ 大),$\kappa_j$ 越小,其通胀对边际成本反应越慢。聚合时,总体通胀 $\pi_t=\sum_j b_j\hat\pi_{jt}$($b_j$ 部门权重),于是总体 NKPC 的斜率是各部门 $\kappa_j$ 按份额加权——异质粘性让总体通胀更平滑、更"向后看"(Carvalho 2006 的著名结论:异质价格粘性放大货币非中性)。
05 家庭支出分配与总产出桥
5.1 部门需求曲线
由家庭 CES 支出最小化,部门 $j$ 的最终需求为:
含义:部门 $j$ 相对其他部门越贵($P_{jt}/P_t\uparrow$),家庭买得越少,弹性 $-\epsilon$。$P_t$ 是总体价格指数。
5.2 总产出与部门产出:Leontief 桥
部门 $j$ 的产出既卖给家庭(最终需求),又卖给其他部门(中间需求)。把所有部门的产出写成向量 $\mathbf{Y}$、最终需求写成向量 $\mathbf{F}$,则:
这就是投入产出分析的核心结果。$(I-A)^{-1}$ 是 Leontief 逆矩阵(完全消耗系数)。含义:一个部门 $k$ 的最终需求 $\mathbf F$ 增加 1 单位,不只是部门 $k$ 增产,还要带动它的上游、上游的上游……把这些间接的、连锁的引致需求全部算进 $(I-A)^{-1}$ 第 $k$ 列。直觉:这就是"乘数"的网络版——谁在 Leontief 逆里列和最大,谁就是"国民经济关键部门"。
06 均衡求解:Leontief 逆与网络中心性
6.1 多部门均衡方程组一览
完整模型由三层方程组成:① 厂商侧(Eq.M3/M4/M6/M7,每个部门一套);② 家庭侧(Eq.M8 与消费/劳动/债券欧拉);③ 会计恒等式(Eq.M9 与资源约束)。加上货币政策的总体 Taylor 规则,构成闭合理性预期系统,用 Dynare 一阶扰动求解。
6.2 网络中心性(centrality)与冲击传导
不是所有部门冲击都一样重要。Acemoglu-Carvalho-Ozdaglar-Tahbaz-Salehi(2012)证明:一个部门对总波动的影响,取决于它在生产网络中的中心性。两个常用度量:
| 中心性度量 | 定义 | 经济含义 |
|---|---|---|
| 出度 / 前向关联 | $\sum_j a_{ij}$(部门 $i$ 卖给下游多少) | "上游关键供应商":它一断料,下游全链停摆 |
| 入度 / 后向关联 | $\sum_i a_{ij}$(部门 $j$ 买自上游多少) | "下游大买家":它的需求拉动上游 |
| Leontief 逆中心性 | $(I-A)^{-1}$ 的行/列和 | 含间接引致需求的"完全"中心性,最贴近总波动贡献 |
| Katz 中心性 | $\sum_{k\ge1} c^k A^k \mathbf{1}$ | 考虑邻居的邻居的邻居……的加权度 |
6.3 数值求解步骤
stoch_simul,得各部门政策函数、IRF、方差分解。07 Dynare .mod:双部门 IO-DSGE
下面是一个完整可运行的双部门(部门 1 = 上游,部门 2 = 下游)IO-DSGE。上游部门 1 的中间投入卖给下游部门 2;两部门各有自己的 Calvo 概率 $\theta_1,\theta_2$ 与 TFP 冲击。运行 dynare multi_sector.mod。
// ============================================================
// multi_sector.mod —— 双部门 NK-DSGE + 投入产出链
// 部门1: 上游(如能源/原材料),产品卖给部门2作中间投入
// 部门2: 下游(如制造业),用部门1中间品 + 劳动生产
// 两部门各有:异质 Calvo 概率、异质 TFP 冲击
// 运行:dynare multi_sector.mod
// ============================================================
// ---------- 内生变量(部门1 下标1,部门2 下标2) ----------
var y1 y2 // 两部门产出缺口
pi1 pi2 // 两部门部门通胀
pi // 总体通胀(消费篮子加权)
mc1 mc2 // 两部门实际边际成本
n1 n2 // 两部门就业
w // 共同实际工资
rrn // 自然利率(需求侧)
z1 z2 // 两部门对数 TFP(外生状态)
i // 名义政策利率(总体 Taylor 规则)
p1_rel p2_rel; // 部门相对价格(这里取相对偏离)
// ---------- 外生冲击 ----------
varexo eps_z1 eps_z2 eps_d;
// ---------- 参数 ----------
parameters beta sigma varphi epsilon ...
theta1 theta2 // 两部门异质 Calvo 概率
k1 k2 // 两部门 NKPC 斜率(由 theta 推)
a12 // 部门2 每单位产出用部门1中间品的份额
alpha2 // 部门2 劳动份额(1-alpha2 即中间品份额)
b1 b2 // 部门1、2在消费篮子中的权重(b1+b2=1)
phi_pi phi_y rho_z rho_d;
// ---------- 校准 ----------
beta = 0.99;
sigma = 1.0;
varphi = 1.0;
epsilon = 6.0;
// 部门1(上游/能源)价格调得勤 -> theta1 小;
// 部门2(下游/制造)价格粘 -> theta2 大
theta1 = 0.55; // 上游约 2 季度调一次价
theta2 = 0.80; // 下游约 5 季度调一次价
k1 = (1-theta1)*(1-beta*theta1)/theta1; // 上游 NKPC 斜率大(灵活)
k2 = (1-theta2)*(1-beta*theta2)/theta2; // 下游 NKPC 斜率小(粘性)
// 投入产出关键参数:a12 = 部门2 用部门1 中间品的份额
a12 = 0.35; // 下游 35% 成本来自购买上游中间品
alpha2 = 0.65; // 下游 65% 成本来自劳动(1-alpha2-a12=0 简化)
b1 = 0.30; // 上游最终品占消费篮子 30%
b2 = 0.70; // 下游最终品占消费篮子 70%
phi_pi = 1.5;
phi_y = 0.125;
rho_z = 0.90;
rho_d = 0.80;
// ---------- model 块 ----------
model;
// (1) 部门1 边际成本:只用劳动(上游不买别人中间品,简化)
// mc1 = varphi*n1 + sigma*y1 - z1 (单部门劳动-边际成本桥)
mc1 = varphi*n1 + sigma*y1 - z1;
// (2) 部门2 边际成本:关键!含 IO 传导
// 部门2 成本 = 工资项 + 上游部门1 价格/成本项(权重 a12)
// 即 Eq.M4:mc2 = alpha2*w + a12*mc1 - z2
mc2 = alpha2*w + a12*mc1 - z2;
// (3) 部门1 NKPC(斜率 k1 大 -> 灵活)
pi1 = beta*pi1(+1) + k1*mc1;
// (4) 部门2 NKPC(斜率 k2 小 -> 粘)
pi2 = beta*pi2(+1) + k2*mc2;
// (5) 总体通胀 = 消费篮子加权(Eq.M7 聚合)
pi = b1*pi1 + b2*pi2;
// (6) 共同工资与部门就业的劳动供给桥(简化:w = varphi*n + sigma*y)
// 两部门在统一劳动市场上竞争
w = varphi*n1 + sigma*y1;
w = varphi*n2 + sigma*y2; // 同一工资,两边都满足(冗余恒等,供 Dynare 求解)
// (7) 资源 / 需求侧(简化 IS:总体产出缺口由实际利率调节)
y1 = y1(+1) - (1/sigma)*( i - pi(+1) - rrn );
y2 = y2(+1) - (1/sigma)*( i - pi(+1) - rrn );
// (8) 货币政策:总体 Taylor 规则
i = phi_pi*pi + phi_y*(b1*y1 + b2*y2);
// (9) 部门 TFP 外生过程
z1 = rho_z*z1(-1) + eps_z1;
z2 = rho_z*z2(-1) + eps_z2;
// (10) 需求侧自然利率
rrn = rho_d*rrn(-1) + eps_d;
end;
// ---------- 稳态初始值(全 0,对数偏离) ----------
initval;
y1=0; y2=0; pi1=0; pi2=0; pi=0; mc1=0; mc2=0;
n1=0; n2=0; w=0; rrn=0; z1=0; z2=0; i=0;
end;
steady;
check;
// ---------- 冲击分布 ----------
shocks;
var eps_z1 = (0.01)^2; // 上游 TFP 冲击
var eps_z2 = (0.01)^2; // 下游 TFP 冲击
var eps_d = (0.01)^2; // 总需求冲击
end;
// ---------- 求解并画 IRF(40 期) ----------
// 重点观察:eps_z1(上游能源)如何通过 a12 传导到 mc2 -> pi2 -> 总体 pi
stoch_simul(order=1, irf=40) y1 y2 pi1 pi2 pi mc1 mc2 i;
跑出来后重点看 eps_z1(上游冲击)那一列:上游 TFP 上升 $\Rightarrow mc_1\downarrow\Rightarrow$ 通过 $a_{12}mc_1$ 使 $mc_2\downarrow\Rightarrow$ 由于部门 2 价格粘($\theta_2$ 大、$\kappa_2$ 小),$pi_2$ 反应慢而持久——这就是异质粘性 + IO 传导的联合效应。
08 Python:IO 网络冲击传导模拟
下面用 numpy 做一个纯网络的冲击传导模拟:构造 IO 矩阵 $A$、算 Leontief 逆、给某部门一个 TFP 冲击、看它如何通过网络扩散到所有部门的价格/产出,并计算网络中心性。这是理解 Eq.M5/M9 最直接的数值实验。
# ============================================================
# io_network_shock.py —— 投入产出网络冲击传导模拟
# 内容:
# 1) 构造 J 部门 IO 矩阵 A(直接消耗系数 a_ij)
# 2) 计算 Leontief 逆 (I - A)^{-1}
# 3) 给某部门 TFP/成本冲击,沿网络传导到所有部门价格
# 4) 计算网络中心性(前向/后向/Leontief)并识别关键部门
# 依赖:numpy
# ============================================================
import numpy as np
# ---------- 1. 构造 4 部门 IO 矩阵 A ----------
# 行 i = 产品供给方,列 j = 产品需求方;
# a[i,j] = 部门 j 每生产 1 元要从部门 i 买多少元
# 示例网络:能源(0)->化工(1)->制造(2)->服务(3),并允许回流
A = np.array([
# 能源 化工 制造 服务
[0.20, 0.30, 0.05, 0.10], # 能源卖给各下游(自己+化工+制造+服务)
[0.05, 0.15, 0.25, 0.10], # 化工
[0.02, 0.10, 0.20, 0.30], # 制造
[0.03, 0.05, 0.10, 0.15], # 服务
])
J = A.shape[0]
names = ["能源", "化工", "制造", "服务"]
# 校验:每列之和应 <= 1(其余是劳动/增加值份额)
colsum = A.sum(axis=0)
print("各部门中间投入合计(剩余为劳动/增加值):")
for j in range(J):
print(f" 部门{names[j]}: 中间品={colsum[j]:.2f}, 增加值={1-colsum[j]:.2f}")
# ---------- 2. Leontief 逆 (I - A)^{-1} ----------
# 投入产出恒等式 Y = A Y + F => Y = (I-A)^{-1} F
I = np.eye(J)
Leontief_inv = np.linalg.inv(I - A)
print("\n=== Leontief 逆矩阵 (完全消耗系数) ===")
print(np.round(Leontief_inv, 3))
# ---------- 3. 价格传导:上游成本冲击 -> 全网价格 ----------
# Eq.M5: P_hat = (I - A.T)^{-1} (w - z)
# 这里给"能源(部门0)"一个负 TFP 冲击(成本上升),
# 等价于其成本项 z_hat = -0.05(负技术进步 -> 涨价压力 +0.05)
shock = np.zeros(J)
shock[0] = 0.05 # 能源部门成本/价格上行 5%
# 价格沿网络传导:解 P = A.T P + shock => P = (I - A.T)^{-1} shock
P_resp = np.linalg.inv(I - A.T) @ shock
print("\n=== 能源部门成本 +5%% 后,各部门价格的网络传导 ===")
for j in range(J):
bar = "█" * int(abs(P_resp[j]) * 100)
print(f" 部门{names[j]:<4}: 价格 +{P_resp[j]*100:6.2f}% {bar}")
print("解读:能源冲击不只是能源涨价,还被 (I-A.T)^-1 放大、")
print(" 扩散到化工/制造/服务,且越下游累计涨幅越大。")
# ---------- 4. 产出引致需求:给某部门 1 单位最终需求 ----------
# Y = (I-A)^-1 F;F = e_k 表示只对部门 k 最终需求 +1
demand = np.eye(J)
output_multiplier = Leontief_inv @ demand # 每列:1 单位最终需求引致的总产出
print("\n=== 关键部门识别:1 单位最终需求引致的各部门总产出 ===")
# 部门 k 的总拉动 = 第 k 列之和(含所有间接上下游)
total_pull = Leontief_inv.sum(axis=0)
order = np.argsort(-total_pull)
print("按'总拉动乘数'从大到小:")
for rank, k in enumerate(order, 1):
print(f" 第{rank}名 部门{names[k]:<4}: 总拉动乘数 = {total_pull[k]:.3f}")
# ---------- 5. 网络中心性 ----------
# 前向中心性(出度):部门 i 卖给下游的总量
out_degree = A.sum(axis=1)
# 后向中心性(入度):部门 j 购买上游的总量
in_degree = A.sum(axis=0)
print("\n=== 网络中心性 ===")
for j in range(J):
print(f" 部门{names[j]:<4}: 前向(出度)={out_degree[j]:.3f}, "
f"后向(入度)={in_degree[j]:.3f}, "
f"Leontief列和={total_pull[j]:.3f}")
# ---------- 6. 部门 IRF(简化:一次性 TFP 冲击的衰减路径) ----------
# 假设部门 TFP 冲击 AR(1) 持续性 rho=0.9,价格经 Leontief 逆传导
rho = 0.90
T = 12
print("\n=== 能源 TFP 冲击后,制造部门价格的传导-衰减路径 ===")
print("期数 制造部门价格响应")
for t in range(T):
path = (Leontief_inv[2, 0]) * (rho ** t) * shock[0]
print(f" t={t:<2}: {path*100:7.3f}%")
print("直觉:冲击当期制造价格已因能源涨价而上升(通过 Leontief 逆 [2,0]),")
print(" 随后随能源冲击自身按 rho=0.9 缓慢衰减。")
它把 Eq.M5(价格传导 $\hat P=(I-A^\top)^{-1}(\hat w-\hat z)$)和 Eq.M9(产出桥 $\mathbf Y=(I-A)^{-1}\mathbf F$)直接数值化:① 一个上游成本冲击被 Leontief 逆放大成全网价格;② 中心性排名告诉你哪个部门是"关键节点",它的冲击对总波动贡献最大。把真实 IO 表读进来替换 $A$,就是一次正经的生产网络量化。
09 估计与数据:IO 表、PPI 与部门 TFP
9.1 投入产出表数据来源
| 来源 | 覆盖 | 用途 / 说明 |
|---|---|---|
| 中国国家统计局 | 全国/分省 IO 表(逢 2、7 编制基准表,逢 0、5 延长表) | 校准中国 $a_{ij}$ 的金标准;分 42/149 部门 |
| 美国 BEA | 年度/季度行业 IO 账户 | 校准美国生产网络,Nakamura-Steinsson 等用 |
| WIOD(世界投入产出数据库) | 跨国、分行业、年度 | 跨国生产网络、全球价值链研究 |
| OECD ICIO | 国家间双边 IO | 供应链、贸易网络量化 |
9.2 校准 $a_{ij}$ 的方法
从 IO 表的"中间使用"矩阵 $Z_{ij}$(部门 $j$ 使用部门 $i$ 产品的价值)与部门 $j$ 总产出 $X_j$,直接算直接消耗系数:
注意区分"竞争型"与"非竞争型" IO 表:竞争型把进口中间品混在国内使用里,做中国 DSGE 时若要刻画国内网络,最好用非竞争型(进口单列),否则 $a_{ij}$ 会高估国内上游依赖。
9.3 部门价格与部门 TFP
- 部门价格:用分部门 PPI(工业生产者出厂价格指数,分行业)或分部门 GDP 平减指数,构造各部门通胀 $\pi_{jt}$,校准 $\theta_j$ 与验证部门 NKPC。
- 部门 TFP:用 Olley-Pakes / Levinsohn-Petrin / Ackerberg-Caves-Frazer(见 生产函数估计页)在分行业企业/行业面板上估计,再汇总成 $\ln Z_{jt}$。
10 模拟与结果:聚合之谜与福利
10.1 部门冲击的跨部门传导 IRF
给上游部门一个负 TFP(成本上升)冲击,IRF 应表现出:同期上游部门涨价 → 中期通过 $a_{ij}$ 抬高中游成本 → 后期下游部门被动涨价。由于下游 $\theta_j$ 大(价格粘),这条"传导链"在时间上被拉长,总体通胀呈滞后、长尾形态——比单部门模型预测的"即期反应"慢得多。
10.2 网络中心性与总波动:聚合之谜(Acemoglu et al. 2012)
长期有个"分散化论证":若有 $J$ 个独立的部门冲击,每个方差 $\sigma^2$,大数定律会让总波动 $\propto 1/\sqrt J$,部门越多总波动越小。Acemoglu-Carvalho-Ozdaglar-Tahbaz-Salehi(2012, Econometrica)证明:只要生产网络足够"非对称"(少数部门中心性高),这个 $1/\sqrt J$ 就不成立——少数关键部门的冲击被 Leontief 逆放大,足以维持可观的总波动。这就是著名的"聚合之谜(granular / disaggregate shocks → aggregate fluctuations)":微观、部门级别的冲击,能通过网络"颗粒化"成宏观波动。Gabaix(2011)的"granular origins"是另一支(企业规模幂律)。
它解释了"为什么无法用单一总技术冲击解释的宏观波动,能被一堆部门冲击 + 生产网络解释"。这对当前中国"卡脖子""产业链安全"讨论尤其 relevant:关键部门被断供,等于一次宏观级供给冲击。
10.3 福利分析
多部门带来新的福利权衡:① 总体通胀稳定 vs 相对价格扭曲——异质粘性下,最优货币政策不再只盯总体通胀,而要按部门粘性加权(粘得最死的部门,其通胀权重应更大);② 网络放大让"对冲关键部门冲击"的政策价值更高;③ 价格分散造成的资源错配,在多部门下更严重。
11 论文、常见错误与交叉链接
11.1 必读论文
11.2 常见错误(6 条)
$a_{ij}$ 是"部门 $j$ 从部门 $i$ 买多少"(列向成本)。写成"部门 $i$ 卖给 $j$"做对称转置,价格传导方向就反了。校准后先检查列和 = 中间投入占比,行和 = 产品去向,别混。
竞争型表把进口中间品混进了国内使用。做中国国内生产网络,应用非竞争型 IO 表(进口单列)或剔除进口列,否则高估国内上游依赖、低估对外脆弱性。
多部门模型的全部意义就是 $\theta_j$ 异质。若偷懒把 $\theta$ 设成常数,就退化成单部门、丢掉"异质粘性放大货币非中性"这个核心机制(Nakamura-Steinsson 2010)。
直接消耗系数 $a_{ij}$ 只算"一轮";完整的链式引致需求在 $(I-A)^{-1}$ 里。用 $A$ 而不用 Leontief 逆算"关键部门",会低估上游间接传导、漏掉真正的网络中心。
独立部门 + 对称网络才有 $1/\sqrt J$。真实网络高度非对称,少数关键部门的冲击被放大成宏观波动。做方差分解前先算中心性,别默认分散化一定成立。
部门 TFP 应用分行业生产函数估计(OP/LP/ACF),不是对部门产出简单索洛余差再假设同质。否则部门冲击测不准,跨部门传导 IRF 与方差分解全偏。
11.3 进阶资料与交叉链接
- Carvalho V.M. & Tahbaz-Salehi A. (2019), "Production Networks: A Primer", Annual Review of Economics —— 生产网络的系统教材式综述。
- Gabaix X. (2011), "The Granular Origins of Aggregate Fluctuations", Econometrica —— 与 Acemoglu et al. 并列的"聚合之谜"另一支。
- Baqaee D. & Farhi E. (2020), "Productivity and Misallocation in General Equilibrium", QJE —— 用生产网络做资源错配/效率的高阶方法。
- 交叉链接:单部门内核见 10 NK 三方程;RBC 技术冲击见 09 RBC 模型;部门 TFP 估计见 生产函数估计(OP/LP/ACF);求解与 IRF 见 08 IRF 与模拟;同站 ZLB 与偶发约束 互为非线性/前沿姊妹篇。