经济与商务实证研究方法 - 第 7 周:结构估计应用

完整讲义:需求估计、供应侧恢复、反事实政策模拟与人工智能辅助结构工作流

作者
单位

陈志远

中国人民大学商学院

发布于

2026年6月5日

1 引言

W6 讲的是结构估计的基础:模型原语、识别、估计准则、固定点和数值方法。W7 把这些工具放回应用场景。结构估计最常见的使用方式不是“估计一个更复杂的系数”,而是把估计出的偏好、成本或技术参数用于反事实分析。也就是说,估计只是中间环节,真正的目标常常是预测一个没有发生过的政策或市场状态。

本讲围绕四类应用展开。第一类是随机效用需求估计,这是工业组织、市场营销和平台研究中最常见的结构工具。第二类是供应侧恢复与合并模拟,从需求弹性和定价一阶条件恢复边际成本,再改变所有权结构求解新价格。第三类是战略模型与贸易反事实,包括进入博弈、定价竞争和引力模型。第四类是人工智能辅助结构工作流,强调大语言模型和 Copilot 可以显著提高编码效率,但不能替代识别判断。

2 第一部分:随机效用需求估计

2.1 为什么从需求估计开始

需求估计是结构方法最重要的应用入口之一。无论研究市场力、反垄断、平台补贴、产品定位还是贸易政策,研究者都需要知道消费者如何在产品之间替代。没有替代模式,就无法可信预测价格变化、合并、新产品进入或税费调整的后果。

一个离散选择需求模型通常写作

uij=δj+μij+εij u_{ij} = \delta_j + \mu_{ij} + \varepsilon_{ij}

其中

δj=xjβαpj+ξj \delta_j = x_j\beta - \alpha p_j + \xi_j

δj\delta_j 是平均效用,μij\mu_{ij} 描述消费者异质性,εij\varepsilon_{ij} 是特异性偏好冲击。消费者选择效用最高的产品,也可以选择外部选项。

2.2 逻辑选择模型与独立无关替代限制

标准逻辑选择模型假设 εij\varepsilon_{ij} 独立同分布且服从第一型极值分布,由此得到闭式市场份额:

sj=exp(δj)1+k=1Jexp(δk) s_j = \frac{\exp(\delta_j)} {1+\sum_{k=1}^{J}\exp(\delta_k)}

这个公式让模型非常易于估计,并且有反演关系:

logsjlogs0=δj \log s_j-\log s_0=\delta_j

但它也带来独立无关替代限制:

sjsk=exp(δj)exp(δk) \frac{s_j}{s_k} = \frac{\exp(\delta_j)}{\exp(\delta_k)}

两个产品的份额比不受其他产品影响。红巴士 / 蓝巴士例子说明了问题:如果交通市场中原本只有汽车和红巴士,各占 50%。加入蓝巴士后,标准逻辑选择模型会让蓝巴士按比例从汽车和红巴士抢份额,而不是主要从红巴士抢份额。对合并模拟而言,这种替代模式可能严重扭曲价格预测。

2.3 随机系数需求

随机系数模型允许消费者对价格和特征的偏好不同:

uij=xjβiαipj+ξj+εij u_{ij} = x_j\beta_i -\alpha_i p_j +\xi_j +\varepsilon_{ij}

例如

αi=α+σαvi \alpha_i = \alpha + \sigma_\alpha v_i

市场份额需要对消费者异质性积分:

sj(θ)=exp(δj+μij)1+kexp(δk+μik)dF(vi) s_j(\theta) = \int \frac{\exp(\delta_j+\mu_{ij})} {1+\sum_k\exp(\delta_k+\mu_{ik})} dF(v_i)

通常用模拟积分近似:

ŝj(θ)=1Rr=1Rexp(δj+μrj)1+kexp(δk+μrk) \hat{s}_j(\theta) = \frac{1}{R}\sum_{r=1}^{R} \frac{\exp(\delta_j+\mu_{rj})} {1+\sum_k\exp(\delta_k+\mu_{rk})}

下面的代码展示价格偏好异质性如何改变预测份额。

J = 6
x = np.linspace(0.5, 2.0, J)
p = np.linspace(1.0, 2.2, J)
beta = 1.0
alpha = 1.3
R = 2000
v = np.random.normal(size=R)

def rc_shares(sigma_alpha):
    alpha_i = alpha + sigma_alpha * v
    util = beta * x[None, :] - alpha_i[:, None] * p[None, :]
    expu = np.exp(util)
    probs = expu / (1 + expu.sum(axis=1, keepdims=True))
    return probs.mean(axis=0)

pd.DataFrame({
    "product": np.arange(1, J + 1),
    "low_heterogeneity": rc_shares(0.05),
    "high_heterogeneity": rc_shares(0.55)
}).round(3)
product low_heterogeneity high_heterogeneity
0 1 0.124 0.115
1 2 0.123 0.113
2 3 0.121 0.113
3 4 0.120 0.114
4 5 0.118 0.117
5 6 0.117 0.122

随机系数的价值不只是拟合更好,而是让替代关系更加经济化。价格敏感消费者更容易在低价产品之间替代,质量敏感消费者更可能在高质量产品之间替代。这决定了新产品、合并和价格政策的反事实结果。

3 第二部分:弹性、边际成本与合并模拟

3.1 价格弹性矩阵

需求估计后,第一件事通常是计算价格弹性。自价格弹性为

ϵjj=sjpjpjsj \epsilon_{jj} = \frac{\partial s_j}{\partial p_j} \frac{p_j}{s_j}

交叉价格弹性为

ϵjk=sjpkpksj \epsilon_{jk} = \frac{\partial s_j}{\partial p_k} \frac{p_k}{s_j}

弹性矩阵是反事实分析的核心。它告诉我们某个产品涨价后,需求从哪里流走。标准逻辑选择模型中,交叉替代主要由被涨价产品的份额决定;随机系数模型中,交叉替代还取决于产品特征距离和消费者异质性。

3.2 从需求到供应侧

若企业 jj 选择价格,利润为

πj=(pjmcj)Msj(p) \pi_j=(p_j-mc_j)Ms_j(p)

单产品企业的伯特兰定价一阶条件为

sj(p)+(pjmcj)sjpj=0 s_j(p)+(p_j-mc_j)\frac{\partial s_j}{\partial p_j}=0

从而可以恢复边际成本:

mcj=pj+sj(p)sj(p)/pj mc_j = p_j + \frac{s_j(p)} {\partial s_j(p)/\partial p_j}

多产品企业的定价一阶条件写成矩阵形式:

𝐬(p)+Δ(p)(pmc)=0 \mathbf{s}(p)+\Delta(p)(p-mc)=0

其中 Δjk\Delta_{jk} 是否包含交叉导数,取决于产品 jjkk 是否属于同一企业。恢复边际成本后,合并模拟只需改变所有权矩阵,再重新求解价格固定点:

𝐬(pnew;θ̂)+Δnew(pnew)(pnewmĉ)=0 \mathbf{s}(p^{new};\hat{\theta}) + \Delta^{new}(p^{new})(p^{new}-\widehat{mc}) =0

3.3 合并模拟的解释

合并模拟的直觉是,合并前两个企业各自定价,不会内部化对方产品的利润损失。合并后,同一企业拥有两个产品,产品 A 涨价导致部分消费者转向产品 B,这部分利润被内部化,因此合并后的最优价格可能更高。价格上涨幅度取决于三个对象:产品之间的替代强度、合并前的边际成本和合并后的所有权结构。

这也说明为什么需求估计的替代模式如此重要。如果模型错误地认为所有产品按份额等比例替代,合并模拟可能高估或低估价格上涨。

4 第三部分:战略模型与进入

结构估计不只用于需求。进入博弈是另一个典型应用。企业 ii 是否进入市场,可写为

ai=𝟙{πi(ai,X;θ)+εi0} a_i=\mathbb{1}\{\pi_i(a_{-i},X;\theta)+\varepsilon_i\geq 0\}

其中 aia_{-i} 是竞争者进入状态,XX 是市场特征,θ\theta 包含固定进入成本、竞争效应和市场规模回报。研究者观察到最终进入格局,但看不到每家企业的私人成本冲击。

进入模型的困难在于均衡和多重均衡。若多个进入格局都能满足最优反应条件,似然或矩条件需要说明均衡选择机制。很多应用会使用不完全识别、moment inequalities 或特定均衡选择规则。相比需求估计,进入模型更直观地展示了结构方法的代价:要做反事实,就必须对战略互动做出明确假设。

古诺和伯特兰定价模型则把战略互动写成一阶条件系统。以古诺模型为例,企业选择产量:

maxqiP(qi+qi)qiCi(qi) \max_{q_i} P(q_i+q_{-i})q_i-C_i(q_i)

均衡由

fi(q)=P(Q)+P(Q)qiCi(qi)=0 f_i(q)=P(Q)+P'(Q)q_i-C_i'(q_i)=0

同时决定。这与 W6 的非线性方程求解直接相连。政策反事实可以改变成本、税费或竞争者数量,然后重新求解均衡。

5 第四部分:引力模型与贸易反事实

传统引力回归把双边贸易流写作

xij=α+α1yi+α2yj+θdij+γδij+ϵij x_{ij} = \alpha+\alpha_1 y_i+\alpha_2 y_j+\theta d_{ij}+\gamma \delta_{ij}+\epsilon_{ij}

这个回归通常拟合很好,但 Anderson and van Wincoop (2003) 强调,理论一致的贸易流取决于多边阻力:

xij=yiyjyW(tijPiPj)1σ x_{ij} = \frac{y_i y_j}{y^W} \left( \frac{t_{ij}}{P_iP_j} \right)^{1-\sigma}

价格指数满足系统:

Pj1σ=iPiσ1θitij1σ P_j^{1-\sigma} = \sum_i P_i^{\sigma-1}\theta_i t_{ij}^{1-\sigma}

多边阻力的含义是,两个地区之间的贸易不仅取决于它们彼此的贸易成本,还取决于它们同其他地区的贸易成本。取消边界、降低关税或改变运输成本时,所有 PiP_i 都会变化。因此,结构引力模型的反事实不能只替换一个回归变量,而要重新求解一般均衡系统。

这与课程中其他结构应用一致:反事实不是“把解释变量改一下再预测”,而是改变模型原语后重新求解系统。

6 第五部分:减少形式与结构反事实的互补

减少形式和结构方法不应被理解为互相替代。它们服务于不同问题,也可以相互验证。

以关税下降为例。减少形式研究可以利用一次真实关税改革,估计关税下降对贸易流或企业绩效的平均影响。这个估计对历史政策非常有说服力,但外推到不同国家、不同关税幅度或一般均衡价格调整时会遇到限制。结构贸易模型可以模拟未发生的关税情景,但其可信度依赖贸易成本设定、替代弹性、多边阻力和市场出清假设。

再以平台补贴为例。DiD 可以估计某次补贴试点对交易量的影响。结构平台模型可以模拟不同补贴规则、双边价格和参与决策,但必须明确平台两边用户如何互动、平台目标函数是什么、补贴如何改变参与和拥堵。

一个好的经验研究常常同时使用两类证据:用减少形式结果验证模型在已发生情景中的表现,再用结构模型做未发生情景的反事实。

7 第六部分:人工智能辅助结构工作流

结构估计的工程量大,人工智能工具可以明显提高效率。最适合人工智能的任务包括:把效用函数写成向量化代码,生成市场份额模拟,写解析导数或有限差分检查,添加求解器日志,比较不同优化器的报错,重构矩阵维度复杂的函数。

一个有效提示通常包含五类信息:模型公式、输入变量维度、输出对象维度、数值稳定要求、测试用例。例如可以要求大语言模型写一个函数,输入价格向量、特征矩阵和参数字典,输出逻辑选择市场份额和价格导数矩阵,并加入维度检查。

但人工智能的输出必须被审计。结构估计中最危险的错误往往不是语法错误,而是经济含义错误:把外部选项漏掉、把价格导数方向写反、把所有权矩阵转置、每次目标函数评估重新抽样、或者在反事实中错误地保持边际成本不变。人工智能可以帮助找到这些问题,但不能保证没有这些问题。

一份人工智能辅助结构估计记录至少应说明:哪些代码由人工智能初稿生成,研究者如何验证;哪些建议被拒绝,原因是什么;哪些数值结果通过手写小例子、有限差分或蒙特卡洛真值测试验证;最终反事实依赖哪些经济假设。

8 小结

本讲把结构估计基础应用到需求、供应侧、战略互动和贸易反事实中。需求估计的核心是替代模式与价格内生性;供应侧恢复把需求弹性连接到边际成本和合并模拟;进入、定价和引力模型展示了结构方法如何重新求解政策改变后的均衡。人工智能可以让结构编码更快、更清楚,但不能替代对识别、模型原语和反事实含义的判断。

对期末项目而言,一个实用判断是:如果你的研究问题只关心已经发生政策的平均效应,减少形式方法可能足够;如果你要预测未发生的政策、价格、市场结构或选择集变化,就需要认真考虑结构模型。