⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optim1_d.m

📁 计量工具箱
💻 M
字号:
% PURPOSE: An example using dfp_min, frpr_min, pow_min, maxlik%                           %  to solve a Tobit (censored) regression maximum%  likelihood problem                           %---------------------------------------------------% USAGE: optim1_d%---------------------------------------------------% generate uncensored datan=200; k=8; randn('seed',20201); x = randn(n,k); beta = ones(k,1);y = x*beta + randn(n,1);% now censor the datafor i=1:n if y(i,1) < 0, y(i,1) = 0.0; end;end;% use ols for starting valuesres = ols(y,x); b = res.beta; sige = res.sige; parm = [b          sige];  % starting values info.maxit = 1000;      % solve using frpr_min routineresult1 = frpr_min('to_like1',parm,info,y,x);% solve using dfp_min routineresult2 = dfp_min('to_like1',parm,info,y,x);% solve using pow_min routineresult3 = pow_min('to_like1',parm,info,y,x);% solve using maxlik routineinfo2.method = 'bfgs'; result4 = maxlik('to_like1',parm,info2,y,x);% formatting information for mprint routinecnames = strvcat('fprf','dfp','powell','bfgs'); in.fmt = '%8.4f';fprintf(1,'comparison of  estimates \n');rnames = strvcat('parameters');for i=1:k;bstring = ['b' num2str(i)];rnames = strvcat(rnames,bstring);end;rnames = strvcat(rnames,'sigma');in.cnames = cnames;in.rnames = rnames;in.fmt = '%12.4f';mprint([result1.b result2.b result3.b result4.b],in);fprintf(1,'comparison of likelihood functions \n');in2.cnames = cnames;mprint([result1.f result2.f result3.f result4.f],in2);in.fmt = '%4d'; fprintf(1,'comparison of # of iterations \n');mprint([result1.iter result2.iter result3.iter result4.iter],in2);fprintf(1,'comparison of hessians \n'); in3.fmt = '%8.2f';fprintf(1,'fprf hessian');   mprint(result1.hess,in3);fprintf(1,'dfp hessian');    mprint(result2.hess,in3);fprintf(1,'powell hessian'); mprint(result3.hess,in3);fprintf(1,'maxlik hessian'); mprint(result4.hess,in3);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -