📝 本页与动态博弈页的对照:上一页是无限期、多企业博弈;本页是有限期、单 agent 生命周期。有限期意味着可以用反向归纳从最后一期倒推,不需要求无限期不动点——这是两类动态结构模型最实用的区别。
📚 前置条件与学习依赖 / Prerequisites
① 数学/统计基础:有限期动态规划(反向归纳)、logit/极值分布(见 07 二值选择)、Mincer 工资方程、IV 与 Heckman 选择模型。
② 经济学理论前置:劳动经济学:人力资本理论(Becker 1964)、教育回报率、Mincer 1974 收入方程;生命周期劳动供给。
③ 软件/计算前置:Python(numpy 反向归纳 + 模拟);Stata(heckmanivregress);理解面板数据结构。
④ 站内前置页面:05 动态结构模型总览(Bellman/CCP/NFXP 通用框架)+ 07 二值选择(logit 基础)。
⑤ 难度分级:中高 比单 agent 无限期 Rust 模型略易(反向归纳无需收敛循环),但劳动经济学建模细节(能力、信贷约束、选择偏误)较多。

01 经济环境与假设

Keane and Wolpin (1997, Journal of Political Economy,以下简称 KW 框架) 把个人一生(生命周期)建模为一个有限期动态离散选择问题:从高中毕业(约 16 岁)到退休(约 65 岁),个人在每个年龄选择"上学 / 工作 / 家庭生产(休闲)",选择会改变下一期的教育水平与工作经验,进而影响未来工资。

1.1 生命周期与离散选择

  • 时间:$t=1,2,\dots,T$,$T$ 为终止期(退休/死亡)。设定理由:生命周期有明确终点,与 EP 产业动态的无限期形成对照——这使得反向归纳成为自然解法。
  • 选择集 $d_t\in\{S,W,H\}$:上学(Schooling)、市场工作(Work)、家庭生产(Home)。简化版可二值化为"上学 vs 工作"。
  • 状态变量
    • $s_t$:教育年限(或教育水平离散分箱:高中/大专/本科);
    • $e_t$:市场工作经验(累计工作年数);
    • $\mu$:不可观察的能力禀赋(fixed 或有限混合分布);
    • $\epsilon_{t,d}$:每期每选择的 i.i.d. Type-I 极值工资/偏好冲击。

1.2 工资方程(Mincer 型)

当个人选择工作 $d_t=W$ 时,他当期获得市场工资。KW 沿用并扩展了 Mincer (1974) 的经典对数工资方程:

Eq. 1.1 — Mincer 工资方程(本页核心公式之一)
$$\ln w_t = \alpha_0 + \alpha_1 s_t + \alpha_2 e_t + \alpha_3 e_t^2 + \mu + \epsilon_{w,t}$$

变量定义:$\alpha_1$ 是多受一年教育的对数工资增量,即教育回报率的核心参数;$\alpha_2,\alpha_3$ 是经验的线性与二次系数(刻画工资-经验曲线的倒 U 形);$\mu$ 是不可观察能力;$\epsilon_{w,t}$ 是 i.i.d. 工资冲击。设定理由:Mincer 方程是劳动经济学最成功的简化形式——它把"人力资本投资的回报"压缩为工资对教育与经验的对数线性关系。经济直觉:$\alpha_1>0$ 意味着教育是一种人力资本投资,提高未来工资;$e_t^2$ 的负系数 $\alpha_3<0$ 捕捉经验回报随年龄递减(临近退休学习速度下降)。

1.3 教育成本:心理成本与信贷约束

上学不仅放弃了当期工作收入(机会成本),还面临:

Eq. 1.2 — 教育效用与信贷约束
$$U_S(s_t, \text{assets}_t) = -\eta s_t + \lambda\cdot\mathbf{1}\{\text{assets}_t < c^{\text{tuition}}(s_t)\} + \epsilon_{S,t}$$

变量定义:$-\eta s_t$ 为心理成本(上学越久越痛苦,$\eta>0$);$c^{\text{tuition}}(s)$ 为学费;$\mathbf{1}\{\text{assets}0$ 时被约束者效用下降)。设定理由:如果没有信贷约束,穷人家孩子只要教育回报率高就会借钱上学;现实中流动性约束使他们被迫辍学——这是 Kane (1994)、Cameron-Heckman (1998) 争论的核心。经济直觉:$\lambda$ 衡量"家庭财富对大学入学率的影响中有多少是信贷约束造成的",而非能力/偏好差异。

1.4 终止期

在退休期 $T$ 之后,个人不再工作,享受一个由最终教育水平、经验、养老金决定的终端价值 $V_T^{\text{term}}(s_T,e_T,\mu)$。终端价值的设定直接影响早期上学决策——这是有限期模型的关键。常见做法:$V_T^{\text{term}} = \rho_0 + \rho_1 s_T + \rho_2 e_T$,把退休养老金/闲暇效用简化为教育与经验的线性函数。

02 完整推导:生命周期 Bellman 与 CCP

2.1 有限期 Bellman 方程

个人在时期 $t$ 的状态为 $(s_t,e_t,\mu,\epsilon_t)$,选择 $d_t$ 最大化剩余一生的贴现效用和:

Eq. 2.1 — 生命周期 Bellman 方程(有限期,本页核心公式之二)
$$V_t(s_t,e_t,\mu,\epsilon_t) = \max_{d_t\in\{S,W,H\}}\Big\{U_{d_t}(s_t,e_t,\mu) + \epsilon_{d_t,t} + \beta\,\mathbb{E}\big[V_{t+1}(s_{t+1},e_{t+1},\mu,\epsilon_{t+1})\mid s_t,e_t,d_t\big]\Big\}$$

变量定义:$U_W = \ln w_t$(工作拿工资效用),$U_S=-\eta s_t+\cdots$(上学心理成本,见 Eq.1.2),$U_H=\text{home value}$(家庭生产/休闲效用)。状态转移:若上学则 $s_{t+1}=s_t+1, e_{t+1}=e_t$;若工作则 $s_{t+1}=s_t, e_{t+1}=e_t+1$;若家庭生产则两者不变。与无限期 EP 模型的区别:这里没有"未来的稳态"——$V_{T+1}$ 直接由终端价值函数给出,不存在不动点收敛问题,只需从 $t=T$ 倒推。

2.2 反向归纳求解

有限期问题的标准解法是反向归纳(backward induction):从最后一期 $T$ 开始,先算 $V_T$;再用 $V_T$ 算 $V_{T-1}$;依此类推直到 $V_1$。由于 $\epsilon_{d,t}$ 是 i.i.d. Type-I 极值分布,对 $\epsilon$ 的积分有解析的 log-sum-exp 形式(见 05 动态结构页 Eq.3.2):

Eq. 2.2 — 反向归纳递推式
$$v_t(s,e,d;\mu) = U_d(s,e;\mu) + \beta\sum_{s',e'}P(s',e'\mid s,e,d)\,\log\sum_{d'}\exp v_{t+1}(s',e',d';\mu)$$ $$V_t(s,e,\mu) = \log\sum_{d\in\{S,W,H\}}\exp v_t(s,e,d;\mu)$$

从 $t=T$ 开始:$v_T(s,e,d;\mu)=U_d(s,e;\mu)+V_T^{\text{term}}(s',e';\mu)$,然后逐期倒推。计算复杂度:状态为 $(s,e)$ 二维网格(如教育 0–20 年、经验 0–50 年),每期只需做一次 log-sum-exp,比无限期 VFI 快得多——这是 KW 类模型能容纳几十个选择、上百个状态的原因。

2.3 选择概率(CCP,Hotz-Miller)

给定 $v_t(s,e,d;\mu)$,个人在时期 $t$、状态 $(s,e)$、能力 $\mu$ 下选择 $d$ 的概率是 logit 形式:

Eq. 2.3 — 条件选择概率 CCP
$$\Pr(d_t=d\mid s_t=s,e_t=e,\mu)=\frac{\exp v_t(s,e,d;\mu)}{\sum_{d'\in\{S,W,H\}}\exp v_t(s,e,d';\mu)}$$

这与 05 动态结构页 Eq.3.3 完全一致,区别只在时间下标:有限期下 $v_t$ 逐期计算。经济直觉:CCP 把"选择上学的概率"分解为当期效用差与未来价值差——一个人上大学,可能是因为当期心理成本低,也可能是因为未来大学工资溢价高,结构模型把这两者分开。

2.4 教育回报率的结构解释

Mincer 方程里的 $\alpha_1$ 在结构模型中被赋予了因果解释:控制了能力 $\mu$、经验 $e_t$、未观察选择偏误后,$\alpha_1$ 才是"多受一年教育的工资因果效应"。这与 OLS 直接回归得到的"教育系数"不同——后者混杂了能力偏差(见 §5.3)。结构模型通过以下渠道识别 $\alpha_1$:(1) 个体在不同 $(s,e)$ 下的实际选择行为;(2) 工资面板中工资-教育共变;(3) 排除约束(如学费政策变化影响上学决策但不直接影响工资)。

2.5 信贷约束的建模

如 Eq. 1.2 所示,信贷约束通过在上学效用中加入一个哑变量惩罚 $\lambda\mathbf{1}\{\text{assets}家庭资产/收入影响上学决策,但不直接影响工资方程(除了通过教育年限)。Cameron and Heckman (1998) 与 Carneiro, Heckman and Vytlacil (2011) 争论的核心正在于此:如果家庭背景通过"家庭文化/能力代际传递"直接影响工资,那么资产-上学关系就不能全部解释为信贷约束。

03 求解方法

3.1 有限期动态规划:反向归纳(backward induction)

这是 KW 类模型的默认解法。步骤见 §2.2:从 $t=T$ 倒推到 $t=1$。优点:(1) 不需要收敛循环;(2) 精确解;(3) 自动给出每期每个状态的选择概率。局限:状态空间仍需离散化;若加入连续状态(如资产 $A_t$),需用插值(linear interpolation/cubic spline)在网格间近似。

3.2 NFXP(Rust 1987)嵌套固定点

05 动态结构页相同:外层优化器(MLE)在每一步调用内层"给定 $\theta$,反向归纳求 CCP",再计算似然。对有限期模型,内层比无限期快得多(无收敛循环),所以 NFXP 在 KW 类模型中仍然常用。

3.3 CCP 两步法(Hotz-Miller 1993)

对生命周期模型也可用 Hotz-Miller 两步法:(1) 从面板数据非参数估计每期每个状态的经验选择频率 $\hat P(d\mid s,e,t)$;(2) 用 CCP 逆推(Eq. 6.1 of 05 页)反推 $v_t$;(3) 第二阶段估计结构参数 $\theta$。优点:避免在每次外层迭代时全解反向归纳;局限:需要数据在每个 $(s,e,t)$ 上都有足够观测——生命周期面板中老状态(如 50 岁、经验 30 年)数据稀疏。

04 完整代码:3 期教育-工作模型

4.1 Python:反向归纳求解器 + 模拟

下面实现一个3 期简化版:每个体在 $t=1,2,3$ 三期,状态为教育水平 $s\in\{0,1\}$(高中/大学)与经验 $e\in\{0,1,2\}$,每期选择"上学"或"工作"。Type-I 极值冲击 → log-sum-exp 反向归纳。纯 numpy + scipy,秒级运行。

python · 3期教育-工作选择模型(中文注释)
"""
Keane-Wolpin 简化版 —— 3 期教育-工作选择模型反向归纳
=====================================================
状态:
  s ∈ {0,1}   教育水平 (0=高中, 1=大学)
  e ∈ {0,1,2} 工作经验
决策:
  d = 0 工作: 当期拿工资, s不变, e+1
  d = 1 上学: 当期付心理成本, s+1 (封顶1), e不变
工资方程 (Mincer):
  ln w = a0 + a1*s + a2*e + a3*e^2
终端价值 (t=3 之后):
  terminal(s,e) = gamma*s + delta*e   (退休/养老金)
冲击: 每期每选择 i.i.d. Type-I 极值 -> log-sum-exp
"""
import numpy as np
from scipy.special import logsumexp

# ---------- 1. 参数 ----------
BETA   = 0.9               # 贴现因子
A0     = 1.0               # 工资常数项
A1     = 0.15              # 教育回报率 (多一年/一级教育的工资增量)
A2     = 0.03              # 经验线性项
A3     = -0.002            # 经验二次项 (经验回报递减)
ETA    = 0.8               # 上学心理成本
GAMMA  = 3.0               # 终端价值中教育的权重
DELTA  = 1.0               # 终端价值中经验的权重
T      = 3                 # 总期数

# ---------- 2. 状态网格 ----------
S_GRID = [0, 1]            # 教育水平
E_GRID = [0, 1, 2]         # 经验
N_S, N_E = len(S_GRID), len(E_GRID)

def terminal_value(s, e):
    """退休后终端价值 (养老金/闲暇)"""
    return GAMMA * s + DELTA * e

def wage_util(s, e):
    """工作的当期效用 = Mincer 对数工资"""
    return A0 + A1 * s + A2 * e + A3 * e**2

# ---------- 3. 反向归纳 ----------
# V[t][s_idx, e_idx] = 期 t 开始时 (ex-ante) 的价值
# cv[t][d, s_idx, e_idx] = 选择 d 的 choice-specific value
V = {}
cv = {}

for t in range(T, 0, -1):
    V[t] = np.zeros((N_S, N_E))
    cv[t] = np.zeros((2, N_S, N_E))   # 2 个选择: 0=工作, 1=上学
    for si, s in enumerate(S_GRID):
        for ei, e in enumerate(E_GRID):
            # --- 选择 d=0: 工作 ---
            # 当期工资效用
            u_work = wage_util(s, e)
            # 下期状态: s 不变, e+1 (封顶)
            s_next, e_next = s, min(e + 1, 2)
            if t == T:
                fut_work = terminal_value(s_next, e_next)
            else:
                fut_work = V[t+1][S_GRID.index(s_next), E_GRID.index(e_next)]
            cv[t][0, si, ei] = u_work + BETA * fut_work

            # --- 选择 d=1: 上学 ---
            # 当期心理成本 (负效用)
            u_school = -ETA
            # 下期状态: s+1 (封顶), e 不变
            s_next, e_next = min(s + 1, 1), e
            if t == T:
                fut_school = terminal_value(s_next, e_next)
            else:
                fut_school = V[t+1][S_GRID.index(s_next), E_GRID.index(e_next)]
            cv[t][1, si, ei] = u_school + BETA * fut_school

            # ex-ante 价值 = logsumexp over d (EV1 冲击解析积分)
            V[t][si, ei] = logsumexp([cv[t][0, si, ei], cv[t][1, si, ei]])

# ---------- 4. 计算 CCP: 每期每状态选择"上学"的概率 ----------
def ccp_study(t, s, e):
    si, ei = s, e
    # P(study) = exp(v_school) / (exp(v_work)+exp(v_school))
    v_w = cv[t][0, si, ei]
    v_s = cv[t][1, si, ei]
    return np.exp(v_s) / (np.exp(v_w) + np.exp(v_s))

print("=== 各期各状态下'上学'的概率 P(study) ===")
print("      s=0,e=0  s=0,e=1  s=1,e=0  s=1,e=1")
for t in range(1, T+1):
    row = [ccp_study(t, s, e) for (s, e) in [(0,0),(0,1),(1,0),(1,1)]]
    print(f"t={t}:  " + "  ".join(f"{p:6.3f}" for p in row))

# ---------- 5. 模拟一个体的一生路径 ----------
def simulate_one(seed=42):
    rng = np.random.default_rng(seed)
    s, e = 0, 0     # 初始: 高中毕业, 无经验
    path = []
    for t in range(1, T+1):
        p_study = ccp_study(t, s, e)
        d = int(rng.random() < p_study)   # 抽选择
        path.append((t, s, e, d))
        # 状态转移
        if d == 0:   # 工作
            e = min(e + 1, 2)
        else:        # 上学
            s = min(s + 1, 1)
    return path

print("\n=== 模拟 20 个个体的教育-工作路径 ===")
print("(t, s, e, d=1表示上学)")
for i in range(5):
    path = simulate_one(seed=i)
    print(f"个体{i}: " + " -> ".join(f"(t{t},s{s},e{e},{'上学' if d==1 else '工作'})"
                                       for (t,s,e,d) in path))

# ---------- 6. 教育回报率的结构含义 ----------
# 比较: 若 A1=0 (教育无用), 与基准 A1=0.15 相比, 上学概率应大幅下降
print("\n=== 经济直觉 ===")
print(f"基准 A1={A1}: 第1期 s=0,e=0 时 P(study) = {ccp_study(1,0,0):.3f}")
print("若 A1 下降到 0.0 (教育无工资溢价), 上学动机应主要来自终端价值 GAMMA。")
✓ Python 代码说明

反向归纳从 $t=3$ 倒推到 $t=1$,每期每个 $(s,e)$ 计算两个选择的 choice-specific value,再用 logsumexp 得 ex-ante 价值。运行后应能观察到:(1) 越到后期上学概率越低(剩余未来短,不值得付心理成本);(2) $s=0$(未上大学)时上学概率高于 $s=1$(已上大学)——因为教育是一次投资,越早完成越好。扩展方向:加能力 $\mu$ 的有限混合分布(heterogeneous types)、加连续资产状态、做 MLE 外层估计 $(\alpha_1,\eta)$。

4.2 Stata:Mincer 方程的简化估计(OLS / Heckman / IV)

结构模型估计之外,经典劳动经济学用三步处理 Mincer 方程的内生性。下面是可直接在 Stata 运行的简化模板(假设数据已整理为 cfps_wage.dta,含变量 lnw, edu, exp, exp2, participation, college_proximity, mom_edu, father_income):

stata · Mincer 方程 OLS / Heckman / IV
*==============================================================
*  Mincer 工资方程: OLS / Heckman 选择修正 / 工具变量
*  数据: cfps_wage.dta (中国家庭追踪调查微观样本)
*  变量:
*    lnw        对数小时工资
*    edu        受教育年限
*    exp        潜在工作经验 (年龄-教育-6)
*    exp2       经验平方/100
*    participation  劳动参与哑变量 (1=工作)
*    college_proximity  Card(1995) 式IV: 成长地附近有无大学
*    mom_edu, father_income  家庭背景 (用于 Heckman 排除约束)
*==============================================================

clear all
set more off
use "cfps_wage.dta", clear

* --- (0) 构造变量 ---
gen exp2 = exp^2 / 100
lab var lnw            "对数小时工资"
lab var edu            "受教育年限"
lab var exp            "潜在经验"
lab var exp2           "经验平方/100"

* --- (1) OLS 基准 Mincer 方程 (含能力偏差, 仅作对照) ---
reg lnw edu exp exp2 i.province i.year, robust
estimates store OLS
* 系数 edu 是"简单教育回报率", 但混杂能力偏差

* --- (2) Heckman 选择模型: 修正"只有工作者才观察到工资"的选择偏误 ---
* 第一阶段: 劳动参与方程 (排除变量 mom_edu, father_income 不进工资方程)
* 第二阶段: 工资方程 (加逆 Mills ratio lambda)
heckman lnw exp exp2 i.province i.year, ///
    select(participation = edu mom_edu father_income exp exp2) ///
    robust
estimates store Heckman
* 若 lambda 显著, 说明存在选择偏误, Heckman 修正必要

* --- (3) 工具变量 IV: Card(1995) college proximity 作教育的 IV ---
* 排他性约束: 成长地附近有无大学影响上学成本 (相关性),
*             但不直接影响成年后的工资 (外生性)
ivregress 2sls lnw exp exp2 i.province i.year ///
    (edu = college_proximity), robust
estimates store IV
estat firststage          // 检查弱工具变量 (F>10)
estat overid              // 过度识别检验 (若有多个IV)

* --- (4) 对比三种估计的教育回报率 ---
estimates table OLS Heckman IV, ///
    b(%9.4f) star(0.1 0.05 0.01) keep(edu)
* 典型结果: OLS 偏低(能力偏差方向取决于假设),
*           Heckman/IV 通常给出更高的"边际"教育回报率

05 估计与数据

5.1 数据需求

KW 类生命周期结构模型需要个体-年份面板,且每期观察到:(1) 教育水平(最高学历/在校状态);(2) 工作经验(累计工作年数);(3) 工资/收入;(4) 决策(上学/工作/家庭生产);(5) 家庭背景(父母教育、家庭收入、地区)——这些既是信贷约束的代理变量,也是 Heckman/IV 的排除约束来源。

5.2 常用数据来源

数据集国家覆盖内容典型应用
NLSY79 / NLSY97美国1979/1997 年队列,追踪到现在:教育、工资、工作经历、家庭背景、AFQT 能力测试Keane-Wolpin 1997 原文即用 NLSY79;能力偏差经典数据
PSID美国1968 起追踪家庭:收入、消费、生育、迁移生命周期劳动供给、生育与教育联合决策
CFPS中国北京大学中国家庭追踪调查:2010 起每两年,成人问卷含教育、收入、工作、家庭背景中国教育回报率、城乡差异、代际流动性
CHFS中国中国家庭金融调查:资产、收入、信贷约束信息更全信贷约束与大学入学决策
CHARLS中国中国健康与养老追踪调查:45 岁以上样本退休、健康、晚期生命周期决策
CLDS中国中山大学中国劳动力动态调查劳动力市场动态、教育与就业

5.3 能力偏差(ability bias)与工具变量

Mincer OLS 估计 $\hat\alpha_1^{OLS}$ 的核心问题是能力偏差:能力高的人既更可能上学($s_t$ 高),又在任何教育水平下工资都更高($\mu$ 与 $s_t$ 相关)。OLS 把能力带来的工资溢价错误地记到了教育头上,$\hat\alpha_1^{OLS}$ 有偏。三大经典修正策略:

  • 工具变量 IV(Card 1995):用"成长地附近有无大学"(college proximity)作教育的 IV——就近上大学降低了上学的货币与心理成本(相关性),但不直接影响成年后的工资(外生性)。Card (1995 NBER 工作论文,后收入 Aspects of Labor Market Behavior 纪念 John Vanderkamp 文集)用 NLSY 数据估计 IV 教育回报率通常高于 OLS——这暗示 OLS 的能力偏差方向比预想更复杂(IV 识别的是"边际个体"的回报率,通常高于平均个体)。
  • Heckman 选择模型:工资只在工作者中观察到,非随机样本产生选择偏误。第一阶段估计劳动参与方程,把逆 Mills ratio 加入工资方程修正。
  • 结构模型(KW):直接把能力 $\mu$ 建模为有限混合分布的未观察异质性,用动态选择数据识别不同类型个体的教育回报率——这是 Carneiro-Heckman-Vytlacil (2011) 强调的"异质性处理效应"路径。

5.4 Mincer 方程的估计与解释

回到 Eq. 1.1,OLS 回归 $\ln w$ 对 $s,e,e^2$ 后:$\hat\alpha_1$ 是"多受一年教育的对数工资增量",近似等于教育回报率(% 工资差异)。中国近年用 CFPS 的估计值大致在 7%–10% 区间(每年多受教育),高于多数发达国家,反映中国教育回报随市场化改革上升。

06 模拟与反事实

估计出 $(\alpha_1,\eta,\lambda,\dots)$ 后,KW 框架可做三类政策反事实:

  • 学费补贴:把上学成本 $-\eta s_t$ 改为 $-(\eta-\tau)s_t$($\tau$ 为补贴率),重新反向归纳求解,模拟:大学入学率上升多少?平均教育年限提高几年?一生收入现值增加多少?这是评估中国"义务教育免费"、"助学贷款"、"师范生免费"等政策的标准工具。
  • 信贷约束放松:把 Eq. 1.2 中 $\lambda$ 设为 0(或提高资产门槛),看家庭资产对入学率的影响消失多少——这直接度量"信贷约束"而非"能力/偏好差异"对大学入学率的解释力。Cameron-Heckman (1998) 的经典结论是:信贷约束对大学入学率的直接影响被早期 OLS 高估了,真正的瓶颈在更早的童年能力形成。
  • 教育回报率的反事实模拟:改变 $\alpha_1$(如"大学扩招后工资溢价下降"),模拟个体如何改变一生教育-工作路径,加总到宏观收入分布。
  • 生命周期收入路径:对估计后的模型,模拟典型个体(按其类型 $\mu$)在不同政策下的一生工资曲线,对比"多读一年大学 vs 早工作一年"的净现值差。
💡 反事实与选择偏误的区别

结构模型的反事实优势在于:它能回答"如果政策改变,个人的选择行为会如何变",而不只是"在现有选择分布下政策的机械效应"。这是结构估计相对纯简化形式 IV/DID 的核心价值。

07 论文案例

English · 1974 专著
Schooling, Experience, and Earnings
Jacob Mincer · NBER Book, 1974
Mincer 工资方程的开山之作。把对数工资表达为教育年限与经验的函数,奠定了劳动经济学半个世纪的实证传统。本页 Eq. 1.1 直接来自这本书。
English · NBER / Vanderkamp Festschrift 1995
Aspects of the Economics of Labor: Using Geographic Variation in College Proximity to Estimate the Return to Schooling
David Card · NBER Working Paper #4483, 1995; published in Aspects of Labor Market Behavior (1995)
用"成长地附近有无大学"作教育的工具变量,是劳动经济学最著名的 IV 应用。发现 IV 估计的教育回报率高于 OLS,引发关于"边际个体回报率"与"平均个体回报率"的长期讨论。本页 §5.3 与 Stata 代码直接借鉴此文。
English · JPE 1997
The Career Decisions of Young Men
Michael Keane, Kenneth Wolpin · Journal of Political Economy, 1997, 105(3): 474-522
本页框架的命名来源。用 NLSY79 数据估计青年男性的教育-职业-工作选择生命周期模型,证明了大规模离散选择动态结构模型在计算上是可行的,并量化了教育补贴政策的效应。
English · JPE 1979
Education and Selection in the Labor Market
Robert Willis, Sherwin Rosen · Journal of Political Economy, 1979, 87(5): S7-S36
把自选择(self-selection)引入教育回报估计:能力比较优势使不同能力的人选择不同教育水平,OLS 混淆了"教育的因果效应"与"谁选择了教育"。是 Heckman 选择模型的先驱。
English · JPE 1998
Returns to Education for the Young Cohort: Evidence from the 1980s
Stephen Cameron, James Heckman · Journal of Political Economy, 1998, 106(3): 463-496
质疑"信贷约束是大学入学率差距主因"的流行观点,用结构分解发现家庭收入对大学入学的影响主要通过早期能力形成(童年阶段),而非大学时的流动性约束。引发关于信贷约束建模的长期争论。
English · JEP 2011
Understanding the Returns to Education
Pedro Carneiro, James Heckman, Edward Vytlacil · Journal of Economic Perspectives, 2011, 25(1): 33-56
系统综述教育回报率的异质性:平均处理效应(ATE)、处理组效应(TT)、边际处理效应(MTE)各不相同,IV 识别的只是特定边际群体的回报。对如何解释 OLS/IV/结构估计的"教育回报率"差异给出权威框架。
English · 2002
Intergenerational Education and the Rise in the College Premium
Christian Belzil, Jorgen Hansen · 相关发表于 International Economic Review 等 2002 年前后
用动态结构模型估计教育回报率的风险与异质性:把教育选择当作在工资不确定性下的期权决策,发现风险规避与工资方差对教育需求的影响不可忽略。
中文 · 经济学(季刊) 2010
迁移、自选择与收入分配——来自中国城乡的证据
邢春冰 · 《经济学(季刊)》,2010, 9(2): 633-660
用中国城乡微观数据估计迁移的自选择效应与教育回报在迁移者中的差异。是 Willis-Rosen 式自选择框架在中国劳动力市场的本土化应用,讨论了户籍制度下教育-迁移-收入的联合决策。
中文 · 北京大学教育评论
扩招"大跃进"、教育机会与大学毕业生就业
邢春冰, 李实 · 《北京大学教育评论》等 2011 年前后
利用 1999 年大学扩招这一准自然实验,比较扩招前后不同人群的高等教育机会与大学毕业生就业。发现扩招使东部城镇家庭受益更多,农村、西部、少数民族女性受益较少——是中国情境下"教育机会公平"的经典结构/简化形式结合研究。
中文 · 北京师范大学学报 / CFPS 应用
中国教育收益率的动态趋势与城乡性别差异(CFPS 系列)
基于 CFPS 2010–2020 六期面板的明瑟方程研究(含元分析综述)
国内学者用 CFPS 追踪数据动态估计中国教育收益率:整体呈 U 型变化,城镇高于农村、女性高于男性;用 IV 法得到的教育回报率普遍高于 OLS。这些研究是 Mincer 框架在中国的系统应用,为 KW 式结构估计提供了简化形式参照。

08 常见错误与陷阱

✗ 错误 1:忽略能力偏差,把 OLS $\hat\alpha_1$ 当因果效应

这是 Mincer 方程最经典的错误。能力 $\mu$ 同时影响教育选择与工资,OLS 估计的 $\alpha_1$ 既包含"教育的因果效应",又包含"能力导致的工资溢价"。在没有 IV、Heckman 或结构模型控制能力的情况下,不能把 $\hat\alpha_1$ 解释为"多读一年书带来的因果工资增长"。

✗ 错误 2:忽略选择偏误——只在工作者样本上跑 Mincer

工资只在参与劳动力市场的人身上观察到;不工作的人(全职主妇、失业者、在校学生)被系统地排除。这是 Heckman 选择问题。直接跑 OLS 会把"谁选择工作"的自选择效应混进 $\hat\alpha_1$。必须用 Heckman 两阶段、IV 或结构模型处理。

✗ 错误 3:Mincer 方程函数形式误设

标准 Mincer 用 $\ln w = \alpha_0+\alpha_1 s+\alpha_2 e+\alpha_3 e^2$,经验用二次项。常见错误:(a) 不加 $e^2$,导致工资-经验关系被错误线性化;(b) 用"年龄"而非"经验"作经验变量(年龄包含教育,造成多重共线性);(c) 教育用离散哑变量而非连续年限,丢失信息。

⚠ 陷阱 4:忽略信贷约束,把家庭收入-入学关系全归因于能力

反之亦然——Cameron-Heckman (1998) 警告:家庭收入与大学入学率的关系不能全部解释为信贷约束,很大一部分来自童年能力形成的长期影响。如果 Eq. 1.2 中 $\lambda$ 的排除约束("家庭资产不直接影响工资")不成立,结构估计会高估信贷约束。必须用政策变化(如助学贷款改革)作为额外识别来源。

⚠ 陷阱 5:终止期 $V_T^{\text{term}}$ 设定不合理

有限期模型的早期决策完全受终端价值驱动。如果终端价值函数形式错设(如退休后不享受教育溢价),反向归纳倒推出来的早期上学决策就是错的。常见做法是把终端价值校准为养老金规则、或直接用退休后实际工资数据估计,不能拍脑袋设常数。

⚠ 陷阱 6:把 $\beta$ 当自由参数估计

与单 agent 动态模型一样,生命周期模型的贴现因子 $\beta$ 与教育成本参数高度共线。实践中校准 $\beta=0.95$ 左右(对应 5% 年贴现率),不参与估计。

⚠ 陷阱 7:IV 排他性约束失效而不检验

Card (1995) 的 college proximity IV 要求"附近有无大学不直接影响工资"。但如果"靠近大学的地区本身劳动力市场就更好",IV 就不成立。必须做过度识别检验、安慰剂检验(用 placebo IV)、并在论文中论证排他性。

09 难度、前置与交叉链接

9.1 学习路径建议

  1. 先读 05 动态结构模型总览,掌握 Bellman 方程、CCP、Hotz-Miller 的通用框架。
  2. 07 二值选择,复习 logit 与极值分布。
  3. 读 Mincer (1974) 专著导论 + Card (1995) 原文附录,理解 IV 识别。
  4. 运行本页 §4 的 Python 反向归纳代码,亲手观察 CCP 随年龄变化。
  5. 用 Stata 跑 §4.2 的 Mincer 三步估计,比较 OLS/Heckman/IV 的教育回报率差异。
  6. 进阶:读 Keane-Wolpin (1997) 附录,理解如何把模型扩展到 30+ 期、3 个选择、多维状态。

9.2 交叉链接

9.3 难度评级

中高 反向归纳本身比无限期 VFI 简单,但劳动经济学建模细节(能力异质性、信贷约束、选择偏误、IV 排他性)需要较强的理论功底。是结构估计在劳动经济学/家庭经济学应用的标准入门分支。