旧天鹅堡每有朋友问我:某问题能否用ABM做?我常说:没什么不能的,但有必要吗?本文是「ABM入门姊妹篇」的上篇,就聊聊这个问题:什么时候用ABM?首先,让我稍微绕一点点路,把故事讲得完整一点。一、系统及其建模当我们从「系统」的角度来研究一个现象,相关变量自然落入两组:系统的输入和输出。例如,我们把人看作一个系统,输入可以是他的收入、商品价格,输出是他的行为——各商品消费量。输入、输出只是笼统的划分,有进有出,看起来对称舒适一点儿。其实系统并非一定要有输出,我们只关心它的状态不行吗?也可以的。比如,收入和商品价格决定了人的幸福感。幸福感就不是人这个系统的输出,而是状态。按照经济学的讲法,人的决策(输出,即消费量)就是在给定的外部条件(输入,即收入和商品价格)下,最大化自己的效用(状态,即幸福感)——外部条件定了,最优决策定了,行为和效用也就一起定了。状态和输出是一体两面,由输入共同决定。所以,在系统的视角下,我们不纠结状态和输出的区别,把它们统称为「内生变量」即可,相应地,把决定它们的输入称为「外生变量」。系统的本质,就是从外生变量到内生变量的决定机制。所谓系统建模,就是提出对这个决定机制的猜想、抽象。猜得靠不靠谱,要用真实数据来检验。模型是对真实系统的抽象和近似,没有绝对正确,只有针对特定问题的相对好用,并在检验的过程中不断修正、完善。二、经济的简单系统建模人当然是一个很复杂的系统,但经济学把人抽象得很简单:在既定偏好下,按照效用最大化的原则来决策——如前所述,系统的外生变量是收入和各商品价格,内生变量是消费量和效用,连接前者决定后者的机制,是效用最大化。至少对人作为「个体」的经济行为来说,这可以说是一个切近本质、又简洁好用的抽象和简化。但是,当我们关心的是宏观层面上,人作为「群体」的行为时,问题就更复杂了。比如,商品价格是怎么形成的?显然,价格形成不止和个体行为有关,也和个体间的互动有关。所以,经济学又做了第二层简化:把人的互动抽象为供求相等、市场出清,也就是均衡——价格因此形成。现实的互动当然更复杂,但「均衡」这个抽象至少有两点好处:第一,均衡是市场的一个特殊状态,其背后的稳定机制,让它比其他状态更值得关注——当供不应求,较均衡更高的价格促使供给增加、需求减少,价格降向均衡;当供过于求,较均衡更低的价格促使供给减少、需求增加,价格升往均衡。第二,均衡虽然并非系统的常态,甚至可以说是偶然,但这不妨碍我们把它当作一个分析的基准,并这样看待问题:假设当前市场处于均衡态,若某个冲击发生,市场价格会发生怎样的变化?基于以上对个体、个体间互动的简化,我理解经济学还是倾向在「简单系统」的框架下建模经济。那么,如果从所谓「复杂系统」的角度建模经济,区别在哪儿?三、经济的复杂系统建模前述问题相当于问:复杂来自哪儿?显然,既可以来自个体的复杂,也可以来自个体间互动的复杂。其中,前者更多属于心理学、神经科学的范畴,社科领域则更关心后者。当然,有时我们也关心二者的交叉。关于「互动带来复杂」,举两个例子。第一,拔掉塞子,水池会出现漩涡,这与单个水分子的性质无关,而与水分子之间的连接有关;第二,音乐曼妙,这与单个音符无关,而由音符之间的连接决定。例中的漩涡、音乐,是宏观上整个群体的性质,它们由大量个体在微观上的互动产生,与单个个体的性质几乎无关。为了区分和强调,我们把这类从微观到宏观,「由个体互动导致复杂现象」的机制,称为「涌现」。涌现也存在于经济系统中。一个典型的例子就是股票市场:微观上的交易者观察到趋势,也顺应着调整预期,并追涨杀跌。如果大家都如此,产生羊群效应并形成正反馈,宏观上就会导致价格的上涨或下跌——交易者对趋势的信念就自我实现了。在上述过程里,交易者的互动(羊群效应)是核心机制,主导了泡沫的形成和破裂。如果要建模这个过程,就要更直接地刻画个体互动,自下而上地、从微观到宏观地,捕捉泡沫形成、破裂的涌现机制。如果按照均衡的思路,用一个市场出清方程来刻画主体互动,显然是不够的。四、何时用ABM建模虽然本文多以经济系统为例,但ABM也常被用于生态、电力、交通等领域。总之,针对特定系统,如果我们猜测其表现出的某个现象,背后起主导作用的是个体互动和涌现机制,那么ABM(Agent-based Model)就是此时的建模首选——ABM自底向上,对微观主体的属性、行为建模,可以灵活地引入主体互动,进而模拟出宏观层面的系统动态。微观着手,宏观着眼。这是ABM建模的第一心法。当然,即便是同一个系统,如果关心的现象不同、选择的视角不同、猜想(或强调)的机制不同,我们也完全可以选择不同的模型。比如同样是对经济活动建模,如果选择的视角是各部门之间的投入产出关系,那可计算一般均衡(Computational General Equilibrium,CGE)模型就是更合适的选择。