动态博弈与产业动态:Ericson–Pakes 框架、BBL 与 MPEC
当一个市场里有 N 家企业同时做投资、进入、退出决策时,每家企业的 Bellman 方程里都嵌着对手的均衡策略——这就是 Ericson–Pakes (1995) 的马尔可夫完美均衡(MPE)框架。本页讲清 EP 环境设定、MPE 不动点、BBL 两步估计、Su–Judd (2012) MPEC 重写,并给出可直接运行的 2 企业 EP 模型 Python VFI 求解器。
01 经济环境与假设
Ericson and Pakes (1995, Review of Economic Studies) 提出的动态产业模型(以下简称 EP 框架)回答一个问题:在一个由异质企业构成、企业可以投资改善自身生产率、可以选择进入或退出市场的行业里,市场结构与企业规模分布会如何随时间演化?它把单 agent 的 Rust 动态规划推广到多企业博弈环境。
1.1 时间、企业与状态空间
- 时间:离散时间 $t=0,1,2,\dots$,无限期(infinite horizon)。无限期假设的设定理由:产业没有"最后一期",企业做投资决策时面向永久的未来利润流,这与有限期生命周期模型(见教育与人力资本页)形成对照。
- 企业数量:行业内有 $N_t$ 家在位企业,$N_t$ 本身是内生的(企业进入退出会改变它)。EP 原版假设行业最多容纳 $\bar N$ 家企业。
- 企业状态变量:每家在位企业 $j$ 在 $t$ 期有一个离散的生产率/质量/资本状态 $a_{jt}\in\mathcal{A}=\{0,1,\dots,\bar a\}$。经济直觉:$a_{jt}$ 可以理解为"质量阶梯"上的位置——数值越高,边际成本越低或产品质量越高。它是企业可观察的状态变量,对应数据中可测的 TFP 分箱、资本存量分箱或质量评级。
- 行业状态:整个行业的状态是所有在位企业状态的向量 $s_t=(a_{1t},\dots,a_{N_t t})$。为了求解可行,实证上通常利用对称性假设,把行业状态压缩为状态的分布(histogram)而非完整向量。
1.2 状态转移与投资
企业 $j$ 每期选择投资 $x_{jt}\ge 0$,投资成本为 $c(x)$(递增、凸,如 $c(x)=\gamma x$)。给定投资,企业自身状态按马尔可夫过程演化:
变量定义:$\xi(x)=1$ 表示投资"成功"使状态上一阶,概率随 $x$ 上升(如 $\Pr(\xi=1)=x/(1+x)$);$\eta\in\{0,1\}$ 为外生的折旧/技术过时冲击。设定理由:用"成功/失败"二元过程代替连续 Brownian 运动,使状态空间保持离散、Bellman 可网格求解。参数含义:$x$ 越大成功概率越高;$\eta$ 捕捉技术进步使旧资本贬值。经济直觉:研发不是确定性提升生产率,而是"买彩票"——投得多中奖概率大,但仍可能失败。
1.3 进入与退出
- 退出:每期期初,在位企业观察到一个退出清算价值(scrap value)$\Phi$(如厂房设备残值),比较"继续经营的期望价值"与 $\Phi$ 后决定是否退出。
- 进入:每期有一批潜在进入者,各自抽取一个进入成本 $c^e$(i.i.d. 分布),若"进入后的期望价值 $\ge c^e$"则支付沉没成本并以初始状态 $a^0$ 进入行业。
1.4 需求与利润函数
企业当期利润取决于自身状态与对手状态分布。常见两种需求设定:
变量定义:$mc(a)$ 为边际成本($a$ 越高成本越低),$D(\cdot)$ 为对数需求或 CES 需求。设定理由:利润被压缩为状态的静态缩减式函数(reduced-form),把价格博弈解析地解出,只留动态部分。参数含义:$\alpha_1$ 是需求价格弹性的倒数度量。经济直觉:状态 $a$ 高的企业(低成本/高质量)在当期定价博弈中获得更高利润份额——这是投资的当期回报。
1.5 共同知识与理性预期
EP 框架假设:(1) 所有企业知道整个行业状态 $s_t$;(2) 所有企业知道状态转移规则与利润函数;(3) 所有企业对对手的未来行为持理性预期——即正确预期对手会按均衡策略行事。这与静态古诺博弈的共同知识假设一致,但多了动态维度:企业今天投资,不仅影响明天自己的成本,还通过改变明天的行业结构影响明天对手的行为。
02 完整推导:Bellman、MPE 与 EP 存在性
2.1 在位企业的 Bellman 方程
考虑一家代表性在位企业,状态为自身生产率 $a$,行业中对手的状态分布为 $\bar s$。它的期望折现利润价值函数满足:
变量定义:$\Phi$ 为退出清算价值(等式左侧花括号第一项);$\pi(a,\bar s)$ 为当期利润;$c(x)$ 为投资成本;$\beta$ 为贴现因子;$\bar s'$ 为下一时期对手状态的分布。与 Rust 单 agent 方程的区别:期望值里的 $\bar s'$ 不仅取决于本企业的投资 $x$,还取决于所有对手企业的均衡投资/进入/退出决策——这就是"博弈"的数学含义。
2.2 最优投资策略、进入价值与退出价值
由 Eq. 2.1 得到三个决策规则:
变量定义:$x^*$ 为投资策略函数;$\chi$ 为退出指示;$V^e$ 为潜在进入者的进入期权价值(对进入成本 $c^e$ 分布取期望)。经济直觉:$V^e$ 刻画"行业有吸引力"——当在位企业价值高时,更多潜在进入者的 $c^e$ 被超过,行业企业数上升,这是内生产业结构的来源。
2.3 行业均衡:对称马尔可夫完美均衡(MPE)
EP 框架的均衡是一个不动点:给定对手的策略函数 $\{x^*,\chi^*, V^e\}$,每家企业解自己的 Bellman 方程得到最优策略;要求这些最优策略恰好等于给定的对手策略。正式定义:
"对称"指所有在位企业使用同一策略函数(只依赖自身与对手状态分布,不依赖企业身份);"马尔可夫"指策略只依赖当期状态,不依赖历史。经济直觉:MPE 是动态版的纳什均衡——每个人都在对手按均衡策略行动的假设下做最优反应,且这个假设在均衡处自我实现。
2.4 Ericson–Pakes (1995) 存在性定理
EP 在合理的技术条件下证明了 MPE 的存在性:(1) 状态空间有限离散;(2) 利润函数连续有界;(3) 投资成本连续;(4) 转移概率关于投资单调。在此条件下,均衡策略函数构成的算子是上半连续映射,由 Kakutani 不动点定理保证至少一个 MPE 存在。关键警示:存在性不等于唯一性——EP 模型可能存在多个 MPE,这是后续估计最大的识别难题之一(见第 8 节常见错误)。
2.5 与单 agent 动态结构(Rust)的本质区别
| 维度 | 单 agent(Rust 1987) | 多 agent 博弈(EP 1995) |
|---|---|---|
| 状态空间 | 自身状态 $x$(如 bus 里程) | 自身状态 $a$ + 对手状态分布 $\bar s$ |
| Bellman 方程 | 单个不动点 | 每家企业一个,且互相嵌套 |
| 均衡约束 | 无(单人优化) | 所有企业策略互为最优反应(MPE 不动点) |
| 识别 | $\beta$ 与 flow utility 部分不可识别 | 叠加多均衡问题、交互参数识别 |
| 求解 | VFI / NFXP | 需在 VFI 外层再加"均衡不动点"循环 |
03 求解方法:VFI、BBL 两步法与 MPEC
3.1 同构(homogeneous)方法:值函数迭代与策略函数迭代
"同构"指把整个 MPE 一次求解——从猜测的均衡策略出发,反复迭代直到策略函数不再变化。Pakes and McGuire (1994, RAND) 给出了 EP 模型的第一个可计算算法:
这本质是双层不动点:内层 VFI 解企业 Bellman,外层迭代均衡策略。Pakes–McGuire 用这个算法求了一个 2–3 企业的随机扰动 EP 模型。
3.2 异构(heterogeneous)方法:BBL 两步法
Bajari, Benkard and Levin (2007, Econometrica,简称 BBL) 提出了不需要每次都全解 MPE 的两步估计法,是动态博弈估计的里程碑:
变量定义:第一阶段用核估计/多项式 sieve 从面板数据直接估计每个状态下的经验策略函数 $\hat P(d\mid s)$(企业实际怎么投资/进入/退出)与状态转移 $\hat P(s'\mid s,d)$。第二阶段:给定候选结构参数 $\theta$,用第一阶段估计的 $\hat P$ 模拟出企业在"偏离均衡策略"时的长期价值,要求真实均衡策略 $\hat P$ 在 $\theta$ 下是最优的——用不等式矩(偏离策略的价值不得高于均衡策略)或最小距离目标估计 $\theta$。经济直觉:BBL 把"求解 MPE"从估计的内循环里去掉了——数据里观察到的策略已经是均衡策略,我们只需要找一组 $\theta$ 让这套观察到的策略在理论上确实最优。
BBL 的巨大优势:(1) 不需要在每次外层迭代时重解 MPE,把计算量降低一个数量级;(2) 适用于似然函数写不出来的复杂模型;(3) 天然适合高维状态空间。局限:(a) 第一阶段非参数估计需要每个状态都有足够数据(仍受维数灾难困扰);(b) 标准误必须把第一阶段不确定性传给第二阶段;(c) 若第一阶段策略函数误设,第二阶段估计量不一致。
3.3 MPEC 方法(Su & Judd 2012)
Su and Judd (2012, Econometrica,即站内 14 MPEC 方法页的主题) 把"均衡不动点"从优化器的内循环改写成等式约束,一次性求解。对 EP 模型,MPEC 形式为:
变量定义:优化变量同时包含结构参数 $\theta$ 和全状态价值函数 $V$($V$ 不是内层迭代出来的,而是自由变量);等式约束要求 $V$ 恰好满足 Bellman 方程。目标函数仍是数据似然/矩。求解器:用 IPOPT / KNITRO 这类内点法 NLP 求解器一次性求解。相对 NFXP 的优势:(1) 避免"每次外层迭代都重解内层不动点"的嵌套开销;(2) 求解器可利用稀疏性;(3) 数值更稳定。代价:优化变量维度巨大($|\mathcal{X}|\times$ 状态数),且对初值敏感。
MPEC 概念伪代码(在教学代码中用 scipy 约束优化实现思路):
# MPEC 伪代码框架(完整可用 IPOPT/casadi 实现)
# 决策变量: z = [theta (p维), V 展开 (N_states 维), x_star 展开]
# 目标: 负对数似然 -sum log P(d_obs | s_obs; V(theta))
# 约束:
# (1) Bellman 等式约束: 对每个状态 (a, sb),
# V[a,sb] = max(Phi, pi(a,sb;theta) - c(x*) + beta * sum_s' P(s'|...) V)
# (2) 一阶互补条件: x* = argmax_x {...} (KKT 条件)
#
# 求解流程:
# 1. 给定初值 z0 = [theta0, V0, x0]
# 2. 调用 IPOPT:
# min_z neg_loglik(z)
# s.t. Bellman_eq_constraint(z) == 0
# KKT_complementarity(z) == 0
# theta_lb <= theta <= theta_ub
# 3. IPOPT 利用问题的稀疏结构(每个 Bellman 约束只涉及少数状态)
# 用内点法一次性收敛, 无需外层-内层嵌套。
#
# 实践要点:
# - 用自动微分(casadi/jax)提供解析 Jacobian, 否则数值雅可比慢且不准
# - 多初值网格搜索缓解非凸问题陷入局部解
# - 本页 04 节的 VFI 代码是 MPEC 的" warm start "解
04 完整 Python:2 企业 EP 模型 VFI 求解器
下面实现一个简化版 EP 模型:2 家对称企业,每家企业生产率状态 $a\in\{0,\dots,4\}$,选择离散投资水平 $x\in\{0,1,2\}$。我们用"策略函数迭代(Howard policy iteration)"求对称 MPE:内层解给定策略下的价值函数,外层做策略改进。代码纯 numpy,普通笔记本秒级运行。
"""
Ericson-Pakes (1995) 简化版 —— 2 对称企业动态博弈 MPE 求解
============================================================
模型设定:
- 2 家对称企业, 每家状态 a ∈ {0,1,...,NA-1} (生产率/质量阶梯)
- 每家每期选择投资 x ∈ {0,1,2}, 投资成本 c(x) = [0.0, 0.5, 1.5]
- 投资"成功"概率 q(x) = [0.0, 0.3, 0.6], 成功则 a 上一阶
未成功则 a 下一阶 (模拟折旧/技术过时), 截断在边界
- 当期利润 pi(a, ao) = a - 0.6*ao - 0.1 (自身状态高有利, 对手高不利)
- 贴现因子 beta = 0.9
对称 MPE: 两家企业使用同一策略表 pol[a, ao] (自身a, 对手ao -> 投资x)
"""
import numpy as np
# ---------- 1. 参数与网格 ----------
NA = 5 # 每家企业状态数 (0..4)
NX = 3 # 投资水平数 (0,1,2)
BETA = 0.9 # 贴现因子
INV_COST = np.array([0.0, 0.5, 1.5]) # 各投资水平成本
SUCC_PROB = np.array([0.0, 0.3, 0.6]) # 各投资水平"成功"概率
# ---------- 2. 利润函数 ----------
def profit(a, ao):
"""企业在自身状态 a、对手状态 ao 时的当期利润"""
return (a - 0.6 * ao - 0.1)
# ---------- 3. 状态转移 ----------
def own_trans(a, x):
"""给定自身 a、投资 x, 返回下一状态 a' 的 (a'取值, 概率) 列表"""
q = SUCC_PROB[x]
moves = []
# 成功: a+1
a_up = min(a + 1, NA - 1)
moves.append((a_up, q))
# 失败: a-1 (折旧)
a_dn = max(a - 1, 0)
moves.append((a_dn, 1.0 - q))
return moves
# ---------- 4. 给定策略, 计算期望未来价值 ----------
def expected_continuation(V, a, ao, x, pol):
"""
计算企业在 (a, ao) 选 x 时的 beta * E[V(a', ao')]
自身按 x 转移; 对手按其均衡策略 pol[ao, a] 转移 (对称)
"""
cont = 0.0
for a_next, p_a in own_trans(a, x):
# 对手的投资由其策略决定: 对手看到的是 (自身ao, 对手=a)
x_opp = int(pol[ao, a])
for ao_next, p_ao in own_trans(ao, x_opp):
cont += p_a * p_ao * V[a_next, ao_next]
return BETA * cont
# ---------- 5. 策略函数迭代 (Howard policy iteration) ----------
def solve_mpe(tol=1e-8, max_outer=50, max_inner=500):
# 初始化: 所有人都不投资
pol = np.zeros((NA, NA), dtype=int)
V = np.zeros((NA, NA))
for outer in range(max_outer):
# --- 内层: 给定当前策略 pol, 迭代解价值函数 V ---
for it in range(max_inner):
V_new = np.zeros_like(V)
for a in range(NA):
for ao in range(NA):
x_now = int(pol[a, ao])
flow = profit(a, ao) - INV_COST[x_now]
V_new[a, ao] = flow + expected_continuation(V, a, ao, x_now, pol)
diff = np.max(np.abs(V_new - V))
V = V_new
if diff < tol:
break
# --- 外层: 策略改进 (policy improvement) ---
pol_new = np.zeros((NA, NA), dtype=int)
for a in range(NA):
for ao in range(NA):
# 对每个投资水平计算总价值, 取 argmax
vals = np.zeros(NX)
for x in range(NX):
vals[x] = profit(a, ao) - INV_COST[x] \
+ expected_continuation(V, a, ao, x, pol)
pol_new[a, ao] = int(np.argmax(vals))
if np.array_equal(pol_new, pol):
print(f"[MPE 收敛] 外层迭代 {outer} 次后策略稳定")
break
pol = pol_new
return V, pol
# ---------- 6. 求解并输出 ----------
V, pol = solve_mpe()
print("\n=== 均衡策略表 pol[a, ao] ===")
print("行=自身状态 a, 列=对手状态 ao, 值=均衡投资水平 x*")
print(" ao=0 ao=1 ao=2 ao=3 ao=4")
for a in range(NA):
print(f"a={a} " + " ".join(f"{int(pol[a, j]):>3d}" for j in range(NA)))
print("\n=== 均衡价值函数 V(a, ao) ===")
print(" ao=0 ao=1 ao=2 ao=3 ao=4")
for a in range(NA):
print(f"a={a} " + " ".join(f"{V[a, j]:6.2f}" for j in range(NA)))
# ---------- 7. 均衡统计: 高状态企业投资更多? ----------
mean_inv_by_a = pol.mean(axis=1)
print("\n=== 平均均衡投资随自身状态 ===")
for a in range(NA):
print(f" a={a}: 平均投资 x = {mean_inv_by_a[a]:.2f}")
print("经济直觉: 若 a 大的企业投资更多, 说明领先者'百尺竿头',")
print("这与 EP 框架的'追赶/逃避' (escape-the-competition) 机制一致。")
这段代码完整实现了 2 企业对称 MPE 的策略函数迭代:内层在给定对手策略时迭代解价值函数(压缩映射收敛),外层做策略改进,直到策略表不再变化。运行后会打印均衡投资策略表——读者应能观察到:(1) 当对手状态很低时,本企业投资动机弱("躺着赚钱");(2) 当对手逼近时投资上升(escape the competition)。扩展方向:加入退出(与 $\Phi$ 比较)、进入(潜在进入者比较 $V(a^0,\bar s)-c^e$)、把对称假设放松为异质企业。
05 估计与数据
5.1 数据需求
动态博弈估计需要企业-年份面板,且每个企业每年要观察到:(1) 状态变量(可由 TFP 分箱、资本分箱代理 $a_{jt}$);(2) 决策变量(投资额 $x_{jt}$、是否进入、是否退出);(3) 结果变量(产出、价格、利润)。这比单 agent Rust 模型的数据要求更高——必须能识别"同一市场内多家企业的联合动态"。
5.2 常用数据来源
| 数据集 | 国家 | 覆盖内容 | 典型应用 |
|---|---|---|---|
| US Census LBD / ASM | 美国 | 长期数据库(LBD)追踪企业进入退出;ASM 提供投资、产出、资本 | EP 类企业动态、生产率分解(Olley-Pakes) |
| 中国工业企业数据库 ASIF | 中国 | 1998–2007(后续有扩展)全部规模以上工业企业:产值、资本、就业、出口、进入退出 | 中国企业进入退出、出口沉没成本、TFP 分解 |
| Compustat | 美国 | 上市企业财务:投资、资本、研发 | 研发投资博弈、专利竞争 |
| 海关数据库 | 中国 | 企业-产品-目的地层面出口交易 | 出口市场进入/退出动态(Das-Roberty-Tybout 式) |
5.3 BBL 第一阶段估计
第一步从面板数据估计两组"简化形式"对象:
- 策略函数 $\hat P(x\mid s)$:在每个观察到的行业状态 $s$ 下,企业选择投资水平 $x$ 的经验频率。状态稀疏时用核估计(kernel)或多项式 sieve 平滑。对应到中国数据:以"行业-年份-企业 TFP 分位"为状态,统计"该状态下企业投资率"。
- 状态转移 $\hat P(s'\mid s,x)$:给定当期状态与投资,下一期状态的经验转移频率。通常用离散 transition matrix 或连续状态下的 OLS/局部线性回归。
5.4 BBL 第二阶段估计
第二阶段用两种方式之一估计结构参数 $\theta$:
- 不等式方法(inequalities):对大量"偏离策略" $\tilde x$(如多投 10%、少投 20%),用第一阶段估计的 $\hat P$ 模拟该偏离下的长期价值流。均衡条件要求:$\forall \tilde x,\; V^*(s;\theta,\hat P) \ge V^{\tilde x}(s;\theta,\hat P)$。把违反不等式的次数/幅度作为矩,做最小化。
- 最小距离(minimum distance / SMM):用模型模拟出"投资率-状态"曲线、"进入率-市场利润"曲线,与数据对应曲线做距离最小化。
5.5 计算挑战:维度灾难(curse of dimensionality)
若每家企业状态有 $K$ 个分箱、行业有最多 $\bar N$ 家企业,则行业状态空间大小约为 $K^{\bar N}$。$K=5,\bar N=10$ 时已是天文数字。标准应对:(1) 利用对称性把状态压缩为状态的分布向量(histogram state);(2) 用随机样本模拟(Pakes-McGuire 2001 的 synchronous arm 方法)在状态子集中求解;(3) BBL/CCP 两步法避免全状态空间迭代;(4) 近些年用神经网络值函数近似(neural Bellman)突破。
06 模拟与反事实
估计出结构参数后,EP 框架的价值在于回答政策反事实:
- 合并模拟(merger simulation):把两家企业合并为一家(行业状态减少一个对手),重新求解 MPE,比较合并前后的均衡投资率、价格、消费者剩余。这是反垄断评估的标准工具(见站内 反事实分析页)。
- 政策反事实:
- 投资补贴:把 $c(x)$ 乘以 $(1-s)$,重新求解 MPE,看企业投资率、行业生产率分布如何移动;
- 进入壁垒变化:把进入成本分布 $c^e$ 平移,看行业进入率、稳态企业数、企业规模分布;
- 退出税/环保管制:改变退出清算价值 $\Phi$,看企业退出选择与行业出清速度。
- 行业动态演化:从任意初始状态出发模拟 $T$ 期 MPE 路径,观察企业规模分布是否收敛到稳态、周转率(churn rate = 进入+退出 / 平均企业数)、领先企业的"在位优势"能维持多久。
BBL 两步法估计快但反事实慢:第一阶段估计的 $\hat P$ 是"基准政策下的均衡策略",反事实政策改变后必须重新求解新政策下的 MPE,不能直接用旧的 $\hat P$。这一点常被初学者忽略。
07 论文案例
08 常见错误与陷阱
EP 模型可能存在多个 MPE,不同 MPE 下的行业动态(企业数、周转率)完全不同。如果求解器收敛到的均衡不是"数据实际所处的均衡",估计出的结构参数和反事实分析全部无效。应对:(1) 用多个初值反复求解,报告找到的均衡集合;(2) 估计阶段直接承认多均衡,用"似然上界/下界"或 BBL 的不等式矩避免选择单一均衡(BBL 的优势正在于此——它不需要先知道均衡)。
初学者为了"更真实"往状态空间里加资本、年龄、地区、所有制……结果状态空间爆炸,VFI 跑不动,BBL 第一阶段在每个状态上几乎没数据。应对:先用尽可能小的状态空间(2–3 维)验证模型能复现关键数据矩(投资率、进入率),再逐步扩展;多余的异质性放进"不可观察异质性"(fixed effect / finite mixture),不要全部进状态向量。
BBL 的一致性依赖第一阶段 $\hat P(d\mid s)$ 正确设定。如果用了错误的函数形式(如线性概率而非 logit)、带宽过大/过小、或忽略了未观察异质性,第二阶段估计出的 $\theta$ 是错的,且没有简单诊断。应对:第一阶段做过度识别检验;对比参数化与非参数化第一阶段结果;报告带宽敏感性。
如果只用存活企业样本估计投资方程,会产生选择偏误——只有"好状态"的企业存活下来,存活样本系统性偏向高生产率,投资参数估计有偏。EP 框架把进入退出内生化正是为了处理这个问题;简化版估计时若忽略退出选择,等于丢掉了模型的核心识别来源。
MPEC 重写后的问题是非凸的(Bellman 约束使目标非凸),IPOPT 从不同初值出发可能收敛到不同的局部解。常见错误:只试一个初值就报告"收敛了"。应对:(1) 用 VFI/PFI 的解作为 MPEC 的热启动(warm start);(2) 跑 10–20 个初值网格,报告最优解;(3) 检查约束残差是否真的接近零。
与单 agent Rust 模型一样,$\beta$ 在动态博弈中与 flow profit 参数高度共线,似然曲面平坦。实践中通常把 $\beta$ 校准为 0.9–0.95(对应 5–11% 年贴现率),不参与估计;如需估计 $\beta$,必须加额外识别约束(如实验性的政策变化、跨期利率变化)。
改了补贴/进入成本后,行业均衡策略会移动——企业的最优投资函数变了。如果直接拿基准 MPE 的 $\hat P$ 去"模拟"新政策,等于假设企业行为不变,反事实结果毫无意义。必须重新求解新政策下的 MPE。
09 难度、前置与交叉链接
9.1 学习路径建议
- 先读 05 动态结构模型总览,彻底掌握单 agent Rust 模型、Bellman 方程、VFI、NFXP、Hotz-Miller。
- 读本页 §1–§2,理解从"单人优化"到"多人博弈 + 均衡约束"的升级。
- 运行本页 §4 的 Python 代码,亲手观察 MPE 策略表的形状。
- 读 14 MPEC 方法,理解如何把 Eq. 2.1 写成等式约束。
- 读 Bajari-Benkard-Levin (2007) 原文附录,理解两步法的矩构造。
- 扩展到 10 生产函数估计(OP/LP/ACF),它是 EP 框架"状态变量 $a_{jt}$ 如何从数据中估计"的姊妹技术。
9.2 交叉链接
- 05 动态结构模型总览(单 agent 基础)
- 14 MPEC 方法(本页 §3.3 的工具页)
- 10 生产函数估计 OP/LP/ACF(企业状态 $a_{jt}$ 的估计)
- 06 反事实分析(本页 §6 的一般化方法论)
- 16 教育与人力资本(动态结构在劳动经济学的另一分支,与本页对照学习)
9.3 难度评级
困难 · 前沿 本页要求同时掌握动态规划、博弈论、数值计算与结构估计,建议在学完站内结构估计组全部前序页面后再进入。研究级应用通常需要合作者中有 IO 计算专家。