有人能建议一些SAS代码来解决一个小的非线性动态模型吗?模型内生变量是: 日志(消费) 日志(投资) 日志(价格水平) 短期利率 长期利率 输出。 我试图使用proc模型,但由于输出标识是水平的,而需求组件的方程式是对数项,因此我遇到了收敛问题。
谢谢
===========
谢谢大家的回答/评论。我用于估算的代码是:
proc model outmodel=fair_model;
var py rs delta_log_e rb log_pm ys DUM1997 e rs_us pop py_us y i t c x im stat;
parms c0-c3 i0-i2 p0-p4 r0-r4 b0-b4 e0-e3;
eq.Consumption = c0 + c1*lag(log(c/pop)) + c2*rb + c3*log(y/pop) - log(c/pop);
eq.Investment = i0 + i1*lag(log(i/y)) + i2*rb - log(i/y);
eq.Price = p0 + p1*lag(log(py)) + p2*log_pm + p3*(y/ys-1) + p4*t - log(py);
eq.Interest_Rate = r0 + r1*lag(rs) + r2*((py-lag4(py))/lag4(py)) + r3*(y/ys-1) + r4*DUM1997 - rs;
eq.Int_Rate = b0 + b1*(lag1(rb)- lag2(rs)) + b2*(rs-lag2(rs)) + b3*(lag1(rs)- lag2(rs)) +b4*(lag2(rs)) - rb;
eq.Exchange_Rate = e0 + e1*lag(delta_log_e) + e2*(log(py/py_us)-log(lag(e))) + e3*(log((1+rs/100)/(1+rs_us/100))) - delta_log_e;
eq.income = c + i + g + x - im + stat - y;
run;
quit;
*使用模型拟合数据,得到估计值;
proc model model=fair_model outmodel=fair_model;
fit Consumption Investment Price Interest_Rate Int_Rate Exchange_Rate/data=fair2 outest=outest2 n2sls;
instruments log_pm del_y del_py g x im del_log_i;
run;
quit;
然后只使用solve命令来解决模型并运行模拟。一个问题似乎与在级别中指定的收入标识有关,而另一个方程在日志条款中指定。我试图在收入等式中将c和i重新指定为exp(log(c))和exp(log(i)),甚至试图在日志条件中使用近似的收入身份,但它没有帮助收敛问题。任何进一步的想法将不胜感激。
答案 0 :(得分:0)