楼主: rastila
62316 187

[经济学模型] DSGE模型讨论之七——最简单的DSGE模型的Dynare模拟和MLE,Bayesian估计   [推广有奖]

VIP

教授

92%

还不是VIP/贵宾

-

威望
1
论坛币
50650 个
通用积分
109.1549
学术水平
411 点
热心指数
362 点
信用等级
348 点
经验
13936 点
帖子
416
精华
8
在线时间
1404 小时
注册时间
2011-7-16
最后登录
2023-8-26

初级学术勋章 初级信用勋章 初级热心勋章

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
这个notes纯粹是扫盲用的。

我用了一个最简单的线性DSGE,只有两个方程。先是我用手算的方法找到saddle-path 的policy function,然后手算出impulse response function。这些我都用Dynare做了计算,程序和结果都写在note里面。
two-equation.jpg

上面是我note的截图,这个DSGE模型实际上就是一个linear rational expecation model (LREM),但DSGE的线性化后的本质也就是个LRE。虽然这个note提供的模型非常简单,但是思路在于如何用Dynare来深入学习这个动态系统。有几个事情需要大家自己来做:
1. beta和rho的大小,大家从换很多次calibration,看能对IRF带来什么影响?
2. beta和rho都大于1的时候,你应该怎么修改模型,为了维持模型的稳定性?
3. 看修改shock的stardard deviation能对模型带了什么影响?
4. 如果你再加一个方程进去呢?什么样子的方程?

以上内容我都试验过了。这个东西没法帮大家试验,所以大家必须自己试着做。这样你可以学到很多关于动态系统的感性认识。

之后,我用最大似然估计对参数估计,然后我故意制造under-identification的问题,让大家看一下结果是什么样子。最后就是Bayesian estimation,我只估计了1个参数,用了2条平行马尔科夫链,做了超超短程模拟(只有500次,正常情况都是100000),为了省时间(我电脑只用50秒左右),所以我并没有让电脑跑很长的马尔科夫链和多个平行链条。所以结果非常差,但是这不是的目的。目的还是在于让从来没见过整个估计过程的同学看到一个全貌。所以我没有提及理论内容,或者是一带而过。

对于Bayesian estimation,有个地方要注意的就是shock的个数必须大于等observable的个数,这是启动Kalman filter模拟likelihood function的充分条件。Kalman filter是一个极其复杂的算法,计量经济学上面用来模拟likelihood function。以后我会有一个贴子专门来展开Kalman filter的内部结构。

notes下载
Simplest DSGE.pdf (257.99 KB)



关于模型具体推导和模拟的例子,请看第六个帖子
DSGE模型讨论之六——新古典增长模型(入门级DSGE)的推导和Dynare模擬
关于模型求解方法,比如Blanchard-Khan,Uhlig 方法,看第三个帖子
DSGE模型讨论之三——线形理性预期模型(Linear rational expectation model)
如果你连DSGE是什么都不知道,看
针对DSGE模型学习的建议性计划(原创)关于DSGE求解和模型参数估计的一些认识(原创)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Bayesian dsge模型 dynare Bayes DSGE 模型

simplest.pdf

257.99 KB

最简单的DSGE

已有 7 人评分经验 学术水平 热心指数 信用等级 收起 理由
下午咖啡上午茶 + 1 + 1 + 1 热心帮助其他会员
懒小羊 + 1 + 1 + 1 热心帮助其他会员
linquan520147 + 1 + 1 + 1 我很赞同
zhdefei + 1 + 1 + 1 对论坛有贡献
sumukang + 1 + 1 + 1 对论坛有贡献
sfhsky + 100 + 3 + 3 + 3 我很赞同
wangdaoping + 5 + 5 + 5 奖励积极上传好的资料

总评分: 经验 + 100  学术水平 + 13  热心指数 + 13  信用等级 + 13   查看全部评分

本帖被以下文库推荐

沙发
zyjbs 发表于 2012-4-6 18:17:34 |只看作者 |坛友微信交流群
总算看到讨论其了 仁兄 希望您最后能给一个比较复杂的dsge 类似一篇论文的 并且有程序与公式推导过程 这样学习能更好些 功德无量

使用道具

藤椅
rastila 在职认证  发表于 2012-4-6 18:25:26 |只看作者 |坛友微信交流群
zyjbs 发表于 2012-4-6 18:17
总算看到讨论其了 仁兄 希望您最后能给一个比较复杂的dsge 类似一篇论文的 并且有程序与公式推导过程 这样学 ...
你能正常下载这个note么?我好像打不开

使用道具

板凳
gump208 发表于 2012-4-6 18:52:44 |只看作者 |坛友微信交流群
呵呵能打开,多谢rastila~

使用道具

报纸
louis13 发表于 2012-4-6 19:33:38 |只看作者 |坛友微信交流群
写个mod直接debug出来的都是IRF  请问LZ知道如何得出Metropolis-Hastings Sampling的posterior distribution
已有 1 人评分信用等级 收起 理由
黄秀丽 + 1

总评分: 信用等级 + 1   查看全部评分

使用道具

地板
猪人 发表于 2012-4-7 01:17:11 |只看作者 |坛友微信交流群
好东西!lz的水平让人叹服。

我认真拜读了之后再请教lz,由于之前的没发现什么新东西所以就没看,但这次的着实很有料,于是想从头看起。

使用道具

7
mj2012 发表于 2012-4-7 07:17:43 |只看作者 |坛友微信交流群
我用ML估计正确,但贝叶斯估计出错了,Mod 文件和出错信息如下,烦请老师指点:

var x y;
varexo e,u;

parameters rho beta;
beta=0.9;
rho=0.9;
model(linear);
y=beta*y(+1)+x+u;
x=rho*x(-1)+e;
end;
shocks;
var e; stderr 0.1;
var u; stderr 0.1;
end;


stoch_simul(periods=900,order=1,irf=40,drop=400,aim_solver) y x;

save Simul_data y x;
varobs y x;
estimated_params;
rho, normal_pdf, 0.7, 0.2;
end;

//estimation(datafile=Simul_data, mode_check, prefilter=1, order=1, mode_compute=1) y x;
estimation(datafile=Simul_data,prefilter=1,mh_replic=500,mh_nblocks=2,mh_jscale=0.4,mode_compute=1,order=1,bayesian_irf,irf=30,mode_check) y x;

出错信息:

                                Max     Line search  Directional  First-order
Iter F-count        f(x)   constraint   steplength   derivative   optimality Procedure
    0      2      15050.8       -1.272                                         
Error in AIM: aimcode=3 : Aim: too many big roots.
??? Error using ==> mtimes
Inner matrix dimensions must agree.

Error in ==> DsgeLikelihood at 172
    Pstar =
    lyapunov_symm(T,R*Q*R',options_.qz_criterium,options_.lyapunov_complex_threshold);
   
Error in ==> nlconst at 814
                f = feval(funfcn{3},x,varargin{:});

Error in ==> fmincon at 720
    [X,FVAL,LAMBDA,EXITFLAG,OUTPUT,GRAD,HESSIAN]=...

Error in ==> dynare_estimation_1 at 180
            [xparam1,fval,exitflag,output,lamdba,grad,hessian_fmincon] = ...

Error in ==> dynare_estimation at 62
    dynare_estimation_1(var_list,varargin{:});

Error in ==> simplest at 113
dynare_estimation(var_list_);

Error in ==> dynare at 120
evalin('base',fname) ;

使用道具

8
rastila 在职认证  发表于 2012-4-7 14:48:09 |只看作者 |坛友微信交流群
mj2012 发表于 2012-4-7 07:17
我用ML估计正确,但贝叶斯估计出错了,Mod 文件和出错信息如下,烦请老师指点:

var x y;
把下面的命令复制到.mod,然后跑一遍看。
var x y;
varexo e,u;

parameters rho beta;
beta=0.9;
rho=0.9;
model(linear);
y=beta*y(+1)+x+u;
x=rho*x(-1)+e;
end;
shocks;
var e; stderr 0.1;
var u; stderr 0.1;
end;


stoch_simul(periods=900,order=1,irf=40,drop=400, nograph) y x;

save Simul_data y x;
varobs y x;
estimated_params;
rho, normal_pdf, 0.7, 0.2;
end;

//estimation(datafile=Simul_data, mode_check, prefilter=1, order=1, mode_compute=1) y x;
estimation(datafile=Simul_data,prefilter=1,mh_replic=500,mh_nblocks=2,mh_jscale=0.4,mode_compute=1,order=1,bayesian_irf,irf=30,mode_check) y x;

我去掉了"aim_solver"。你可能会得到下面这张图:
Untitled_CheckPlots1.jpg
这个图横轴上的红点,都是违反BK condition的地方。


使用道具

9
mj2012 发表于 2012-4-7 21:58:49 |只看作者 |坛友微信交流群
谢谢老师,对比了一下文件,出错在这里:
stoch_simul(periods=900,order=1,irf=40,drop=400,nograph) y x;

我原来的文件里是:
stoch_simul(periods=900,order=1,irf=40,drop=400,aim_solver) y x;

在最后一个参数的差别,不解,看了reference manual,这里这样讲的:
Use the Anderson-Moore Algorithm (AIM) to compute the decision rules, instead
of using Dynare’s default method based on a generalized Schur decomposition. This
option is only valid for first order approximation. See AIM website for more details
on the algorithm.
难道说这个算法有问题?

使用道具

10
rastila 在职认证  发表于 2012-4-8 04:45:04 |只看作者 |坛友微信交流群
mj2012 发表于 2012-4-7 21:58
谢谢老师,对比了一下文件,出错在这里:
stoch_simul(periods=900,order=1,irf=40,drop=400,nograph) y x ...
这个算法没有问题。我感觉问题出在模型某个设置上面,模型的某个地方和这个算法有冲突,但是模型能够被这个算法解出saddle-path,但这个算法在参数估计的时候和模型发生冲突,导致某个地方的矩阵维度坍塌下来了,第一个红色错误信息,
??? Error using ==> mtimes
Inner matrix dimensions must agree.

这个技术错误是来自Matlab的,不是Dynare。我需要想一下,如果不是程序的bug,那就一定是某个地方我模型设置和AIM冲突了。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-7 23:32