CGE课堂常见问题解答

1、关于本书与张欣老师教材的异同分析

我们最近收到许多读者的反映,表示困惑于张欣老师的教材与潘浩然老师的教材在模型程序上的异同。为了帮助读者朋友更好地学习理解CGE模型,潘老师最近将张欣老师教材第13章的模型按照自己教材的方式重新编写了一遍,以方便广大读者进一步比较学习。      

附件下载:

附件1:ZX-MODEL模型

附件2:ZX-SAM表

 

2、如何安装和运行模型程序?

安装和运行模型程序基本步骤如下(以CGE_MT中MT1为例):

第一步,新建文件夹(model),将模型程序(MT1)和数据表(SAM2007)放入

 

 

第二步,在该路径下建立项目(打开gams软件—file—project—new project,选择“model”文件夹,建立“MT”项目)

 

 

第三步,在gams软件中打开项目(file—project—open project—“MT”),然后打开程序(file—open—“MT1”)。

 

注意事项:

1.gams是外国开发软件,故文件夹名、表格名称、路径名称不要出现中文名字,避免识别不了而导致程序或表格打不开。

2.项目、程序和表格保证在同一文件夹下,打开时确保路径一致

3.不同电脑安装gams识别的表格类型不同,运行程序前确保excel表可以打开。

 

3、关于GAMS软件与GEMPACK软件间异同的比较

GEMPACK是为建造和求解CGE模型而专门设计的特定程序软件,而GAMS是求解数学规划问题以及处理数据的一种通用编程软件。

GEMPACK通过TAB文件以差分的形式描述模型的非线性方程系统:软件利用这些方程进行数值积分以找到新水平的解。GAMS通过与各种优化器和方程求解器相连接,形成了一种功能更加丰富的计算机语言。它允许循环和其他控制设计、融入文件、宏处理等功能,更重要的是GAMS的脚本可以同时运行其他程序,从而使GAMS具备广泛多变的用途。

举例来说,假如运用GAMS针对不同的资本-劳动替代率重复进行30次相同的模拟实验,并且运行诸如EXCEL等程序将结果制图,这将非常容易。GAMS可以通过GMS文件自动完成这些工作。但如果要在GEMPACK中进行相同的工作,你或许就需要先使用另一个脚本语言(比如Windows BATch语言)去进行30次模拟,然后再使用一个GEMPACK程序对结果进行校对和格式修订,最终调用Excel将结果制图。这也就意味着一个GEMPACK用户需要额外掌握多一门技术。

GAMS还允许用户添加开发人员未提供或未设想的功能。举个例子,假设你想重复使用和定义未明确提供的功能。GAMS用户可以自行实现这一设想,但GEMPACK用户则必须在研发人员增添此类新功能后才能应用。因此,通过接触软件最基本的功能,GAMS的高级用户可以轻松实现研发者没有做过的事情。并且,GAMS用户还可以编写libinclude文件向其他人分享自行开发的新功能。

相比之下,GEMPACK则是让一些复杂的工作变得简单。即使是对于计算机新手而言,GEMPACK的操作也并不困难。举例如下:

递归动态模型。虽然GAMS同样可以完成此类模型,但GEMPACK提供了RunDynam windows界面,可以轻松执行所有簿记以按顺序运行,并汇总和报告结果。而GAMS用户必须跟踪按顺序覆盖年份所需的运行顺序并整理结果。假设你的模型是符合GEMPACK规定范围的,使用RunDynam无疑是更为便捷的方法。但是如果你想要在这个框架外做一些变动,则使用GAMS将更为简易。

系统灵敏度分析。这个模型必须在不同的参数或者冲击下进行多次运行,然后将结果汇总来分析多次的平均值和标准差。GAMS高级用户可以通过编写程序以改变参数或冲击来实现此操作。GEMPACK则是为此提供了一个windows界面(在RunGTAPRunGEM)。用户只需要去修改一些小的细节,软件会自动完成其他部分。当然,这其中对允许修改的变量种类存在限制。如果你要修改的部分正好在限制范围之外,则需要对全部细节进行处理。

由于冲击导致的结果分解。举例来说,通过分解,我们可以知道美国GDP中多少变动源于由美国缩减关税导致的双边贸易变革,以及多少来源于欧盟缩减关税。它的理论依据相对简单,读者可以参见Harrison, Horridge and Pearson (2000)。若想解决这个问题,GEMPACK用户只使用23行代码对适度额外成本计算便可完成,而GAMS高级用户则要相对费些力气才能获得这个分解结果。

此外,GAMSGEMPACK其他区别还包括:

1.优化

GAMS本身就是用来解决优化问题,因此具备最先进的优化能力。当涉及到选择最优冲击(比如最优税额)时,CGE建模者或许想利用GAMS进行模拟来解决这个最优问题。此外,在准备或整合CGE模型所需要的数据时,也会存在需要解决的最优问题。比如最小熵的方法就常常会被用于SAM表的平衡。

GEMPACK没有提供直接的优化功能,但通过使用一阶条件,也可以解决简单的最优化问题。

2.完成度

GAMS能够运用强大的数值算法(比如PATH)明确模拟互补问题。GEMPACK也拥有精确解决此类问题的能力,同样可以解决一些在政策模型中出现的问题。但是GEMPACK使用的算法在解决这些问题上显得不那么有力。

3.把模型分发给非许可人

GEMPCK允许将模型作为独立的可执行映像(例如GTAP.EXE)进行传输,并可以在没有许可的条件下运行,运行GTAP模型所需要的IDE RunGTAP可以免费获得。但GAMS模型只有在获取许可证的条件下才能使用。

4.培训和文件

GAMSGEMPACK均可使用的几种CGE建模学习方法::

学徒体系:大多数CGE建模者在研究生或者工作期间跟着前辈学习CGE模型。

培训课程:初学者或者高级用户可以报名参加相关的强化课程(通常一周时间)。目前,有很多第三方机构在进行GAMS的课程培训

提供文件:GAMSGEMPACK都出版了印刷文件(见Brooke et al, 1992, and Pearson et al, 2002-8),但是这些文件介绍并不全面,不能及时更新和被用户获取,因此需要阅读一些网站的指导资料和在线学习课程来进行补充。

线上论坛:比如GAMSGEMPACK的网上论坛,其中GAMS的论坛特别活跃。

(林欣月根据Mark HORRIDGE和Ken PEARSON的《Solution Software for CGE Modeling》中第九章编译整理