📝 本模型共 11 个方程(含 CD 生产函数、马尔可夫生产率过程、同时性/选择偏误、OP/LP 代理反演、OP/LP/ACF 矩条件、TFP 残差计算)· 文末附「方程总清单 Equation Summary」
📚 前置条件与学习依赖 / Prerequisites
① 数学/统计基础:面板数据计量、半参数两步估计、GMM 矩条件、probit/多项式拟合。
② 经济学理论前置:企业理论、全要素生产率(TFP)、投入选择内生性、企业进入退出。
③ 软件前置:Stata(opreglevpetacfest);Python 手写对照。
④ 站内前置:先学 02 GMM,本页识别逻辑与其相通。
⑤ 难度分级:进阶

01 经济环境与假设

生产函数估计是产业组织、宏观与贸易实证中最基础也最棘手的问题。我们关心企业层面的全要素生产率(TFP)以及资本、劳动、中间投入的产出弹性。考虑一个 Cobb-Douglas 生产函数(对数形式):

Cobb-Douglas Production Function (log form)
$$Y_{it}=A_{it}K_{it}^{\beta_k}L_{it}^{\beta_l}M_{it}^{\beta_m}$$

取对数:

$$y_{it} = \beta_0 + \beta_k k_{it} + \beta_l l_{it} + \beta_m m_{it} + \omega_{it} + \eta_{it}$$

其中 $y_{it}$ 是企业 $i$ 在 $t$ 期的产出(对数),$k_{it}, l_{it}, m_{it}$ 分别是资本、劳动、中间投入(均取对数)。误差项被分解为两部分:$\omega_{it}$ 是企业可观测但计量经济学家不可观测的生产率冲击,$\eta_{it}$ 是独立同分布的测量误差或意外冲击。我们的目标是一致估计 $\beta_k, \beta_l, \beta_m$,再用 $\hat{\omega}_{it}=y_{it}-\hat{\beta}_0-\hat{\beta}_k k_{it}-\hat{\beta}_l l_{it}-\hat{\beta}_m m_{it}$ 作为 TFP。

1.1 市场结构假设:完全竞争 vs 垄断竞争

OP/LP/ACF 框架默认企业在产品市场上是价格接受者或面对给定需求曲线,产出 $Y_{it}$ 用实物量或经行业价格平减的销售额衡量。若企业有市场势力(markup $\mu > 1$),则用收入产出 $r_{it}=p_{it}+y_{it}$ 估计会把 markup 混进 TFP,得到的是 revenue-TFP 而非 physical-TFP。Foster-Haltiwanger-Syverson (2008) 区分了这两者:在同质性行业中两者接近,在差异化行业中 revenue-TFP 与 markup 共变,后续回归需谨慎。劳动市场同理:默认工资外生给定;若企业有买方势力,$\beta_l$ 的估计也会失真。

1.2 要素调整成本假设:自由要素与准固定要素

这是整个框架的关键时序假设。劳动 $l_{it}$ 与中间投入 $m_{it}$ 是"自由"或"可变"要素:企业在 $t$ 期观察到 $\omega_{it}$ 后即可无成本调整,因此 $l_{it}, m_{it}$ 与 $\omega_{it}$ 同期相关。资本 $k_{it}$ 是"准固定"要素:它由前期投资累积,$k_{it}=(1-\delta)k_{i,t-1}+i_{i,t-1}$,在 $t$ 期期初就已确定,企业在选择 $k_{it}$ 时只能看到 $t-1$ 期及以前的生产率信息。这一"资本前定"假设是后文矩条件 $E[\xi_{it}\,|\,k_{it}]=0$ 的根基——资本对当期生产率创新正交,但对当期 $\omega_{it}$ 本身不正交(因为资本累积基于预期)。

1.3 生产率过程假设:一阶马尔可夫

假设生产率遵循一阶马尔可夫过程:

Productivity Process
$$\omega_{it} = E[\omega_{it}\mid \omega_{i,t-1}] + \xi_{it}, \qquad \mathbb{E}[\xi_{it}\mid \omega_{i,t-1}]=0$$

$\xi_{it}$ 是当期"未预期到"的生产率创新。企业在 $t-1$ 期做投资决策时只知道 $\omega_{i,t-1}$,不知道 $\xi_{it}$,所以 $k_{it}$ 与 $\xi_{it}$ 正交。这给了我们识别 $\beta_k$ 的外生变化。若马尔可夫阶数错了(如实际是 AR(2)),矩条件会失效。

1.4 企业进入与退出假设

企业在每期期初决定是否继续经营。设保留值 $\underline{\omega}_{it}(k_{it})$,当 $\omega_{it} \ge \underline{\omega}_{it}(k_{it})$ 时存活($\chi_{it}=1$),否则退出。资本越多的企业"留下"所需的最低生产率越低(资本是沉没缓冲),因此在存活样本中 $\omega_{it}$ 的分布是左截断的,且截断点随 $k_{it}$ 变化。这就是选择偏误的来源。

02 内生性:同时性偏误与选择偏误

2.1 同时性偏差 (Simultaneity Bias)

企业在每期知道自己的 $\omega_{it}$,并据此选择当期劳动 $l_{it}$ 与中间投入 $m_{it}$。因此 $\omega_{it}$ 与 $l_{it}, m_{it}$ 相关:

Simultaneity Bias
$$E[\omega_{it}\mid l_{it}]\neq 0, \qquad E[\omega_{it}\mid m_{it}]\neq 0$$

用 OLS 直接回归,劳动与中间投入系数被向上偏误:高生产率企业多雇劳动,OLS 把"生产率带来的高产出"错记为"劳动的高边际产出"。资本 $k_{it}$ 因前定而内生性较弱。

2.2 选择偏差 (Selection / Attrition Bias)

低生产率企业更可能退出。若样本只含存活企业,则给定资本下 $\omega_{it}$ 分布左截断:

Selection Bias (OP 1996)
$$E[\omega_{it}\mid k_{it},\chi_{it}=1]\neq 0$$

这种截断使 $k_{it}$ 与残差负相关,OLS 低估资本系数 $\beta_k$。OP 用美国电信设备业数据发现:OLS 估计的规模报酬远小于 1,修正后接近常数——差别主要来自选择偏误。

💡 代理变量思想

OP/LP/ACF 的核心是:找一个企业确实根据 $\omega_{it}$ 调整、且计量经济学家能观测的变量(投资 $i_{it}$ 或中间投入 $m_{it}$),把它 invert 出来作为 $\omega_{it}$ 的代理,从而把 $\omega_{it}$ 从误差项中"替"出来,再用马尔可夫创新的正交矩识别资本系数。

03 Olley-Pakes (1996):投资作为代理变量

3.1 单调性假设

OP 的关键假设:企业最优投资 $i_{it}$ 是当期 $\omega_{it}$ 与资本 $k_{it}$ 的严格递增函数(控制 $k$ 后):

Investment Proxy (OP)
$$i_{it}=i(\omega_{it},k_{it}) \;\Longrightarrow\; \omega_{it}=i^{-1}(i_{it},k_{it})\equiv h(i_{it},k_{it})$$

严格单调性要求 $i_{it}>0$(投资为零时逆函数不存在)。代入生产函数得:

$$y_{it}=\beta_l l_{it}+\phi(i_{it},k_{it})+\eta_{it},\qquad \phi(i_{it},k_{it})=\beta_0+\beta_k k_{it}+h(i_{it},k_{it})$$

3.2 三步法

第一步:非参估计 $\beta_l$
用三次多项式(或核回归)对 $(i_{it},k_{it})$ 拟合 $\phi(\cdot)$,回归 $y_{it}$ 对 $l_{it}$ 与多项式项,得到 $\hat{\beta}_l$。此时 $k$ 与 $\omega$ 被吸收进 $\phi$,不识别 $\beta_k$。
第二步:生存概率 Probit
用 $(i_{i,t-1},k_{i,t-1})$ 与资本变化估计存活概率 $\hat{P}_{it}=\Pr(\chi_{it}=1\mid \cdot)$,供第三步控制选择偏误。
第三步:识别 $\beta_k$
假设 $\omega_{it}=E[\omega_{it}\mid\omega_{i,t-1}]+\xi_{it}$,用多项式展开条件期望,构造创新 $\xi_{it}$。用矩 $E[\xi_{it}\cdot k_{it}]=0$,并把 $\hat{P}_{it}$ 作为控制项进入非线性最小二乘,识别 $\beta_k$ 同时纠正选择。
⚠️ OP 的零投资问题

逆函数要求 $i_{it}>0$。现实中大量企业某年投资为零(lumpy investment),必须剔除,样本损失严重;且投资与资本高度共线。这正是 LP 的出发点。

04 Levinsohn-Petrin (2003):中间投入代理

LP 用中间投入 $m_{it}$ 代替投资作为代理变量:

Intermediate Input Proxy (LP)
$$m_{it}=m(\omega_{it},k_{it}) \;\Longrightarrow\; \omega_{it}=m^{-1}(m_{it},k_{it})\equiv h^*(m_{it},k_{it})$$

经济学理由:中间投入几乎恒为正,避免 OP 零投资丢样本;中间投入调整成本低、对 $\omega$ 反应更连续平滑。三步法结构与 OP 平行:

  • 第一阶段:用 $(m_{it},k_{it})$ 的四阶多项式非参逼近 $\phi(m_{it},k_{it})$,OLS 得 $\hat{\beta}_l$。
  • 第二阶段:对候选 $(\beta_k^*,\beta_m^*)$,构造 $\hat{\omega}_{it}=\hat{\phi}_{it}-\beta_k^* k_{it}-\beta_m^* m_{it}$,对 $\omega_{i,t-1}$ 非参回归得 $E[\omega_{it}\mid\omega_{i,t-1}]$,从而得创新 $\xi_{it}(\beta^*)$。
  • 第三阶段:用矩 $E[\xi_{it}\cdot k_{it}]=0$ 与 $E[\xi_{it}\cdot m_{i,t-1}]=0$ 最小化,得 $\hat{\beta}_k,\hat{\beta}_m$。
✓ OP vs LP 怎么选?

零投资比例高时 LP 更稳健;关心进入/退出行为时 OP 的生存校正更直接。Wooldridge (2009) 证明两者都可写成单步 GMM,渐近等价且标准误更稳健。

05 Ackerberg-Caves-Frazer (2015):函数相关性批判

ACF 指出 OP/LP 第一阶段存在根本的函数相关性 (functional dependence):若 $l_{it}$ 也是 $(\omega_{it},k_{it})$ 的函数 $l_{it}=l(\omega_{it},k_{it})$,则 $\beta_l l_{it}$ 会被 $\phi(m_{it},k_{it})$ 完全吸收,第一阶段 $\beta_l$ 根本不可识别

第一阶段:只估 $\hat{\phi}_{it}=\beta_0+h^*(m_{it},k_{it})$
不把 $l_{it}$ 放入回归,仅得到 $\hat{\phi}_{it}$。
第二阶段:给定候选 $(\beta_l^*,\beta_k^*,\beta_m^*)$ 构造 $\hat{\omega}_{it}$
对 $\omega_{i,t-1}$ 非参回归得 $E[\omega_{it}\mid\omega_{i,t-1}]$,构造创新 $\xi_{it}$。
第三阶段:GMM 同时识别所有系数
常用矩 $E[\xi_{it}\cdot k_{it}]=0$、$E[\xi_{it}\cdot l_{i,t-1}]=0$、$E[\xi_{it}\cdot m_{i,t-1}]=0$。$\beta_l$ 用滞后劳动作工具,因当期 $l_{it}$ 可能与 $\xi_{it}$ 相关。

5.1 Value-added vs Gross Output

ACF 强调:若生产函数是 gross output(总产出),必须把 $m_{it}$ 放进生产函数本身,不能先减 $m$ 得 value-added 再估计——因为 $m_{it}$ 既是要素又是代理变量,两步处理会出错。推荐直接估计 gross output 生产函数。

06 识别条件与矩条件

💡 基础知识库:本节用 GMM / 矩条件估计生产函数

OP/LP/ACF 的估计本质就是构造条件矩 $E[\xi_{it}\mid \cdot]=0$ 再做 GMM,并做 Hansen J 过度识别检验。不熟悉矩条件、最优权重矩阵、J 检验?先学 基础知识库·GMM →

整套方法的识别依赖三个互相关联的假设,缺一不可:

  1. 单调性:$i(\omega,k)$ 或 $m(\omega,k)$ 在控制 $k$ 后关于 $\omega$ 严格单调,逆函数存在。若企业存在产能约束、投资不可逆,单调性会被破坏。
  2. 当期自由/前定要素的时序:$l_{it},m_{it}$ 同期响应 $\omega_{it}$;$k_{it}$ 前定于 $\omega_{it}$ 的创新 $\xi_{it}$。这是 $E[\xi_{it}\cdot k_{it}]=0$ 的来源。
  3. 一阶马尔可夫:$\omega_{it}$ 的条件期望只依赖 $\omega_{i,t-1}$,滞后二阶及以上与创新正交,提供了 $l_{i,t-1},m_{i,t-1}$ 作为额外工具。

6.1 生产率创新的构造(补全)

★ 马尔可夫生产率创新(补全)
$$\omega_{it}=g(\omega_{i,t-1})+\xi_{it},\qquad E[\xi_{it}\mid\omega_{i,t-1}]=0$$ $$\xi_{it}(\beta)=\hat\omega_{it}(\beta)-\hat g(\hat\omega_{i,t-1}),\qquad \hat\omega_{it}(\beta)=\hat\phi_{it}-\beta_k k_{it}-\beta_l l_{it}\;(\text{ACF})$$

变量定义:$g(\cdot)=E[\omega_{it}\mid\omega_{i,t-1}]$ 为非参条件期望;$\xi_{it}$ 为不可预期的生产率冲击。识别条件:$E[\xi_{it}\mid\omega_{i,t-1}]=0$ 是马尔可夫假设的矩表达,所有工具变量合法性都源于此。

6.2 各方法矩条件(补全,禁止"常用矩汇总"跳步)

★ OP 矩条件(补全)
$$E\big[\xi_{it}(\beta)\cdot k_{it}\big]=0,\qquad E\big[\xi_{it}(\beta)\cdot i_{i,t-1}\big]=0$$

变量定义:$k_{it}$ 为前定资本;$i_{i,t-1}$ 为滞后投资。识别条件:$k_{it}$ 在前定投资决策时已确定,与 $\xi_{it}$ 正交;$\beta_l$ 由第一阶段非参识别,$\beta_k$ 由本矩识别。

★ LP 矩条件(补全)
$$E\big[\xi_{it}(\beta)\cdot k_{it}\big]=0,\qquad E\big[\xi_{it}(\beta)\cdot m_{i,t-1}\big]=0$$

变量定义:$m_{i,t-1}$ 为滞后中间投入。识别条件:当期 $m_{it}$ 内生(同期响应 $\omega_{it}$),故不能作自己的工具;滞后 $m_{i,t-1}$ 已在 $\omega_{i,t-1}$ 信息集内、与 $\xi_{it}$ 正交。

★ ACF 矩条件(补全)
$$E\big[\xi_{it}(\beta)\cdot k_{it}\big]=0,\qquad E\big[\xi_{it}(\beta)\cdot l_{i,t-1}\big]=0,\qquad E\big[\xi_{it}(\beta)\cdot m_{i,t-1}\big]=0$$

变量定义:$l_{i,t-1}$ 为滞后劳动。识别条件:ACF 第一阶段不识别 $\beta_l$(函数相关批判),故 $\beta_l$ 必须用滞后劳动 $l_{i,t-1}$ 作工具识别——当期 $l_{it}$ 可能与 $\xi_{it}$ 相关,不可用。经济直觉:这是 ACF 修复 OP/LP 第一阶段偏误的核心矩。

常用矩条件汇总:$E[\xi_{it}\mid k_{it}]=0$、$E[\xi_{it}\mid l_{i,t-1}]=0$、$E[\xi_{it}\mid m_{i,t-1}]=0$、$E[\xi_{it}\mid k_{i,t-1}]=0$。过度识别检验(Hansen J)可用来检验工具外生性。Wooldridge (2009) 把这些矩写成单步 GMM,标准误由 sandwich 矩阵直接给出,避免两步渐近修正。

07 数据要求与来源

估计 OP/LP/ACF 需要企业面板数据,至少包含:

变量含义用途
$y_{it}$产出(增加值或总产出,行业价格平减)被解释变量
$k_{it}$资本存量(永续盘存法构造)状态变量,准固定
$l_{it}$劳动(人数或工时,最好按技能加权)自由要素
$m_{it}$中间投入(原材料+能源+服务,平减)LP/ACF 代理变量
$i_{it}$投资(资本形成)OP 代理变量
$\chi_{it}$存活/退出虚拟变量OP 第二阶段选择校正

常用数据源:中国工业企业数据库(1998–2007,规模以上工业企业,杨汝岱、聂辉华等大量研究基于此)、美国 Census LRD/ASM(OP、LP 原始论文所用)、智利/哥伦比亚制造业面板(LP 原文用智利)。中国数据需注意:2008 年后工业企业库口径变化、规模以下企业"消失"不等于退出,退出定义要谨慎;资本存量用永续盘存法 $K_{it}=(1-\delta)K_{i,t-1}+I_{it}$ 构造。此外,OP 要求 $i_{it}>0$ 的样本截断会损失约 15%–30% 的观测,LP 用中间投入则几乎不损失样本——这一点在比较方法时必须同时报告样本量。

08 应用解读:TFP 与后续分析

估计出 $\hat{\beta}$ 后,TFP 残差 $\hat{\omega}_{it}$ 是后续研究的核心变量。常见用法:

★ TFP 残差计算(补全)
$$\hat{\omega}_{it}=y_{it}-\hat\beta_l\,l_{it}-\hat\beta_k\,k_{it}-\hat\beta_m\,m_{it}\qquad\text{(gross output,含中间投入)}$$ $$\widehat{\text{TFP}}_{it}=\exp(\hat\omega_{it})\quad\text{(水平),}\qquad \Delta\hat\omega_{it}=\hat\omega_{it}-\hat\omega_{i,t-1}\quad\text{(增长)}$$

变量定义:$y_{it}$ 为对数产出;$\hat\beta$ 为 OP/LP/ACF 估计系数。设定理由:TFP 是索洛剩余的结构估计版——扣除可观测要素贡献后的"技术水平"。经济直觉:同样的 $k,l,m$ 下产出越高,$\hat\omega$ 越大,企业越"高效";它是资源误置、出口自选择、政策评估的核心被解释变量。

  • TFP 增长分解:Olley-Pakes 分解 $\Delta \bar{\omega}=\Delta \bar{\omega}_{unweighted}+\Delta \sum(s_{it}-\bar{s})(\omega_{it}-\bar{\omega})$,把总量 TFP 增长拆成"企业自身进步"与"资源再配置 (reallocation)"。中国制造业研究普遍发现 reallocation 贡献远大于平均进步。
  • 与出口/创新/外资的关系:用 $\hat{\omega}_{it}$ 对出口虚拟变量、专利、外资份额回归,考察"自我选择"(高效率企业出口)与"学习效应"(出口提升效率)。
  • 资源误置:Hsieh-Klenow (2009) 框架用 $\hat{\omega}$ 的离散度衡量 misallocation,反事实"如果消除误置 TFP 能提升多少"。
  • 政策评估:用 $\hat{\omega}_{it}$ 作为企业绩效变量,评估国企改革、开发区、减税政策的因果效应。
  • 跨国/跨行业比较:把 $\hat{\omega}$ 标准化(行业-年份均值归零)后比较中国与美国、印度的 TFP 分布离散度,是 Hsieh-Klenow 框架的标准做法。
💡 解读提醒

报告 TFP 时务必说明用的是 OLS / OP / LP / ACF 哪一种,以及是 value-added 还是 gross output。三种方法估计的 $\beta_l$ 常差异显著(OP/LP 第一阶段高估、ACF 修正后更接近理论值),TFP 水平也随之平移。建议正文主回归用 ACF,附录报告 OLS/OP/LP 作稳健性。

09 完整代码:Stata + Python

9.1 Stata:opreg / levpet / acfest

Stata
*==============================================================*
* 生产函数估计:OP / LP / ACF 完整示例
* 数据:企业面板 id-year,变量 y(增加值/总产出) k l m
* 安装:ssc install opreg, replace
*       ssc install levpet, replace
*       ssc install acfest, replace
*==============================================================*
clear all
set more off
use "firm_panel.dta", clear

xtset id year
gen ln_y  = ln(value_added)
gen ln_k  = ln(capital)
gen ln_l  = ln(labor)
gen ln_m  = ln(material)
gen ln_inv= ln(investment)

* --- 0. OLS 参照 ---
reg ln_y ln_k ln_l, robust
estimates store ols

* --- 1. Olley-Pakes (1996) ---
opreg ln_y = ln_l, state(ln_k) proxy(ln_inv) exit(exit_flag) ///
    vce(boot, reps(50))
estimates store op

* --- 2. Levinsohn-Petrin (2003) ---
levpet ln_y, free(ln_l) state(ln_k) proxy(ln_m) valueadded
estimates store lp_va

* gross output 形式
levpet ln_y_gross, free(ln_l) state(ln_k) proxy(ln_m)
estimates store lp_go

* --- 3. Ackerberg-Caves-Frazer (2015) ---
acfest ln_y_gross, free(ln_l) state(ln_k) proxy(ln_m) ///
    vce(boot, reps(100)) tech(nr)
estimates store acf

* --- 4. 导出 TFP 对比 ---
predict tfp_ols, xb
gen tfp_op = ln_y - _b[ln_l]*ln_l - _b[ln_k]*ln_k
predict tfp_acf, omega
esttab ols op lp_va acf, se star(* 0.1 ** 0.05 *** 0.01) ///
    mtitles("OLS" "OP" "LP(VA)" "ACF")

9.2 Python:ACF 三步法手写实现

Python
# ============================================================
# ACF (2015) 生产函数估计的最小可运行实现
# 第一阶段: (m,k) 多项式拟合 phi_hat (不含 l)
# 第二/三阶段: GMM 同时估计 (beta_l, beta_k, beta_m)
# ============================================================
import numpy as np
import pandas as pd
from scipy.optimize import minimize
import statsmodels.api as sm

def acf_estimate(df, y='y', l='l', k='k', m='m', id_col='id', t_col='t'):
    df = df.sort_values([id_col, t_col]).reset_index(drop=True)
    # 第一阶段: phi(m,k) = beta0 + h*(m,k),排除 l
    Xp = _poly2d(df[m].values, df[k].values, degree=4)
    Xp = sm.add_constant(Xp)
    df['phi_hat'] = sm.OLS(df[y].values, Xp).fit().fittedvalues

    def obj(params, df):
        bl, bk, bm = params
        df = df.copy()
        df['w'] = df['phi_hat'] - bl*df[l] - bk*df[k] - bm*df[m]
        df['wl'] = df.groupby(id_col)['w'].shift(1)
        v = df.dropna(subset=['wl']).copy()
        x = v['wl'].values; yv = v['w'].values
        Xq = np.column_stack([np.ones_like(x), x, x**2, x**3])
        c, *_ = np.linalg.lstsq(Xq, yv, rcond=None)
        xi = yv - Xq @ c
        kt = v[k].values
        ll = v.groupby(id_col)[l].shift(1).reindex(v.index).values
        ml = v.groupby(id_col)[m].shift(1).reindex(v.index).values
        Z = np.column_stack([np.ones_like(kt), kt, ll, ml])
        g = np.nanmean(xi[:, None]*Z, axis=0)
        return g @ np.eye(len(g)) @ g

    init = sm.OLS(df[y], sm.add_constant(df[[l,k,m]])).fit().params
    x0 = [init[l], init[k], init[m]]
    r = minimize(obj, x0, args=(df,), method='L-BFGS-B',
                 bounds=[(0,1)]*3)
    bl, bk, bm = r.x
    df['tfp'] = df[y] - bl*df[l] - bk*df[k] - bm*df[m]
    return dict(beta_l=bl, beta_k=bk, beta_m=bm, tfp=df['tfp'].values)

def _poly2d(x1, x2, degree=4):
    terms = []
    for i in range(1, degree+1):
        for j in range(i+1):
            terms.append((x1**j)*(x2**(i-j)))
    return np.column_stack(terms)

# ---- 模拟数据: 1000 企业 x 10 年 ----
np.random.seed(42); N, T = 1000, 10
ids = np.repeat(np.arange(N), T); ts = np.tile(np.arange(1,T+1), N)
bl, bk, bm = 0.60, 0.20, 0.15
omega = np.zeros(N*T)
for t in range(1, T):
    omega[t::T] = 0.8*omega[t-1::T] + np.random.normal(0,0.1,N)
k = np.log1p(np.cumsum(np.random.exponential(0.1,N*T),axis=0)/T)
l = 0.5*omega + np.random.normal(0,0.1,N*T)
m = 0.3*omega + 0.2*k + np.random.normal(0,0.05,N*T)
y = bl*l + bk*k + bm*m + omega + np.random.normal(0,0.02,N*T)
d = pd.DataFrame({'id':ids,'t':ts,'y':y,'l':l,'k':k,'m':m})
res = acf_estimate(d)
print(f"bl={res['beta_l']:.3f}(0.60) bk={res['beta_k']:.3f}(0.20) bm={res['beta_m']:.3f}(0.15)")

10 论文案例与常见错误

10.1 经典论文

English · ECMA 1996
The Dynamics of Productivity in the Telecommunications Equipment Industry
Olley, G. S. & Pakes, A. (1996). Econometrica, 64(6), 1263–1297.
结构估计生产函数开山之作。用美国电信设备业 1972–1984 面板,首次以投资为代理变量、三步法纠正同时性与选择偏误。发现放松管制后 TFP 上升主要来自 reallocation(低效率企业退出、高效率企业扩张)。
English · ReStud 2003
Estimating Production Functions Using Inputs to Control for Unobservables
Levinsohn, J. & Petrin, A. (2003). Review of Economic Studies, 70(2), 317–341.
用中间投入替代投资,避免零投资样本损失。基于智利制造业面板,证明 LP 规模报酬接近 1。目前贸易与宏观实证最常用命令。
English · ECMA 2015
Identification Properties of Recent Production Function Estimators
Ackerberg, D., Caves, K. & Frazer, G. (2015). Econometrica, 83(6), 2411–2451.
系统批判 OP/LP 函数相关性:第一阶段劳动系数不可识别。提出修正,把劳动识别推迟到第二阶段,用滞后劳动作工具。建议同时报告 OLS/OP/LP/ACF 作稳健性。
中文 · 《经济研究》
中国制造业企业全要素生产率研究:1998–2007
杨汝岱 (2015). 《经济研究》, 第 2 期, 54–66 页。
基于工业企业数据库用 OP/LP/ACF 估计中国制造业 TFP,发现 TFP 增长主要由资源再配置驱动;国企 TFP 显著低于民企但 2000 年后收敛。中文文献 ACF 框架代表作。
中文 · 《世界经济》
中国制造业企业资源配置效率
聂辉华、贾瑞雪 (2011). 《世界经济》, 第 2 期, 42–58 页。
用 OP 估计 1999–2007 中国制造业 TFP,发现资源误置程度远高于美国,国企、出口企业、开发区企业误置程度差异显著。

10.2 常见错误

❌ 错误 1:gross output 数据却按 value-added 设定估计

数据是总产出时必须把 $m_{it}$ 放进生产函数本身,不能先减 $m$ 得增加值。否则把中间投入的直接贡献错记为 TFP(ACF 2015 §5)。

❌ 错误 2:忽略进入/退出,非平衡面板直接跑 OP

OP 第二阶段 Probit 是纠正选择偏误的关键。中国工业企业库中"消失"的企业不一定真退出(可能规模以下),必须明确定义退出并用 exit() 选项。

❌ 错误 3:用 OLS TFP 做后续回归却声称用了结构估计

OLS TFP 有同时性偏误,其方差分解、与出口/创新的回归结果不可信。后续回归必须用 OP/LP/ACF 的 $\hat{\omega}_{it}$,并说明方法。

❌ 错误 4:多项式阶数随意、不做敏感性分析

$\phi(\cdot)$ 用 3 阶还是 4 阶显著影响 $\hat{\beta}_k$。ACF 建议至少报告 3 阶与 4 阶两版。

❌ 错误 5:忽略资本存量构造方法

$k_{it}$ 是 OP/LP/ACF 的状态变量,永续盘存法的基期资本、折旧率、投资平减指数选择会直接影响 $\hat{\beta}_k$。中国文献常用张军等 (2004) 的折旧率假设,需在数据部分写清。

方程总清单 / Equation Summary

本页全部方程按出现顺序汇总如下,共 11 个。每个方程均可在正文中找到对应的变量定义、设定理由与经济直觉。

编号方程名称核心公式所在节
Eq.10-01Cobb-Douglas 生产函数(对数)$y_{it}=\beta_0+\beta_l l_{it}+\beta_k k_{it}+\omega_{it}+\eta_{it}$01
Eq.10-02一阶马尔可夫生产率过程$\omega_{it}=E[\omega_{it}\mid\omega_{i,t-1}]+\xi_{it}$01.3
Eq.10-03同时性偏差$E[\omega_{it}\mid l_{it},k_{it}]\ne 0$ 致 OLS 有偏02.1
Eq.10-04选择偏差(OP)$\Pr(\chi_{it}=1\mid\omega_{it},k_{it})$ 与 $\omega$ 正相关02.2
Eq.10-05OP 投资代理反演$i_{it}=i(\omega_{it},k_{it})\Rightarrow\omega_{it}=h(i_{it},k_{it})$03.1
Eq.10-06LP 中间投入代理反演$m_{it}=m(\omega_{it},k_{it})\Rightarrow\omega_{it}=h^*(m_{it},k_{it})$04
Eq.10-07马尔可夫生产率创新(补全)$\xi_{it}(\beta)=\hat\omega_{it}(\beta)-\hat g(\hat\omega_{i,t-1})$06.1(补全)
Eq.10-08OP 矩条件(补全)$E[\xi_{it} k_{it}]=0$;$E[\xi_{it} i_{i,t-1}]=0$06.2(补全)
Eq.10-09LP 矩条件(补全)$E[\xi_{it} k_{it}]=0$;$E[\xi_{it} m_{i,t-1}]=0$06.2(补全)
Eq.10-10ACF 矩条件(补全)$E[\xi_{it} k_{it}]=0$;$E[\xi_{it} l_{i,t-1}]=0$;$E[\xi_{it} m_{i,t-1}]=0$06.2(补全)
Eq.10-11TFP 残差计算(补全)$\hat\omega_{it}=y_{it}-\hat\beta_l l_{it}-\hat\beta_k k_{it}-\hat\beta_m m_{it}$08(补全)