Py学习  »  机器学习算法

JEL罕见发出48页深度学习教程. Econ几十年都算不出来的模型, 深度学习一分钟搞定了.

计量经济圈 • 1 月前 • 78 次点击  
图片

凡是搞计量经济的,都关注这个号了

邮件:econometrics666@126.com

所有计量经济圈方法论丛的code程序 , 宏微观数据库和各种软件都放在社群里.欢迎到计量经济圈社群交流访问.

接着“别再把3WI当DDD用了, 一场年度干货实录, 应用微观最常见的翻车现场.

 

宏观经济学面临一个很尴尬的现实:经济学家往往研究的是他们能够求解的模型,而非他们真正想要研究的那些。

动态经济模型通常缺乏解析解。过去几十年,价值函数迭代、微扰法、投影法等数值方法构成了定量经济学的工具箱。但这些方法都存在一个难以逾越的障碍,即维度诅咒(curse of dimensionality)。一旦状态变量超过5个,计算量便呈指数级增长,全局解在实际应用中几乎无法获得。异质性主体模型、多部门动态博弈、高维空间动态模型等复杂问题,往往被搁置一旁,其中的原因也很简单,这些问题根本无法求解。

不过,随着深度学习的出现,这种局面发生了实质性的改变。

Jesus Fernandez-Villaverde近期在Journal of Economic Literature发表了一篇长达48页的深度学习求解经济模型教程。

论文首先从维度诅咒的根源入手,系统介绍了神经网络的基本架构,并逐步引导到如何将深度学习方法与经济模型的均衡条件相结合。最终,文章以连续时间新古典增长模型为例,进行了完整的示范,且在普通笔记本电脑上不到1分钟即可完成计算,结果与传统有限差分法高度吻合。

配套代码、幻灯片和补充材料均可免费下载。群友可以直接在计量社群下载参看。

1.引言:一个困扰了咱们几十年的定量经济学问题

论文开门见山地点出了定量经济学长期面临的核心矛盾。

均衡经济模型大多没有闭合解,尤其是加入了动态性、随机性或主体异质性之后,没有解析解几乎是常态。于是数值方法成了主力,价值函数迭代在理论上可以收敛到精确解,但在高维状态空间下计算代价极高;微扰法(perturbation)只在稳态附近有效,遇到大冲击就力不从心;Chebyshev多项式等投影方法(projection)精度不错,但状态变量一旦增多,格点数目爆炸,超出5个维度就几乎无法全局求解。

关键的障碍来自Bellman(1957)命名的维度诅咒。以每维100个格点为例,5维状态空间意味着个格点,6维就到了,算力再强也无济于事。Brumm和Scheidegger(2017)提出的稀疏网格方法虽然有所缓解,但并未从根本上突破该瓶颈。

随后介绍了深度学习在人工智能体系中的位置。人工智能包含机器学习,机器学习包含神经网络,而深度学习是神经网络中使用多个隐藏层的那个子集。它的几个标志性节点分别是1986年反向传播算法的提出(Rumelhart等)、2012年AlexNet在图像识别上的突破(Krizhevsky等)、2015年深度强化学习(Mnih等),以及2017年Transformer架构的出现(Vaswani等)。如今,NVIDIA的GPU硬件和PyTorch、JAX等开源框架已经大幅降低了入门门槛,经济学家完全可以在自己的笔记本上复现上述方法。

还强调了神经网络与传统方法的一个关键区别。传统方法使用固定基函数,比如事先选好Chebyshev多项式,然后拟合系数。神经网络则直接对基函数本身进行学习,在训练过程中自适应地构造出一套与具体问题相匹配的内部表示体系。正是这一设计,让神经网络在应对高维、复杂形状的函数时拥有传统方法难以企及的灵活性。

2.均衡模型的函数近似问题

第二节把问题抽象化,给出了深度学习在经济学中的通用适用场景。

定量经济学中几乎所有的动态模型,都可以归结为同一件事,即对一个未知的目标函数进行近似,其中是状态变量向量,维度可能高达数十乃至数千。此类问题广泛出现在宏观经济学的价值函数和政策函数、产业组织的延续值、劳动经济学的生命周期动态问题,以及搜寻匹配模型、博弈论最优反应函数、国际贸易、公共财政、资产定价等几乎所有方向。

论文以新古典增长模型为贯穿全文的示例,目标是在资本积累方程的约束下最大化折现效用之和。对应的贝尔曼方程将问题转化为一个泛函方程的求解问题,而残差最小化的思路,正是将神经网络嵌入均衡条件的核心操作逻辑。

本节还专门讨论了均衡循环(equilibrium loop),这是经济学应用中的一个关键难点。在常规的有监督学习中,训练数据是外生给定的;而在均衡模型求解中,网络的训练点取决于模型生成的均衡路径,而均衡路径又反过来依赖于网络当前的参数。这种内生循环在其他深度学习场景中并不常见,却是经济学应用中无法回避的挑战。论文的处理方式是采用分轮迭代,以扰动法或粗网格解作为初始猜测,逐步更新并收敛到稳定解。

3.固定基函数的方法及其局限

第三节系统梳理了传统投影方法,毕竟梳理清楚传统方法的边界,是理解深度学习优势的必要背景。

线性近似是最简单的固定基函数方法,但它对非线性函数的近似效果很差。加入二次项和高阶单项式(monomial)虽然能改善拟合,但高阶单项式之间容易形成多重共线性,带来严重的数值不稳定问题。

Chebyshev多项式在数值稳定性上表现更好,它是上的正交多项式系,数值条件数远优于普通多项式,是定量宏观领域长期以来的首选投影基。但在多元情形下,Chebyshev多项式的个数随状态变量维度呈指数增长,超过5个状态变量后,即使搭配Judd(1998)推荐的配点法(collocation),计算量也会迅速超出可承受范围。

本节的作用,是交代清楚出发点,传统方法本身并无问题,只是有一道明确的上限。

4.单隐层神经网络

第四节介绍了最基本的神经网络架构——单隐层网络,并给出了经典的理论保证。

单隐层神经网络的工作原理,是先把输入的状态变量线性变换成预激活值,再通过激活函数引入非线性,最后用一个线性输出层把隐藏单元的输出加总。论文详细讨论了几种常用激活函数,sigmoid函数、双曲正切(tanh)、ReLU,以及ReLU的平滑版本softplus,并给出了选择建议:平滑问题优先用tanh,对函数性质不确定时ReLU是不错的默认选择。

理论层面的支撑主要来自两个经典结果。George Cybenko(1989)与Kurt Hornik等(1989)提出的万用近似定理(universal approximation theorem)表明,单隐层神经网络能够以任意精度逼近任意可测函数。进一步地,Andrew Barron(1993)证明,对于满足特定傅里叶衰减条件的函数类,单隐层网络的均方误差可以以 的速度收敛(其中为隐藏单元数),且这一收敛速度与输入维度无关。该结果在理论上直接突破了函数逼近层面的维度诅咒。

论文还配了一个直观的插图,展示用6个ReLU单元逐步逼近的过程,让近似逻辑一目了然。

5.深层神经网络

第五节解释了为什么要把网络做深,也就是叠加多个隐藏层。

深层网络的表达能力会随着层数增加呈指数级提升,而计算成本仅线性上升。较浅的层负责捕捉简单的局部模式,较深的层则将这些局部模式逐步组合为更复杂的结构,这种层级式组合的效率明显高于参数规模相当的单隐层网络。Florian Goujon等(2024)的理论结果为此提供了支持。

对于以ReLU等分段线性激活函数构建的深层网络,指数级增益尤为明显,每增加一层,网络能表达的线性分区数量翻倍,而参数量只增加一个矩阵的开销。

6.网络训练

第六节讲的是如何训练网络,也就是找到让残差最小的参数。

损失函数设定为均衡条件残差的均方和,训练的目标就是最小化该损失。梯度下降提供了基本思路,而随机梯度下降(SGD,Herbert Robbins和Sutton Monro,1951)在此基础上,每次仅使用一个小批量(mini-batch)数据更新参数,不仅提升了计算效率,也更有助于跳出局部极值。论文推荐使用的优化器是Adam(Diederik Kingma和Jimmy Ba,2017),该方法结合了动量机制与自适应学习率,在高维问题中表现尤为稳健。

反向传播算法(Rumelhart等,1986)负责高效计算梯度,PyTorch和JAX等现代框架已经把这一步完全自动化,用户只需写出损失函数,梯度自动求得。

正则化同样值得关注。除了显式的LASSO和Ridge正则化,过参数化网络(参数数量远超样本数量)在SGD下会自动收敛到插值所有数据点中范数最小、也就是最光滑的那个函数(Wilson,2025)。论文用数值实验展示了一个反直觉的结果,参数更多的网络反而能实现更低的预测误差。上述现象即深度学习中的双降(double descent),打破了机器学习教科书里的经典偏差-方差权衡图。

超参数调优方面,论文讨论了层数、每层神经元数、激活函数选择、学习率调度、正则化权重以及Dropout(训练时随机将50%的隐藏单元清零)等关键设计选择,并建议通过网格搜索配合交叉验证来系统筛选。

7.深度学习求解泛函方程

前几节解决了网络长什么样和怎么训练的问题,本节回答的是怎么把它接上经济模型。

论文给出了一个通用框架,适用于离散时间贝尔曼方程和连续时间HJB方程两大类均衡模型。以带不等式约束和等式约束的一般化贝尔曼问题为例,需要同时训练4个神经网络,分别近似价值函数、决策函数、不等式约束的拉格朗日乘子,以及等式约束的乘子。损失函数由六类误差加权求和构成,涵盖贝尔曼或HJB残差、政策函数残差、两个可行性约束残差、对偶可行性残差,以及互补松弛条件残差。

该框架的适用范围很广,Fernandez-Villaverde等(2020)、Maliar等(2021)以及Azinovic等(2022)已经分别在不同类型的宏观模型上展示了它的可行性。

8.实例演示:连续时间新古典增长模型

第八节是全文最具说服力的部分,一个完整的端到端示范。

模型采用标准的连续时间新古典增长框架,目标是刻画资本存量对应的价值函数及其最优消费路径。该模型的HJB方程存在解析解,因此可以将深度学习得到的数值解与之直接对比,误差表现清晰可见。

在实现上,网络架构采用3个隐藏层、每层64个神经元的结构,激活函数选用tanh,以更好地匹配价值函数的光滑性。消费占资本的比例通过sigmoid变换约束在合理区间内,价值函数的一阶导数则通过softplus变换保证为正。训练阶段使用Adam优化器,并结合余弦退火学习率调度;同时引入梯度裁剪(gradient clipping)以避免训练过程中的数值发散。模型共训练100,000轮,最终损失收敛至量级。

结果表现相当理想。基于深度学习得到的价值函数与消费政策函数,几乎与有限差分法的解完全重合;欧拉方程误差在资本空间的绝大多数区间内都控制在以下,达到定量宏观文献中普遍认可的精度标准。整个训练过程在一台普通笔记本电脑上即可完成,耗时不到1分钟。

*群友可以到计量社群进一步交流讨论各种计量问题,以及AI与计量。

1. 最全! 我国适合"断点回归"的政策都整理出来了, 让你有做不完的RDD断点政策评 2.最全! 我国适合"合成控制法"的政策都整理出来了, 让你有做不完的SCM政策评估3.最全106页! 我国适合DID双重差分的政策都整理出来了, 让你有做不完的DID政策 4.最全! 我国适合DDD三重差分的政策都整理出来了, 让你有做不完的DDD政策论 5.最全! 国内哪些政策适合用队列DID, 模糊断点RDD, 双重机器学习DML进行评估?6.最全! 国内哪些政策情景适合用Bartik IV, 空间DID, 模糊DID方法进行评估?

7.最全! 我国各种X的工具变量IV都整理出来了, 8.最全! 把CFPS研究过的全部自变量X与因变量Y做成数据库了, 全网第一份CFPS选题数据库.9.最全! 把CHFS研究过的全部自变量X与因变量Y做成数据库了, 第一份CHFS金融选题数据库.10.中国健康与养老CHARLS选题库, X与Y的研究组合助你研究老年人问题.11.把CSMAR研究过的自变量X与因变量Y做成数据库了, 第一份公司与金融微观选题数据库.12. 三农微观数据选题库, 从此AI轻易助你选择经过检验了的X与Y的不同组合选题.13.CHIP和CEPS选题数据库, 轻松助你选择经过检验了的X与Y的不同组合家庭收入和教育选题.

下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。

8年,计量经济圈近2500篇不重类计量文章,

可直接在公众号菜单栏搜索任何计量相关问题,

Econometrics Circle




数据系列空间矩阵 | 工企数据 | PM2.5  | 市场化指数 | CO2数据 |  夜间灯光 官员方言   | 微观数据 | 内部数据
计量系列匹配方法 | 内生性  | 工具变量 | DID | 面板数据 | 常用TOOL |  中介调节 | 时间序列 | RDD断点 | 合成控制 |  200篇合辑 | 因果识别 | 社会网络 | 空间DID
数据处理 Stata | R | Python | 缺失值 |  CHIP/ CHNS/CHARLS/CFPS/CGSS等 |
干货系列能源环境 | 效率研究 |  空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习  | SSCI | CSSCI | SSCI查询 | 名家经验
计量经济圈组织了一个计量社群,有如下特征:热情互助最多前沿趋势最多、社科资料最多、社科数据最多、科研牛人最多、海外名校最多。因此,建议积极进取和有强烈研习激情的中青年学者到社群交流探讨,始终坚信优秀是通过感染优秀而互相成就彼此的。
图片
图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/195425