| 所在主题: | |
| 文件名: Basics.rar | |
| 资料下载链接地址: https://bbs.pinggu.org/a-1096805.html | |
本附件包括:
|
|
| 附件大小: | |
|
在网上直接下载的源程序,不知道为什么我运行不了。gauss求助程序解释。另求该怎么修改可运行出结果?
/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Decomposition of REAL GNP into random walk (stochastic trend) component vs. stationary (cyclical) component Model: y_t = y_{1t} + y_{2t} Trend: y_{1t}=g_{t-1} + y_{1,t-1} + v_t,v_t -- i.i.d. N(0,sigma_v^2) g_t = g_{t-1} + w_t w_t -- i.i.d. N(0,sigma_w^2) Cycle: y_{2t}=phi_1* y_{2,t-1} + phi_2* y_{2,t-2} + u_t, u_t -- i.i.d. N(0,sigma_u^2) cjkim@korea.ac.kr WRITTEN BY C.J. KIM, DEPT. OF ECONOMICS, KOREA UNIVERSITY +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ new; libraryoptmum, pgraph;——————这是什么意思啊 format /m1 /rd 9,6; load data[195,1]=gdp4795.prn;@Real GDP 1947.1 - 1995.3; From CITIBASE@ yy= LN(data[1:195,1]); t=rows(yy); @ Maximum Likelihood Estimation @ START=21;@1951.I @ prmtr_in={ 22221 }; PRMTR_IN=PRMTR_IN'; @Initial values of the parameters @ {xout,fout,gout,cout}=optmum(&lik_fcn,PRMTR_IN); @ prmtr estimates, -log lik value, Grandient, code@ prm_fnl=trans(xout); "Calculating Hessian..... Please be patient!!!!"; hessn0=hessp(&lik_fcn,xout); cov0=inv(hessn0); grdn_fnl=gradfd(&TRANS,xout); cov=grdn_fnl*cov0*grdn_fnl'; SD =sqrt(diag(cov)); @Standard errors of the estimated coefficients@ output file=clrk_uc1.out reset; "==FINAL OUTPUT========================================================"; "initial values of prmtr is"; trans(prmtr_in)'; "=============================================================="; "likelihood value is ";; -fout; "code";;cout; "Estimated parameters are:"; prm_fnl'; XOUT'; "Standard errors of parameters are:"; sd'; OUTPUT OFF; DATA = filter(xout); output file=clrk_uc1.dta reset; yy[start:t]~DATA; output off; XY(SEQA(1,1,ROWS(DATA)),YY[START:T,1]~DATA[.,1]); XY(SEQA(1,1,ROWS(DATA)),DATA[.,2]~zeros(rows(data),1)); XY(SEQA(1,1,ROWS(DATA)),DATA[.,3]); @ end OF MAIN PROGRAM @ @========================================================================@ @========================================================================@ proc LIK_FCN(PRMTR1); local SV,SE,F,H,Q,R,BETA_LL,P_LL,BETA_TL,P_TL,BETA_TT,P_TT,vt,ft, VAL, LIK_MAT,J_ITER, phi1,phi2,vecpll,prmtr,mu,SW; PRMTR=TRANS(PRMTR1); LOCATE 20,1;PRMTR'; SV=PRMTR[1,1];@s.e. of the random walk component@ SE=PRMTR[2,1];@s.e. of the AR component@ SW=PRMTR[3,1]; phi1=prmtr[4,1]; phi2=prmtr[5,1]; F=(1~0~0~1)| (0~phi1~phi2~0)| (0~1~0~0)| (0~0~0~1); H=1~1~0~0; Q= ZEROS(4,4); Q[1,1]=SV^2; Q[2,2]=SE^2;Q[4,4]=SW^2; R= 0; BETA_LL=0|0|0|0; P_LL=EYE(4)*100; LIK_MAT=ZEROS(T,1); J_ITER = 1; do until J_ITER>T; BETA_TL = F * BETA_LL ; P_TL = F * P_LL * F' + Q; vt=yy[j_iter,1] - H * BETA_TL ; @prediction error@ ft= H * P_TL * H' + R; @variance of forecast error@ BETA_TT= BETA_TL + P_TL * H' * inv(ft) * vt; P_TT= P_TL - P_TL * H' * inv(ft) * H * P_TL; LIK_MAT[J_ITER,1] =-0.5*(LN(2*pi*ft) + vt^2/ft); BETA_LL=BETA_TT; P_LL=P_TT; J_ITER = J_ITER+1; endo; VAL =-SUMC(LIK_MAT[START:T]); LOCATE 2,20;VAL; retp(VAL); endp; @>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>@ proc FILTER(PRMTR1); local SV,SE,F,H,Q,R,BETA_LL,P_LL,BETA_TL,P_TL,BETA_TT,P_TT, vt,ft, VAL, LIK_MAT,J_ITER, phi1,phi2,vecpll,prmtr,mu,SW,BETA_MAT; BETA_MAT=ZEROS(T,3); LIK_MAT=ZEROS(T,1); PRMTR=TRANS(PRMTR1); LOCATE 20,1;PRMTR'; SV=PRMTR[1,1];@s.e. of the random walk component@ SE=PRMTR[2,1];@s.e. of the AR component@ SW=PRMTR[3,1]; phi1=prmtr[4,1]; phi2=prmtr[5,1]; F=(1~0~0~1)| (0~phi1~phi2~0)| (0~1~0~0)| (0~0~0~1); H=1~1~0~0; Q= ZEROS(4,4); Q[1,1]=SV^2; Q[2,2]=SE^2;Q[4,4]=SW^2; R= 0; BETA_LL=0|0|0|0;@initial value @ P_LL=EYE(4)*100; J_ITER = 1; do until J_ITER>T; BETA_TL = F * BETA_LL ; P_TL = F * P_LL * F' + Q; vt=yy[j_iter,1] - H * BETA_TL ; @prediction error@ ft= H * P_TL * H' + R; @variance of forecast error@ BETA_TT= BETA_TL + P_TL * H' * inv(ft) * vt; P_TT= P_TL - P_TL * H' * inv(ft) * H * P_TL; BETA_MAT[J_ITER,.]=BETA_TT[1,1]~BETA_TT[2,1]~BETA_TT[4,1]; BETA_LL=BETA_TT; P_LL=P_TT; J_ITER = J_ITER+1; endo; retp(BETA_MAT[START:T,.]); endp; @================================================================@ proc TRANS(c0); @ constraining values of reg. coeff.@ local c1,d1,d2; c1=c0; c1[1:3,.]=exp(-1*c0[1:3,.])/10; d1=c0[4,1]./(1+abs(c0[4,1])); d2=c0[5,1]./(1+abs(c0[5,1])); c1[4,1]=d1+d2; c1[5,1]= -1* d1*d2 ; retp(c1); endp; 请大虾给看看,稍稍指点下,不胜感激。 |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明