Stata:参数校准-nl-nlsur

发布时间:2023-05-15 阅读 551

Stata连享会   主页 || 视频 || 推文 || 知乎 || Bilibili 站

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc, ihelp, rdbalance, gitee, installpkg

课程详情 https://gitee.com/lianxh/Course

课程主页 https://gitee.com/lianxh/Course

⛳ Stata 系列推文:

PDF下载 - 推文合集

作者:李祉豪 (厦门大学)
邮箱andycristone@163.com


目录


1. 背景简介

参数校准作为宏观经济学实证研究的重要环节,其结果对后续研究中的基准拟合结果分析、反事实模拟与稳健性检验具有重要影响。

参数校准的基本思路是根据所建立的宏观经济模型的一般均衡结果推导得出的目标方程去逼近实际数据,在一定的参考准则下通过不断调整参数赋值进行迭代使得模型尽可能趋近真实数据。这一过程与计量回归最小二乘法估计思想相同,不同之处在于通常需估计的模型目标方程多为非线性的,而且也多以方程组的形式出现。

相关的 Stata 命令为 nlnlsur。前者为单一目标方程的非线性最小二乘估计,后者为多个方程组的非线性最小二乘似不相关回归。

2. 命令语法

nlnlsur 为系统自带命令可直接使用。两者语法基本相同,语法结构如下:

* nl
nl (depvar_1=<sexp_1>) [if] [in] [weight] [, options]

* nlsur 
nlsur (depvar_1=<sexp_1>) (depvar_2=<sexp_2>) 
      [if] [in] [weight] [, options]

其中,depvar 为需要进行估计的被解释变量名。sexp 为有关被解释变量的表达式,其中代估参数的变量名需包含于 {} 中。options 选择项如下:

  • variables/va:指定模型中的解释变量;
  • initial/in:指定参数的初始值;
  • fgnls:该指令只适用于 nlsur 命令,表示在估计时采用可行广义非线性最小二乘两步估计,默认为该估计方法;
  • ifgnls:该指令只适用于 nlsur 命令,表示在估计时采用可行广义非线性最小二乘迭代估计;
  • nls:该指令只适用于 nlsur 命令下,表示在估计时采用普通的非线性最小二乘估计;
  • nolog:不显示估计时的迭代过程;
  • vce(#):指定估计时的稳健标准误类型,# 可填 gnrrobustclusterbootstrap 等;
  • eps(#):指定估计收敛准则,默认为 esp(1e-5)
  • delta(#):指定估计误差精确度范围,默认为 delta(4e-7)

3. 应用实例

农业增加值在国民产出中的占比变化是衡量一国或地区经济发展水平的一个参考指标,也是经济增长、结构转型与发展经济学的重要研究对象。关于结构转型这一研究主题,经济增长手册第二卷第六章“增长与结构转型” (Handbook of Economic Growth, vol.2 Chapter 6- Economic Growth and Structural Transformation) 对此进行了详细介绍。

参考其中的模型设定做法,为模拟中国农业增加值从 1978 年至 2018 年的增加值占比变化,假定一个封闭经济体下有农业和非农业两个产品生产部门,其产品价格分别为 P1和 P2,该经济体有一个永久生存的代表性家庭,其对两种商品偏好的效用函数采取非位似偏好的 CES 形式,表达式为:

C1 和 C2分别为消费者对农产品和非农产产品的消费量。C1¯ 为消费者维持自身生存的最低农业消费量,一般为负数,表示扣除这一维持生存的部分之后对农产品的额外偏好。w 为消费者总消费中农产品消费所占权重取值在0~1之间。ε 为农产品和非农产品之间的替代弹性,取值为大于 0 的正数。

在生产方面,两个产品部门分别有两个代表性厂商雇佣劳动力进行产品生产,其生产函数为:Yi=AiLii=1,2Ai 为部门技术水平,Li 为部门生产所雇佣的劳动力。

模型一般均衡时有产品市场出清和要素市场出清,前者为 Yi=Ci,后者为 L1+L2=L。最终我们得到一般均衡条件下农业部门的增加值占比表达式为:

在进行校准前,我们从国家统计局收集校准所需的原始数据并对其进行处理。国家统计局报告了三大产业的名义增加值和各自的增加值指数,我们将二三产业进行合并即为非农产业名义增加值得到 P2Y2。其次我们对价格进行标准化处理。

以 1978 年为基期并令三大产业的产品价格均为 1,对农业来说,利用以下公式:

得到标准化后的农产品价格。对于非农产业来说,参照对 P1 的计算式分别得到第二、三产业标准化后的产品价格,然后利用以下公式:

得到非农产业的实际增加值 Y2。那么 P2=P2Y2Y2。最后我们得到处理后的数据如下:

* Example generated by -dataex-. 
* For more info, type  help dataex
clear
input int t double(P1Y1 P2Y2 P1 P2)
1978 217.4284311 567.9183656           1           1
1979 268.7701471 606.6007728 1.165062739  .988408265
1980 290.2247935 689.1317806 1.276105246 1.011683517
1981  329.974596 723.7367376 1.356232312 1.018125315
1982 376.0860748 771.0223513 1.385977997 1.004192714
1983 418.6111052 866.7250176 1.425079406 1.008836388
1984 490.0625494  1063.74485 1.477000523 1.064952712
1985 542.5997481 1399.824947 1.605876864 1.184760973
1986 590.0774929 1625.024016 1.690899053 1.239048998
1987 684.0936746 1914.949939 1.871679696 1.280842558
1988 817.8810068 2422.816643 2.183174818 1.423101943
1989 902.6321969 2764.874154 2.337499502 1.553399758
1990 1071.067182 2957.901928 2.583150365 1.613456688
1991 1129.048097  3568.68689 2.660212302 1.737713314
1992  1238.24264 4567.213885 2.788904772 1.886363672
1993 1470.358431 6145.144419 3.164480048  2.16801463
1994  2022.03104   8361.0358 4.185308074 2.546677812
1995 2566.125141 10528.65956  5.06313172 2.847837334
1996 2962.726555 12367.97387 5.563991434 3.009158906
1997 3045.321606 13972.16233 5.529446263 3.077537219
1998 3120.786457 15066.66951 5.478307794 3.051600199
1999 3105.906966 16227.69677 5.306364209 3.028510112
2000 3141.856841 18265.84548 5.246940319 3.111080866
2001 3309.459258  20357.5134 5.384122076 3.179706001
2002 3456.268813 22527.84834 5.475756716 3.196316331
2003 3622.782486 25713.93805  5.60631018 3.267201781
2004 4462.630489 30086.84329 6.507480974 3.449560495
2005    4655.274 35333.39026 6.460652936 3.610469406
2006 4977.691437 41867.83511 6.595641253 3.763908427
2007 5907.841086 51751.21149 7.562323566 4.032590386
2008 6930.405824 61221.63397 8.434618463 4.335256636
2009 7169.438337 67231.79557 8.390276076  4.32539084
2010 8204.171381  79774.6515 9.209847262 4.593469757
2011 9559.891553 94605.12777 10.30177885 4.937914009
2012 10478.51333 104497.0433 10.80801318 5.038278277
2013 11320.38939 115264.8635 11.24997825 5.141816966
2014  11875.0507 125024.9344 11.34051199 5.187079352
2015 12333.66778 134111.4574 11.33596804  5.20918141
2016 12838.46039 145149.0297 11.42547089 5.283369949
2017 13256.94341 161956.9199 11.34987468 5.534223986
2018 13819.35401 178377.8793 11.43132622 5.728554633
end

* 利用 nl 进行参数校准
nl (xShare = 1/(1+exp({gamma2}))*P1^(1-exp({gamma1}))        /// 
   /(1/(1+exp({gamma2}))*P1^(1-exp({gamma1}))+exp({gamma2})  /// 
   /(1+exp({gamma2}))*P2^(1-exp({gamma1})))*(1+P1*{Cbar1}/Y) /// 
   -P1*{Cbar1}/Y), vce(robust) initial(gamma1 1 gamma2 1 Cbar1 -100)

在上述命令中,gamma1gamma2 是我们进行校准的参数,因此需用 {} 括起来。Y=P1Y1+P2Y2 为社会总产出。在进行估计时使用异方差稳健标准误,在迭代估计时给两个待估参数初值均赋值为 1 维持生存的农产品消费 C1¯ 赋初值为 -100。

在原模型中我们真正需要校准的参数为 w 和 ε,由于我们的模型对两个参数进行了设定,而在使用 nl 命令进行迭代运算时参数取值是不受限制的,为得到我们真正需要校准的受限取值参数,需使用非线性组合命令 nlcom 对上述结果根据取值范围进行限定:

nlcom (epsilon: exp(_b[/gamma1])) (w: 1/(1+exp(_b[/gamma2]))) (Cbar_1: _b[/Cbar1]) 

其中 ε=egamma1w=11+egamm2,通过该命令可将任意取值的参数校准值限定在我们设定的取值范围中,从而得到我们真正关心的参数校准结果。最后的校准结果如下:

Nonlinear regression                      Number of obs =         41
                                          R-squared     =     0.9830
                                          Adj R-squared =     0.9816
                                          Root MSE      =   .0270708
                                          Res. dev.     =  -182.7249
------------------------------------------------------------------------
xShare | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
-------+----------------------------------------------------------------
epsilon|   1.672679   .8482823     1.97   0.049     .0100761    3.335281
     w |   .1390985   .0684974     2.03   0.042     .0048461    .2733509
Cbar_1 |  -193.8921   28.84717    -6.72   0.000    -250.4315   -137.3526
-------------------------------------------------------------------------

由此我们可以得到有关待估参数的校准结果及相关统计信息。

4. 参考文献

  • Paul Gomme and Peter Rupert. Theory, measurement and calibration of macroeconomic models[J]. Journal of Monetary Economics, 2007, 54(2): 460-497. -PDF-
  • Nikolay Iskrev. What to expect when you're calibrating: Measuring the effect of calibration on the estimation of macroeconomic models[J]. Journal of Economic Dynamics and Control, 2019, 99: 54-81. -PDF-
  • Herrendorf Berthold, Richard Rogerson, and Akos Valentinyi. Growth and structural transformation[M]. Handbook of economic growth, 2014, vol. 2: 855-941. -PDF-
  • 郭凯明, 杭静, 徐亚男. 劳动生产率、鲍莫尔病效应与区域结构转型[J]. 经济学动态, 2020, 710(04):79-95. -PDF-
  • 陈昆亭, 周炎. 有限需求、市场约束与经济增长[J]. 管理世界, 2020, 36(04):39-53. -PDF-
  • 张斌, 茅锐. 工业赶超与经济结构失衡[J]. 中国社会科学, 2016, 243(03):80-98+206. -PDF-

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 经济结构转型 模型的求解,
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,700+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会-常见问题解答:
https://gitee.com/lianxh/Course/wikis

New! lianxhsongbl 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh