楼主: 474687098
3918 8

DSGE贝叶斯估计问题!! [推广有奖]

  • 0关注
  • 0粉丝

大专生

73%

还不是VIP/贵宾

-

威望
0
论坛币
57 个
通用积分
2.1577
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
625 点
帖子
13
精华
0
在线时间
92 小时
注册时间
2018-11-19
最后登录
2024-3-22

楼主
474687098 发表于 2020-6-14 23:42:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
模型正常做dynare能出结果,但是放到贝叶斯估计里面就出现
STEADY-STATE RESULTS:

Y                       0.605788
C                       0.429185
I                       0.0845228
K                       0.845228
L                       0.978982
W                       0.297021
R                       0.120408
A                       1
r                       0.0204082
Po                      1
O                       0.0920797
q                       1
B                       -5.93672
G                       1
gy_obs                  1
gc_obs                  1
gp_obs                  1

EIGENVALUES:
         Modulus             Real        Imaginary

               0                0                0
       5.962e-16       -5.962e-16                0
         8.9e-16          8.9e-16                0
             0.5              0.5                0
             0.5              0.5                0
             0.5              0.5                0
          0.8457            0.843          0.06736
          0.8457            0.843         -0.06736
            1.02             1.02                0
           1.207              1.2           0.1252
           1.207              1.2          -0.1252
       7.303e+18       -7.303e+18                0
       2.994e+19        2.994e+19                0


There are 5 eigenvalue(s) larger than 1 in modulus
for 5 forward-looking variable(s)

The rank condition is verified.


You did not declare endogenous variables after the estimation/calib_smoother command.

dynare_estimation_init:: The steady state at the initial parameters cannot be computed.
错误使用 print_info (line 32)
The steadystate file did not compute the steady state

出错 dynare_estimation_init (line 603)
    print_info(info, 0, options_);

出错 dynare_estimation_1 (line 112)
    dynare_estimation_init(var_list_, dname, [], M_, options_, oo_, estim_params_, bayestopt_);

出错 dynare_estimation (line 105)
    dynare_estimation_1(var_list,dname);

出错 estimation.driver (line 300)
oo_recursive_=dynare_estimation(var_list_);

出错 dynare (line 293)
evalin('base',[fname '.driver']) ;

可是我的内生变量都写上去了:
var Y, C, I , K, L, W, R, A, r, Po, O, q, B, G, gy_obs, gc_obs, gp_obs;

varexo e, u, o;

parameters alpha1, alpha2, beta, delta, zhi, rhoa, rhopo, rhog,
sigmal, sigmac, psi;

alpha1=0.21;
alpha2=0.19;
beta=0.98;
delta=0.1;
sigmac=1.4;
sigmal=1.4;
zhi=5;
rhoa=0.5;
rhopo=0.5;
rhog=0.5;
psi=6;

model;
L^(sigmal)=C^(-sigmac)*W;
q*(C(+1)/C)^(sigmac)=beta*(R(+1)+q(+1)*(1-delta));
q*(1-psi/2*(I/I(-1)-1)^2-psi*(I/I(-1)-1)*I/I(-1))
+beta*(C/C(+1))^(sigmac)*q(+1)*psi*(I(+1)/I-1)*(I(+1)/I)^2=1;
(C(+1)/C)^(sigmac)=beta*(1+r);
C+I+(1+r(-1))*B(-1)+log(G)=W*L+R*K(-1)+B;
//log(G)+B=(1+r(-1))*B(-1);
Y=A*L^(1-alpha1-alpha2)*K(-1)^(alpha1)*O^(alpha2);
K=I*(1-psi/2*(I/I(-1)-1)^2)+(1-delta)*K(-1);
Y=I+C+Po*O;
Po=(zhi-1)/zhi*alpha2*Y/O;
W*L=(1-alpha1-alpha2)/alpha2*Po*O;
R*K(-1)=alpha1/alpha2*Po*O;
log(A(+1))=rhoa*log(A)+e;
log(Po)=rhopo*log(Po(-1))+u;
log(G)=rhog*log(G(-1))+o;
gy_obs=Y/Y(-1);
gc_obs=C/C(-1);
gp_obs=Po/Po(-1);
end;

shocks;
var e; stderr 0.009;
var u; stderr 0.009;
var o;stderr 0.009;
end;

steady_state_model;
Y          =         0.605788;
C          =         0.429185;
I          =         0.0845228;
K          =         0.845228;
L          =         0.978982;
W          =         0.297021;
R          =         0.120408;
A          =         1;
r          =         0.0204082;
Po         =         1;
O          =         0.0920797;
q          =         1;
B          =         -5.93672;
G          =         1;


gy_obs=1;
gc_obs=1;
gp_obs=1;
end;

steady;

check;

estimated_params;
sigmac, gamma_pdf, 1.5, 0.25;
sigmal, gamma_pdf, 2, 0.25;
rhog, beta_pdf, 0.5, 0.2;
rhoa, beta_pdf, 0.5, 0.2;
rhopo, beta_pdf, 0.5, 0.2;
stderr e, inv_gamma_pdf, 0.1, inf;
stderr u, inv_gamma_pdf, 0.1, inf;
stderr o, inv_gamma_pdf, 0.1, inf;
end;

varobs gy_obs, gc_obs, gp_obs;

estimation(order=1, datafile=data_simul, nobs=39, mh_replic=2000, mh_nblocks=2, mh_jscale=0.8);

二维码

扫码加我 拉你入群

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

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

关键词:贝叶斯估计 DSGE 贝叶斯 Eigenvalues Estimation

已有 1 人评分经验 论坛币 收起 理由
linmengmiki + 100 + 100 鼓励积极发帖讨论

总评分: 经验 + 100  论坛币 + 100   查看全部评分

沙发
becauseofuu 学生认证  发表于 2020-7-1 18:52:14
我也出现这个问题,请问你解决了吗

藤椅
lanying8103 学生认证  发表于 2020-7-3 08:29:02
becauseofuu 发表于 2020-7-1 18:52
我也出现这个问题,请问你解决了吗
我也在贝叶斯估计时候遇到了问题,参数校准时候都ok,贝叶斯估计就会出现静态方程残差不为0,以及稳态无法求解的问题。但是我模型是用了对数线性化的,那稳态不是就是0么,为啥估计的时候就没法求解了呢。看到您最近活跃在DSGE相关问题上,很想请教您,和您讨论讨论~

板凳
becauseofuu 学生认证  发表于 2020-7-3 21:46:52
lanying8103 发表于 2020-7-3 08:29
我也在贝叶斯估计时候遇到了问题,参数校准时候都ok,贝叶斯估计就会出现静态方程残差不为0,以及稳态无法 ...
那你可以跑出脉冲响应吗?好像只要是残差不为0就是稳态求错了,对数线性的稳态也不一定都为0呢。我是非线性的模型,求解很复杂,我试着手解出结果,可以跑脉冲。但残差还是NaN,说明还是要代码解才行呢,难搞

报纸
lanying8103 学生认证  发表于 2020-7-4 10:31:14
becauseofuu 发表于 2020-7-3 21:46
那你可以跑出脉冲响应吗?好像只要是残差不为0就是稳态求错了,对数线性的稳态也不一定都为0呢。我是非线 ...
我的现在不能出脉冲呐,我的相当于估计的时候模型无法求解。你的是不是校准的时候残差为0,但是估计的时候残差不为0了?

地板
474687098 发表于 2020-7-29 22:54:31
becauseofuu 发表于 2020-7-1 18:52
我也出现这个问题,请问你解决了吗
实在抱歉,我后面是修改了整体模型最后才出来结果。具体问题我也不知道原因是什么。哎,DSGE模型方面太多问题不知道该到哪里去找解答。建议可以去dynare的官方论坛上问问,我看过一些解答,回复的还挺详细的,会看你整体的模型。

7
2021hahaha 发表于 2022-10-15 11:38:05
474687098 发表于 2020-7-29 22:54
实在抱歉,我后面是修改了整体模型最后才出来结果。具体问题我也不知道原因是什么。哎,DSGE模型方面太多 ...
请教一下前辈,您的model代码里面为什么变量没有用exp( )形式的呢?(初学小白,上课学的只是变了指数形式的代码,一直没搞懂原理是什么

8
娃娃那个帅 发表于 2023-2-14 12:35:46
becauseofuu 发表于 2020-7-1 18:52
我也出现这个问题,请问你解决了吗
您好,目前这么问题解决了吗?

9
李福安 发表于 2023-3-27 09:37:18
把steady_state_model改成initval试试呢

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 08:01