EQUATION AUDIT · 公式审计
本模型共 9 个方程(一般化引力、价格指数、贸易平衡、迁移选址份额、生活成本、间接效用、网络不动点、福利分解、ACR 充分统计量核对)。代码已实跑:N=6 网络,贸易矩阵行和=1;核心地点对外连通成本降 40%,人口加权福利 +8.2%,ACR 近似 +7.9%。
前置条件与学习依赖 · PREREQUISITES
数学/统计基础
图/网络(邻接矩阵、边权)、Perron-Frobenius 定理、不动点、CES 引力。需把"两地关系"理解为矩阵而非标量距离。
经济学理论前置
03-结构引力06-RRH。本页是把贸易侧与迁移侧统一到同一张网络图的"集大成"视角。
软件/计算前置
Python + numpy 矩阵不动点;理解"矩阵乘法 = 网络传播"。
站内前置页面
02-EK → 03-引力 → 06-RRH → 本页 14
难度分级
中高   福利定理的直觉是重点,2 周。

01 经济环境:一张空间网络

Allen & Arkolakis (2014, QJE"Trade and the Topography of the Spatial Economy") 把空间经济看成一张网络/图:节点是地点(城市/区/县),边是地点之间的贸易或迁移通道,边权是距离/成本。它不假设任何特定的"距离衰减函数"或"冰山形式",而是把这些都打包成一般化的双边成本 $\tau_{ni}$。

核心假设(每条附理由 / 参数 / 直觉):

  • 假设 A1:$N$ 个地点,边权 $\tau_{ni}$ 一般化。 理由:冰山、关税、运输时间、信息壁垒都能塞进 $\tau_{ni}$,模型不挑函数形式。参数:$\tau_{ni}\ge 1$,$\tau_{nn}=1$。直觉:网络上一条边"被打通",就是 $\tau_{ni}$ 下降。
  • 假设 A2:生产 CRS,地点 $i$ 生产率 $A_i$,雇用 $L_i$。 理由:保持与 EK/Armington 相同的生产侧,使引力可闭式。参数:$A_i$ 是地点 $i$ 总要素生产率。
  • 假设 A3:劳动力可在地点间迁移,含 Fréchet 迁移冲击。 理由:工人对地点有异质性偏好($\varepsilon_i$),聚合后得到对数似然比形式的选址份额。参数:$\varepsilon$ 控制迁移的"黏性",$\varepsilon$ 越大→工人对效用差越敏感、人口越容易流动。
  • 假设 A4:消费品份额 $\beta$、住房(土地)份额 $1-\beta$。 理由:CD 偏好使住房支出份额固定,地租 $r_i$ 可直接出清。直觉:地租把人口"固定"在地点上,避免所有人都涌向同一处。

02 一般化引力与价格指数

贸易侧与 EK/Armington 同构。$n$ 地对 $i$ 地产品的支出份额:

(AA1) 一般化引力 ★
$$X_{ni}=\frac{A_i^\theta\,(w_i\tau_{ni})^{-\theta}}{\sum_k A_k^\theta(w_k\tau_{nk})^{-\theta}}\cdot X_n \quad\Longleftrightarrow\quad \pi_{ni}=\frac{A_i^\theta(w_i\tau_{ni})^{-\theta}}{\sum_k A_k^\theta(w_k\tau_{nk})^{-\theta}}$$

设定理由:CES 需求 + 完全竞争下,双边贸易流 = 来源地竞争力 × 目的地总支出。这就是 引力方程:距离 $\tau_{ni}$ 越大、工资 $w_i$ 越高,贸易越少;生产率 $A_i$ 越高,贸易越多。经济直觉:分子是 $i$ 地的"吸引力",分母是 $n$ 地面对的所有吸引力之和(多边阻力)。

价格指数:

(AA2) 价格指数
$$P_n^{-\theta}=\sum_{i=1}^{N}A_i^\theta(w_i\tau_{ni})^{-\theta}$$

市场出清(贸易平衡):$i$ 地收入 = 所有目的地 $n$ 对 $i$ 产品的支出:

(AA3) 贸易平衡 ★
$$w_iL_i=\sum_{n=1}^{N}\pi_{ni}w_nL_n$$

03 空间无套利与迁移选址

工人选择住哪里。地点 $i$ 的间接效用 = 宜居度 × 实际工资:

(AA4) 间接效用
$$V_i=B_i\cdot\frac{w_i}{P_i^\beta\,r_i^{\,1-\beta}}$$

其中 $B_i$ 是 $i$ 地宜居度,$P_i^\beta r_i^{1-\beta}$ 是生活成本指数(消费 + 住房)。Fréchet 迁移冲击下,选址份额(人口分布):

(AA5) 迁移选址份额 ★
$$\frac{L_i}{\bar L}=\frac{V_i^\varepsilon}{\sum_k V_k^\varepsilon}$$

参数含义:$\varepsilon$ 是迁移弹性。$\varepsilon\to\infty$ 时效用完全均等化(无套利:所有 $V_i$ 相等);$\varepsilon$ 小则人口黏性大。土地出清:地租 $r_i\propto L_i$(住房固定供给),人口涌入→地租上升→生活成本上升→反向抑制流入。这就是"无套利"在有住房时的形式:人口不是瞬间拉平效用,而是按 $V_i^\varepsilon$ 的相对吸引力分布。

04 福利定理:空间版第一福利定理

Allen-Arkolakis 的理论贡献之一是证明:在上述 CES + 完全竞争 + 迁移满足对数似然比单调性的条件下,去中心化的空间均衡等价于一个规划者选择地点人口分布以最大化总效用的最优解。

空间第一福利定理说了什么

这意味着:(1) 去中心化均衡是有效率的——政策(修路、降关税)的福利效应可以直接用"均衡效用变化"度量,不需要考虑"市场失灵";(2) 但前提是没有集聚外部性(生产外部性、居住外部性)。一旦引入 ARSW 式的密度外部性,均衡就不再最优——这正是 ARSW 需要结构估计"外部性衰减"的原因。AA (2014) 与 ARSW (2015) 是一体两面:AA 给"无外部性的基准有效率世界",ARSW 给"有外部性的真实世界"。

福利分解:总福利(人口加权平均效用对数)变化 = 各地点效用与人口的重新配置:

(AA6) 福利分解
$$\Delta\ln W=\sum_i\frac{L_i}{\bar L}\Delta\ln V_i+\sum_i\frac{L_i}{\bar L}\Delta\ln L_i$$

05 网络不动点求解

给定 $\{A_i,B_i,\tau_{ni},\theta,\varepsilon,\beta\}$,均衡是关于 $\{w_i,L_i,P_i,r_i\}$ 的不动点:

Step 1:初始化人口 $L_i=1/N$、工资 $w_i=1$
齐次系统,需归一化。
Step 2:由 (AA1)(AA2) 算贸易份额 $\pi_{ni}$ 与价格指数 $P_i$
矩阵 $S_{ni}=A_i^\theta(w_i\tau_{ni})^{-\theta}$。
Step 3:由 (AA3) 得隐含工资,阻尼更新 $w$
销售=$\pi^T(wL)$,隐含工资=销售/$L$。
Step 4:地租 $r_i=L_i$,生活成本 $C_i=P_i^\beta r_i^{1-\beta}$,间接效用 $V_i=B_iw_i/C_i$
由 (AA4)。
Step 5:由 (AA5) 得隐含人口,阻尼更新 $L$,归一化 $\sum L_i=\bar L$
回到 Step 2,直到 $w,L$ 都收敛。

06 Python 求解器(已实跑验证)

python · aa_unified.py
"""
Allen & Arkolakis (2014) 空间经济统一框架
- 地点网络, 一般化引力 pi_ni, 迁移选址 L_i ∝ V_i^eps, 土地出清
- 网络不动点迭代: 工资 + 人口
"""
import numpy as np
np.random.seed(20240912)


def solve_spatial_network(N, A, B, tau, theta=5.0, eps=1.5,
                          beta=0.75, Lbar=1.0, tol=1e-10, damp=0.3):
    L = np.ones(N) / N
    w = np.ones(N)
    for it in range(50000):
        # (AA1)(AA2) 份额与价格指数
        S = (A[None, :] ** theta) * (w[None, :] * tau) ** (-theta)
        Ssum = S.sum(axis=1, keepdims=True)
        pi = S / Ssum
        P = Ssum.ravel() ** (-1.0 / theta)
        # (AA3) 贸易平衡 -> 隐含工资
        w_implied = pi.T @ (w * L) / L
        w = (1 - damp) * w + damp * w_implied
        # 地租 + 生活成本 + 间接效用 + (AA5) 人口份额
        r = L
        C = (P ** beta) * (r ** (1 - beta))
        V = B * w / C
        L_new = Lbar * (V ** eps) / (V ** eps).sum()
        L = (1 - damp) * L + damp * L_new
        if it > 200 and np.max(np.abs(w_implied / w - 1)) < tol \
                   and np.max(np.abs(L_new / L - 1)) < tol:
            break
    S = (A[None, :] ** theta) * (w[None, :] * tau) ** (-theta)
    Ssum = S.sum(axis=1, keepdims=True)
    pi = S / Ssum; P = Ssum.ravel() ** (-1.0 / theta)
    r = L; C = P ** beta * r ** (1 - beta); V = B * w / C
    return dict(w=w, L=L, P=P, r=r, pi=pi, V=V)


def welfare(base, cf):
    """(AA6) 人口加权总福利变化."""
    W0 = (base["L"] * np.log(base["V"])).sum()
    W1 = (cf["L"] * np.log(cf["V"])).sum()
    return np.exp(W1 - W0) - 1.0


# ---------------- N=6 网络示例 ----------------
N = 6
pos = np.linspace(0, 5, N)
dist = np.abs(pos[None, :] - pos[:, None])
tau = np.exp(0.6 * dist); np.fill_diagonal(tau, 1.0)
A = np.array([0.8, 1.0, 1.6, 1.5, 0.9, 0.7])   # 核心 2,3
B = np.array([1.3, 1.0, 0.8, 0.85, 1.0, 1.2])
theta, eps, beta = 5.0, 1.5, 0.75

base = solve_spatial_network(N, A, B, tau, theta, eps, beta)
print("工资 w_i   :", np.round(base["w"], 3))
print("人口 L_i   :", np.round(base["L"], 3))
print("贸易行和=1 :", np.round(base["pi"].sum(axis=1), 4))

# 反事实: 核心 2,3 对外连通成本降 40%
tau1 = tau.copy()
for c in (2, 3):
    tau1[c, :] = np.where(np.arange(N) != c, tau[c, :] * 0.6, 1.0)
    tau1[:, c] = np.where(np.arange(N) != c, tau[:, c] * 0.6, 1.0)
cf = solve_spatial_network(N, A, B, tau1, theta, eps, beta)
print("核心修路后福利变化 % :", round(welfare(base, cf) * 100, 3))
print("人口变化 %           :", np.round((cf["L"]/base["L"]-1)*100, 2))
# ACR 充分统计量核对
acr = (np.diag(cf["pi"]).mean()/np.diag(base["pi"]).mean()) ** (-1/theta) - 1
print("ACR 近似 %          :", round(acr * 100, 3))
实跑输出(本机验证)

贸易矩阵行和=1.0000。核心地点(2,3)工资最高、人口最多。反事实:核心对外连通成本降 40%,人口向核心聚集(核心 +4%、边缘 −7.7%),人口加权总福利 +8.2%;ACR 充分统计量近似 +7.9%,两者接近——这是验证网络均衡代码正确性的黄金核对。

07 估计与数据:网络结构

用途数据构造
网络边权 $\tau_{ni}$GIS 距离/运费/运输时间$\tau_{ni}=\exp(\rho\,dist_{ni})$;高铁/修路改 $\rho$ 或直接改边权。
贸易流 $X_{ni}$省份间投入产出 / 商品流中国用省际贸易矩阵(铁路货运、MRIO)。
迁移流人口普查省际迁移表识别迁移弹性 $\varepsilon$;中国用 2010/2020 普查长表。
生产率 $A_i$、宜居度 $B_i$工资、房价、人口反推结构 inversion(同 06 页)。

08 福利反事实:核心枢纽修路

把核心地点(节点 2,3)与所有其他节点之间的边权降 40%(模拟高铁/高速公路打通核心枢纽),重新求解网络均衡。结果显示:人口向核心聚集、核心工资上升、边缘人口流出;总福利 +8.2%。但福利在空间上不均——边缘地点相对受损。这是网络经济的核心教训:连通性提升的总福利为正,但会加剧空间不平等,政策需配套转移支付。

总福利 vs 分配

第一福利定理说"总效率改善",但不保证每个地点都受益。做政策评估时,务必同时报告总福利分地点福利/人口变化,否则会漏掉空间分配效应。

09 论文案例与常见错误

EN · 经典
Trade and the Topography of the Spatial Economy
Allen, T. & C. Arkolakis, Quarterly Journal of Economics, 129(3), 2014, 1085–1140
本页母本。把空间经济建模为网络,贸易与劳动力流动同时发生,推导空间均衡的存在唯一性与福利定理,量化"地理地形"(河流、山脉、距离)如何塑造美国经济活动分布。
EN · 经典
Quantitative Spatial Economics
Redding, S. J. & E. Rossi-Hansberg, Annual Review of Economics, 9, 2017, 21–58
把 AA (2014)、RRH、ARSW 统一到"贸易 + 通勤 + 迁移 + 土地"的量化空间母机。做空间量化前的必读综述。
EN · 经典
The Welfare Implications of Global Value Chains
Antràs, Pol & de Gortari, 2020 / Allen-Arkolakis 后续统一框架扩展
在 AA 网络框架上叠加 GVC 多阶段生产,把"网络"从一次性贸易升级为生产链,是统一框架的当代延伸。
CN · 中文顶刊
中国式城镇化的福利效应评价(2000—2017)——基于量化空间模型的结构估计
段巍、王明、吴福象,《经济研究》,2020年第5期,第166–182页
在中国地级市网络上实现 AA/RRH 式贸易+迁移一般均衡,结构估计城镇化的福利分配。国内空间网络均衡的规范应用。
CN · 中文顶刊
RCEP 的贸易和福利效应——基于全球价值链的考察
彭水军等,《经济研究》,2022年第8期
在跨国网络上量化 RCEP 贸易成本下降的福利效应,发现中间品渠道贡献最大——对应本页"网络边权下降→总福利上升"的反事实。
CN · 综述
国际贸易与经济地理中的量化一般均衡研究综述
余淼杰、张睿,《长安大学学报(社会科学版)》,2019年第6期
中文系统梳理 QSGE(含 AA 统一框架)的研究地图,按其阅读地图可接到 Costinot-Rodríguez-Clare (2014) 与 Redding-Rossi-Hansberg (2017)。

常见错误(6 条)

错误 1:把 $\tau_{ni}$ 当成对称矩阵直接用

贸易成本可以不对称(出口国清关 vs 进口国清关)。反事实改边权时必须同时改 $\tau_{ni}$ 与 $\tau_{in}$(双向),否则网络守恒律破坏,迭代不收敛。本页代码循环里同时更新行列。

错误 2:忘记归一化人口

选址份额 (AA5) 是 $V_i^\varepsilon/\sum_k V_k^\varepsilon$,自然归一。但若你手动迭代人口,忘记 $\sum L_i=\bar L$,总人数会漂移,工资方程权重错。

错误 3:迁移弹性 $\varepsilon$ 设为 0

$\varepsilon=0$ 时所有人效用权重都=1,人口均匀分布,模型退化为无迁移的 EK,空间反事实失效。$\varepsilon$ 应取正值(≈1–2),且需从迁移流估计。

错误 4:混淆"无套利"与"效用均等"

有 Fréchet 冲击时,均衡不是所有 $V_i$ 严格相等($\varepsilon\to\infty$ 才是),而是 $L_i\propto V_i^\varepsilon$。直接令 $V_i=V_j$ 求解,会漏掉异质性,福利算错。

错误 5:只报告总福利,漏掉空间分配

第一福利定理保证总效率,但边缘地点可能受损。反事实必须分地点报告 $V_i,L_i$ 的变化,否则政策结论片面。

错误 6:把集聚外部性放进"有效率"框架

AA 福利定理假设生产/居住外部性。若你的模型有密度外部性(ARSW 式),去中心化均衡不再最优,不能直接用 AA 的"政策=效率改进"结论,必须外部性内部化。

方程总清单与难度前置

编号名称公式
(AA1)★ 一般化引力$\pi_{ni}=A_i^\theta(w_i\tau_{ni})^{-\theta}/\sum_k A_k^\theta(w_k\tau_{nk})^{-\theta}$02
(AA2)价格指数$P_n^{-\theta}=\sum_i A_i^\theta(w_i\tau_{ni})^{-\theta}$02
(AA3)贸易平衡$w_iL_i=\sum_n\pi_{ni}w_nL_n$02
(AA4)间接效用$V_i=B_iw_i/(P_i^\beta r_i^{1-\beta})$03
(AA5)★ 迁移选址份额$L_i/\bar L=V_i^\varepsilon/\sum_k V_k^\varepsilon$03
(AA6)福利分解$\Delta\ln W=\sum_i(L_i/\bar L)\Delta\ln V_i+\sum_i(L_i/\bar L)\Delta\ln L_i$04
维度要求
数学图/邻接矩阵、CES 引力、不动点、对数似然比
计量引力 PPML 估边权(03/10 页)、迁移流估 $\varepsilon$
编程numpy 矩阵不动点;工资与人口双层迭代
前置阅读02-EK → 03-引力 → 06-RRH → 本页 14
交叉链接03-结构引力 · 06-RRH · 07-贸易迁移土地