全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
3803 8
2020-06-14
模型正常做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);

二维码

扫码加我 拉你入群

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

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

全部回复
2020-7-1 18:52:14
我也出现这个问题,请问你解决了吗
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群