薛 领,张晓林
(北京大学 政府管理学院,北京 100871)
1991年,Krugman[1-3]建立了具有里程碑意义的核心-边缘(CP)模型,实现了基于消费者和企业的区位选择行为的一般均衡分析,标志着新经济地理学(NEG)的产生[4-6]。之后以CP模型为基础的其他类似模型也纷纷建立,Baldwin et al.[7]对相关模型进行了总结。新经济地理学将空间纳入了一般均衡分析框架,但是消费者和企业同质性、冰山运输成本等假设广为学者诟病[8-9]。2003年,Melitz[10]建立的贸易模型中考虑了企业生产效率的异质性。不久,Baldwin et al.[11]在此基础上将企业生产效率的异质性引入到地理模型中,企业可以进行区位选择,发现了空间分类效应和选择效应。Ottaviano[12]、杨开忠等[13]总结的“新”新经济地理学(NNEG)即是在新经济地理学的基础上引入了经济主体的异质性形成的。Krugman[14]、Fujita et al.[15]的研究都表明,尽管新经济地理学和“新”新经济地理学模型前提条件存在差异,但是它们讲述的都是运输成本与规模经济之间的故事。
空间经济学演绎模型的研究方法为“集计(aggregate)”,缺乏对于微观主体的重视,忽略微观个体之间及其与环境互动。李君华等[16]、范国如等[17]研究认为其理论基础是经济主体行为的完全理性假设和经济系统的均衡假设,由于其对经济主体行为和经济结构的过分简化,难以描述现实问题。为了克服演绎模型与数值模拟研究方法的缺陷,20世纪90年代末,Boschma et al.[18]最早将演化思想引入经济地理学并逐渐形成演化经济地理学(EEG),空间和时间维度被引入企业区位选择和空间分布研究[19-21]。同时,随着计算机计算能力的发展和复杂适应理论[22]的提出,基于Agent的计算经济学(ACE)得到快速发展[23-25]。ACE的核心思想是通过建立由计算机模拟的经济系统,并进行大量的模拟实验来研究各种复杂的经济现象,以理解经济系统的自组织性、演化性和宏观与微观的关联性[26]。在空间经济领域,Flower[27]较早利用基于Agent模拟对空间经济学模型进行研究。Flower的工作是一个重要开端,此后,Flower[28]、Tsekeris et al.[29]又对模型进行了改进,分别加入了劳动力与企业匹配的规则和消费者跨期优化决策等。近年来,ACE在我国的城市和区域领域产生了一些成果,但数量有限,说明这个方向关注不够[30-36]。ACE模型的核心在于通过观察微观经济个体的非线性交互作用,观察和研究宏观上的“涌现”行为和规律。它让经济学家在一定条件下可以像自然科学家那样,以可重复实验的方式来研究经济问题。
本文在Flower的基础上,结合自身长期的探索和经验,以CP模型为例对比数值模拟与基于Agent模拟的异同。首先,利用数值模拟对CP模型进行模拟并得出结果。其次,按照CP模型的结构和思路建立一个基于Agent模拟的CP模型,并利用NetLogo软件建立一个计算平台,放松某些假设进行模拟,得到相关结果。最后,对两种方法的模拟结果进行对比以分析两种方法的异同,从而对两种方法的优缺点进行比较,总结基于Agent模拟的方法在空间经济学研究中的可能作用——验证、引导和发现空间经济学理论,以及探索利用演绎数理模型、基于Agent模拟和实证分析结合的新方法对空间经济学进行研究的可能性。
Krugman建立的CP模型被认为奠定了空间经济学的基础,它成功地将空间维度纳入了一般均衡的分析框架,揭示了空间经济的很多重要特征。本部分介绍的模型由Krugman建立,并经Baldwin et al.补充完善后对称CP模型。CP模型以D-S模型为基础,假设市场为垄断竞争市场,企业具有规模报酬递增的特征,采用冰山运输成本。可以用下面三个方程表示:
在CP模型中含有两个部门:农业部门和工业部门,同时也存在两种劳动力:农业劳动力和工业部门劳动力。其中农业部门生产农业产品,农业产品可以自由贸易没有运输费用,具有完全替代弹性。工业产品的运输费用以冰山运输计算。上述模型中含有n个对称的城市,n=2,即为两城市模型。模型中λ为城市技术劳动力占总技术劳动力的比例,W为城市技术劳动力的工资,θ为该城市的农业劳动力占所有城市总农业劳动力的比例,μ为居民用于工业产品的消费比例,L为所有城市劳动力的总和,σ为工业产品之间的替代弹性,β为企业生产的边际劳动力数量,α为企业生产的固定劳动力数量,τ为两城市之间的运输成本,其中τ>1。
模型中方程组为非线性方程,三个方程相互关联,无法单独解出相关变量。方程(1)为某城市总收入方程,为所有技术劳动力收入和农业劳动力收入之和,其中农业部门劳动力工资为1,而工业部门劳动力工资需要方程(3)的结果。方程(2)为城市的价格指数方程,为城市各企业产品价格的非线性加和,企业产品的价格与工业部门劳动力的工资成固定比例,因此方程(2)的求解同样需要方程(3)的结果。方程(3)为工业部门劳动力工资的方程,工业部门劳动力工资与各城市的总收入及各城市的价格指数都有关系,因此方程(3)的求解需要方程(1)和方程(2)的结果。由此可知该方程组求解需要三个方程同时求解,又因为三个方程为非线性的方程,该方程组的求解无法直接得到解析解,需要数值模拟。数值模拟的方法众多,其中顺次迭代法求解过程如下:
其中ωi为城市工业部门劳动力的实际工资,由方程(4)计算得出;ω为两城市平均实际工资。由方程(5),依据城市的实际工资之差,两城市工业技术劳动力比例λ调整到新的水平,再次计算出两城市的实际工资,达到新的短期均衡。反复进行上述步骤,直至调整前后两城市工业劳动力比例λ的变化的绝对值小于参数阈值,该短期均衡可能为模型的长期均衡结果。
下面进行数值模拟,参照Baldwin et al.[7]和安虎森[37]的研究,企业的边际成本和固定成本进行了标准化处理,使企业产品的价格与工业部门劳动力工资相等。其他外生参数值同样参照以往进行设定(见表1),对运输成本为1.5和2.5的两种情景进行模拟的结果见图1。
表1 模型参数的值
在数值模拟方法的求解结果中,每种情景有且仅有一种结果,不存在随机性,结果都是最优的均衡。同时数值模拟的求解结果只有两种,完全的核心-边缘结构和完全的对称状态。在运输成本较大时,人口和企业不会迁移,空间结构呈现对称状态。随着运输成本变小,人口和企业迁移并倾向于集聚,空间结构呈现核心-边缘状态。
图1 τ=1.5、τ=2.5时模型求解结果
1.模型的空间结构。假定一个区域系统中存在两个城市:城市a和城市b。模型中有两类Agent,一类是具有不同收入水平的异质性城市居民Agent,根据效用最大化选择在不同的城市居住和就业。另一类是具有不同生产效率的异质性企业Agent,根据利润最大化选择在不同的城市投资设厂。两个城市都存在一定数量的企业Agent和居民Agent。区域间商品和服务可以自由贸易,生产要素可以自由流动。城市之间存在贸易成本,通过冰山运输成本体现,假定两个城市之间的运输费用为τ。模型的空间结构如图2所示。
2.Agent行为结构。基于Agent建模不同于演绎模型建模方式,直接模拟微观个体的行为及相互作用。核心-边缘模型涉及企业和居民两种Agent,在对CP模型重新建模中涉及的Agent的主要属性和行为如图3所示,Agent各行为之间相互联系,同时Agent与宏观环境也不断交互。
3.居民Agent。居民的效用函数与数值模拟相同,采用不变替代弹性的CES函数:
图2 模型的空间结构
图3 Agent的行为列表
方程(6)为居民效用方程,m表示两个城市所有企业数量之和,c表示居民消费某一工业产品j的数量。方程(7)为居民消费品数量方程,取决于产品价格、居民工资水平以及城市的价格指数。其中sj表示产品j的产地为城市s;pj表示产品j的出厂价格;W为居民的工资水平,由外生给定;P为城市的价格指数。方程(8)为城市的价格指数方程,取决于各城市产品的价格及城市间运输费用。
同时,城市居民Agent可以根据自身效用最大化的原则在两个城市间自由迁移。每一期城市居民会根据城市间人口和企业动态的分布状况,预期自己迁移到另外一个城市之后的效用,如果预期迁移之后的效用水平高于现在水平一定比例,居民将有一定的概率作出决定迁移的决策。表2伪代码表示居民Agent的迁移规则。
表2 居民Agent迁移行为伪代码
4.企业Agent。模型与数值模拟一样,假定每个企业Agent生产一种差异化的产品,市场结构为垄断竞争,产品价格为p。工业生产中仅用资本,资本的成本相同。企业生产由固定成本和边际成本决定,具有规模经济。企业j的生产函数为:
方程(9)为企业的生产函数,其中z为企业生产总成本,α为企业的固定成本,β为企业的边际成本,x为企业产量。方程(10)为企业的利润函数,为企业的销售收入减去企业总成本,其中r为资本收益率。方程(11)为企业的定价函数,价格取决于边际成本和产品替代弹性。
企业Agent迁移的机理与人口迁移机理类似,是在集聚力与分散力共同作用下进行迁移,企业Agent依据利润最大化原理进行自由迁移。企业迁移的具体规则为:每一期企业会根据预期迁移到另一个城市的产品需求量和产品价格计算出利润水平,然后与现在的利润水平进行比较。如果预期的利润水平高于现在的利润水平一定比例,那么企业有一定概率迁移到另外一个城市。表3伪代码表示企业Agent的迁移规则。
表3 企业Agent迁移行为伪代码
5.模拟结果。为了在同一假设下进行比较,在初始参数值的设定中,之前数值模拟已涉及外生参数值不变,两种不同运输成本的情景也相同。新的参数如人口数量、企业数量和居民的迁移速率等初始的数值,只会影响曲线的平滑程度不会影响结论,因此本文对此只设置一组相同的参数(见表4)。根据表4设定的参数,对运输成本为1.5和2.5两种情景进行模拟,结果见图4~图7。
图4和图5为τ=1.5时模拟的两种结果,其中核心-边缘结构出现的比例较高,对称结构出现比例较低。图6和图7为τ=2.5时模拟的两种结果,其中对称结构出现的比例较高,核心-边缘结构出现比例较低。在基于Agent模拟的结果中,即使是在同一情形下求解的结果也可能不一样,结果存在随机性,且结果也不一定是理论上的最优结果。此外,基于Agent模拟求解结果不止有前述演绎模型两种最优的结果,而是存在无数种介于两者之间的结果。在运输成本较小时,结果可能出现核心-边缘空间结构,也可能出现分散的空间结果,只是出现核心-边缘空间结构的比例较大。同理,在运输成本较大的情形中,也会出现两种结果,只是出现分散空间结构的比例较大。
表4 模型参数的值
图4 τ=1.5时模型模拟结果:核心-边缘结构,出现比例高
图5 τ=1.5时模型模拟结果:对称结构,出现比例低
图6 τ=2.5时模型模拟结果:核心-边缘结构,出现比例低
图7 τ=2.5时模型模拟结果:对称结构,出现比例高
第二部分分别展示了利用数值模拟和基于Agent模拟求解CP模型的思路以及结果。两者的差异可以从以下方面总结,如表5所示。
下面详细阐述基于Agent模拟和数值模拟的区别。
表5 数值模拟与基于agent模拟对比
(1)“集计(aggregate)”和“非集计(disaggregate)”的建模方式。数值模拟是“集计”的建模方式,从宏观角度把握各类主体,每一类个体特征用一个变量表示。而基于Agent建模是“非集计”的,从微观角度刻画各个主体。数值模拟得到的结果是一个总体的状态值,无法反映每个个体的真实情况,而基于Agent模拟的结果是每个个体的值,详细记录每个微观主体的真实情况。
(2)主体的异质性程度。在演绎模型中,对于居民和企业来说都是同质的或者单一主体异质,因此居民或企业主体面临的决策都是一致且理性的,均衡的结果是唯一的。在基于Agent模拟中居民和企业可以都是异质性的,个体之间的决策存在区别,更加接近于现实世界。利用主体多重异质性可以拓展“新”新经济地理学的研究范围,研究更多空间经济学难以建模的问题。
(3)企业与居民的同步决策和异步决策。在演绎模型中,企业迁移的决策依赖于居民的决策,因为一个地区企业的数量是由该地区工业部门劳动力数量决定的,多少居民迁移就意味着多少企业迁移,居民和企业完全同步决策。而在基于Agent模拟中,企业迁移的决策依据企业预期迁移后的利润,企业的迁移行为不再完全依赖居民的行为,企业和居民可以进行自主决策。
(4)模拟过程的确定性和随机性。数值模拟的计算过程按照特定的公式计算,没有不确定性也不存在干扰因素,因此结果是确定的,总是能找到最优解。而由于异质性和概率存在,在基于Agent模拟过程中居民和企业的决策都存在一定随机性,因此结果不确定且不唯一,一个小的干扰可能使结果完全偏离原有的最优均衡。
(5)模拟结果的静态均衡和动态非均衡。数值模拟的结果是稳定的,在均衡结果算出来之后各地区居民和企业将不再进行迁移,各地区企业和居民的数量将不再进行变化,处于一个长期的静态均衡状态。而在基于Agent模拟中即使出现一个均衡的结果,但是各地区的企业和居民可能仍会发生迁移,只是处于一个动态均衡的状态,没有完全静止。
传统的空间经济学主要运用演绎模型和数值模拟进行研究,建模方法为“集计”,倚重于总体把握,忽视个体行为,理论视野中特别缺乏个体之间以及个体与环境之间的互动,因此在获得精确严密逻辑推理的同时,也难以准确描述现实问题[38]。空间经济演绎模型都是建立在一般均衡的框架下,均衡结果对于模型非常重要,因为经济学家可以利用均衡的结果去解释集聚与分散的规律以及预测经济主体的行为。为了使演绎模型有均衡的结果,演绎模型在构建中存在一系列的隐含假设,以确保均衡结果的产生和出现。这些假设确保了复杂模型均衡结果产生的同时也使模型描述的现象与真实世界相差甚远,有些甚至完全不同。基于Agent的计算模拟把经济模型构建为由一系列相互作用的Agent构成的动态演化系统,以计算机为工具进行模拟,并且注重个体的行为和相互作用,通过实验模拟的方法研究经济问题。基于Agent计算模拟以大规模可重复实验的形式研究经济问题,突破了传统经济学研究“集计”的研究模式,更加注重研究经济问题的动态特征,注重经济主体的相互作用。基于Agent模拟这种非集计模型可以很好地解决演绎模型和数值模拟研究方法中微观分析与宏观分析之间的矛盾。
演绎模型与数值模拟的方法存在许多局限,经济主体行为和经济结构过分简化,模型中存在许多隐含的均衡假设,由其假设条件即可预见结果必然是均衡的。同时ACE的方法同样存在不足。ACE存在模型参数校准、可验证性、有效性等问题需要解决。首先,ACE模型由于从个体出发进行建模,每个个体的属性都是模型的参数,如何对众多的参数进行校准是模型能否解决问题和发现规律的关键,对众多的参数进行校准工作量很大。其次,模型的可靠性、准确性如何验证同样重要,运行平台本身是否可靠,模拟结果是否真实表达了模型的含义都是需要检查和验证的。最后,ACE模型的有效性也难以验证,模型是否表达把握了真实世界的含义决定了模型是否有真实意义,而由于现实数据难以获得和模拟情形难以对应现实,对模拟结果进行实证比较困难。如果ACE没有一个强大的微观经济理论支撑是难以保证Agent行为规则的合理性和有效性的,以至于模拟研究可能变成一个随意的“游戏”。
为了充分发挥演绎模型与基于Agent模拟的优势,结合多种研究方法形成“空间经济学演绎模型与推导→基于Agent的计算模拟→实证分析与计量检验→演绎模型与推导……”研究方法(见图8),或许能够成为研究空间经济学新的方法和路径。演绎模型是基于Agent模拟和实证分析的理论支撑;基于Agent的模拟可以对现有的演绎模型进行重新建模并放松假设、改变设置进行扩展研究,对空间经济学相关理论进行验证、引导并发现新规律;而实证分析能够验证新规律的有效性。我们可以将研究方法操作步骤总结如下:
步骤1:以新经济地理学和“新”新经济地理学为基础建模(始于NEG+NNEG)。
步骤2:在步骤1数理模型的基础上,直接为每一个微观经济个体(Agent)建立属性集合与行为规则,实现ACE重构。
图8 研究方法之间的关系
步骤3:基于Agent的计算程序代码实现和模拟平台开发。
步骤4:设置情景,参数估计,放松假设,展开计算实验,尝试发现新的现象和规律。
步骤5:回到步骤4,放松其他假设,重复实验。
步骤6:完成一致性检验、灵敏度分析、稳定性分析以及可验证性(Verification)和有效性(Validation)分析。
另外,空间经济学演绎模型甚至可以借助ACE的方法将生态环境、老龄化、社会分层等社会问题引入空间经济学的研究,展开情景分析和政策模拟,这是传统空间经济学分析框架难以涉及的领域。
本文以经典的CP模型为基础,利用数值模拟对其进行求解,并利用基于Agent模拟的方法对CP模型进行再建模并求解。通过两种方法的对比和讨论发现:(1)CP模型的数值模拟方法与基于Agent模拟方法在模型的假设、过程、结构、结果、建模方式、主体特征和决策方式等方面都存在显著差异。最大的差异在于数值模拟关注总体,模拟结果是静态均衡的,而基于Agent的建模关注个体,模拟结果是动态非均衡的。(2)空间经济学演绎模型中存在许多缺陷,从总体把握忽视个体行为,诸多假设如完全信息、同时决策、市场出清、瞬间均衡、个体同质,确保了复杂模型产生均衡结果的同时也使模型描述的空间集聚现象与真实世界相差甚远。基于Agent模拟这种非集计模型重视经济系统中的各微观主体状态和行为的异质性、自主决策和有限理性,关注的是大量微观经济个体间的交互行为,尝试通过使用学习算法来模拟Agent的适应性,注重探讨非均衡的演化,更加接近现实。但基于Agent模拟也存在有效性难以验证以及经济机理的缺失等不足。(3)探索结合多种研究方法,形成“空间经济学演绎模型与推导→基于Agent的计算模拟→实证分析与计量检验→演绎模型与推导……”研究方法,是一种值得重视的技术路线,将充分发挥各种方法的优势,能够验证和引导空间经济学理论并发现可能的新规律,推动空间经济学理论的螺旋式上升。