|
数学函数,所以我们写了一个;代码如图22所示。Mathematica Function FindMinimum使用方法PrincipalAxis,一个导数em0[yy]B附录in[21]:=黄土[数据,α输入,度]:=模块{α,len=Length[data],halfsamlen,weights,regweights,regdata,ii,result,z,poly,coefs},α=Min马克斯α输入,度+1len, 1.;halfsamlen=整数部分[len*α/2];重量=桌子N 1-Abs萨姆伦33UnitStep 1-Abs萨姆伦33,{ii,-halfsamlen,halfsamlen};系数=表[Unique[“a”],{degree+1}];poly=Sum系数[[ii+1]]zii,{ii,0,度};结果=表格[regweights=Take[weights,{Max[Abs[Min[x-halfsamlen-2,1]],1],2-halfsamlen+1-(Max[x+halfsamlen,len]-len)}];regdata=Take[data,{Max[x-halfsamlen,1],Min[x+halfsamlen,len]}];{data[[x,1]],非线性模型[regdata,poly,coefs,z,Weights]→ regweights][data[[x,1]]},{x,1,len}];后果;图22:Mathematica执行黄土平滑的代码。使用FRED(2015)数据作为输入,将插值顺序设置为线性的插值函数。M0[yy]是货币基础减去储备(货币成分),FREDGDP[yy]PCE[yy]MB[yy]R03[yy]三个月期国库券二级市场利率,FRED series TB3MS。In[69]:=maxyear=2015.0 minyear=1960.0 out[69]=2015。Out[70]=1960。[71]中:=γ=0.0016;在[72]中:=solution=findminium全部的桌子防抱死制动系统ddLog[GDP[yy]/(gg*ff)]Log[M0[yy]/(gg*ff)]M0[yy]ffLog[GDP[yy]/(gg*ff)]Log[M0[yy]/(gg*ff)]-1-PCE[yy],{yy,minyear,maxyear,1/12。}, {ff,600.0},{dd,0.68},{gg,γ},方法→ “原则性”Q0=ff/。溶液[[2]];C0=gg*ff/。溶液[[2]];Δ0=dd/。溶液[[2]];Out[72]={12.324,{ff→ 603.751,dd→ 0.64123,gg→ 0.00059304}图23:Mathematica价格水平拟合代码。第4节中的图15、16和17是用图25中的代码生成的。
|