1242 lines
95 KiB
HTML
1242 lines
95 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Description of dynare_estimation</title>
|
||
|
<meta name="keywords" content="dynare_estimation">
|
||
|
<meta name="description" content="">
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||
|
<meta name="generator" content="m2html © 2003 Guillaume Flandin">
|
||
|
<meta name="robots" content="index, follow">
|
||
|
<link type="text/css" rel="stylesheet" href="../m2html.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<a name="_top"></a>
|
||
|
<div><a href="../index.html">Home</a> > <a href="index.html">.</a> > dynare_estimation.m</div>
|
||
|
|
||
|
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td>
|
||
|
<td align="right"><a href="index.html">Index for . <img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
|
||
|
|
||
|
<h1>dynare_estimation
|
||
|
</h1>
|
||
|
|
||
|
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="box"><strong></strong></div>
|
||
|
|
||
|
<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="box"><strong>function dynare_estimation(var_list_) </strong></div>
|
||
|
|
||
|
<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="fragment"><pre class="comment"></pre></div>
|
||
|
|
||
|
<!-- crossreference -->
|
||
|
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
This function calls:
|
||
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
||
|
<li><a href="CheckPath.html" class="code" title="function DirectoryName = CheckPath(type)">CheckPath</a> 06-03-2005</li><li><a href="CutSample.html" class="code" title="function CutSample()">CutSample</a> stephane.adjemian@ens.fr [09-09-2005]</li><li><a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a> stephane.adjemian@cepremap.cnrs.fr [09-07-2004]</li><li><a href="DsgeSmoother.html" class="code" title="function [alphahat,etahat,epsilonhat,ahat,SteadyState,trend_coeff,aK] = DsgeSmoother(xparam1,gend,Y)">DsgeSmoother</a> stephane.adjemian@cepremap.cnrs.fr [09-07-2004]</li><li><a href="GetPosteriorParametersStatistics.html" class="code" title="function GetPosteriorParametersStatistics()">GetPosteriorParametersStatistics</a> stephane.adjemian@ens.fr [09-09-2005]</li><li><a href="McMCDiagnostics.html" class="code" title="function McmcDiagnostic">McMCDiagnostics</a> stephane.adjemian@ens.fr [06-04-2005]</li><li><a href="PlotPosteriorDistributions.html" class="code" title="function PlotPosteriorDistributions()">PlotPosteriorDistributions</a> stephane.adjemian@ens.fr [09-09-2005]</li><li><a href="PosteriorIRF.html" class="code" title="function PosteriorIRF(type)">PosteriorIRF</a> stephane.adjemian@ens.fr [09-25-2005]</li><li><a href="asamin.html" class="code" title="">asamin</a> ASAMIN A gateway function to Adaptive Simulated Annealing (ASA)</li><li><a href="csminwel.html" class="code" title="function [fh,xh,gh,H,itct,fcount,retcodeh] = csminwel(fcn,x0,H0,grad,crit,nit,varargin)">csminwel</a> [fhat,xhat,ghat,Hhat,itct,fcount,retcodehat] = csminwel(fcn,x0,H0,grad,crit,nit,varargin)</li><li><a href="generalized_cholesky.html" class="code" title="function AA = generalized_cholesky(A);">generalized_cholesky</a> proc gmchol(A);</li><li><a href="hessian.html" class="code" title="function hessian_mat = hessian(func,x,varargin)">hessian</a> Copyright (C) 2001 Michel Juillard</li><li><a href="initial_estimation_checks.html" class="code" title="function initial_estimation_checks(xparam1,gend,data)">initial_estimation_checks</a> </li><li><a href="marginal_density.html" class="code" title="function marginal = marginal_density()">marginal_density</a> stephane.adjemian@ens.fr [09-09-2005]</li><li><a href="metropolis.html" class="code" title="function metropolis(xparam1,vv,gend,data,rawdata,mh_bounds)">metropolis</a> stephane.adjemian@ens.fr [09-02-2005]</li><li><a href="metropolis_draw.html" class="code" title="function [xparams, logpost]=metropolis_draw(init)">metropolis_draw</a> </li><li><a href="mode_check.html" class="code" title="function mode_check(x,fval,hessian,gend,data,lb,ub)">mode_check</a> </li><li><a href="newrat.html" class="code" title="function [xparam1, hh, gg, fval, igg] = newrat(func0, x, hh, gg, igg, ftol0, nit, flagg, varargin)">newrat</a> </li><li><a href="plot_priors.html" class="code" title="function plot_priors">plot_priors</a> stephane.adjemian@cepremap.cnrs.fr [07-31-2004]</li><li><a href="pltorg.html" class="code" title="function [nbplt,nr,nc,lr,lc,nstar] = pltorg(number)">pltorg</a> stephane.adjemian@cepremap.cnrs.fr [06-07-2004]</li><li><a href="prior_bounds.html" class="code" title="function bounds = prior_bounds(bayestopt)">prior_bounds</a> </li><li><a href="read_variables.html" class="code" title="function dyn_data_01=read_variables(file_name_01,var_names_01,dyn_data_01,xls_sheet,xls_range)">read_variables</a> Copyright (C) 2005 Michel Juillard</li><li><a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a> </li><li><a href="set_prior.html" class="code" title="function [xparam1,estim_params_,bayestopt_,lb,ub]=set_prior(estim_params_)">set_prior</a> </li><li><a href="set_state_space.html" class="code" title="function dr=set_state_space(dr)">set_state_space</a> Copyright (C) 2001 Michel Juillard</li><li><a href="union.html" class="code" title="function x = union(a,b)">union</a> </li></ul>
|
||
|
This function is called by:
|
||
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
||
|
</ul>
|
||
|
<!-- crossreference -->
|
||
|
|
||
|
|
||
|
<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
||
|
<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function dynare_estimation(var_list_)</a>
|
||
|
0002
|
||
|
0003 <span class="keyword">global</span> M_ options_ oo_ estim_params_
|
||
|
0004 <span class="keyword">global</span> bayestopt_
|
||
|
0005
|
||
|
0006 <span class="comment">% temporary fix until M_.H is initialized by the parser</span>
|
||
|
0007 M_.H = [];
|
||
|
0008
|
||
|
0009 options_.varlist = var_list_;
|
||
|
0010 options_.lgyidx2varobs = zeros(size(M_.endo_names,1),1);
|
||
|
0011 <span class="keyword">for</span> i = 1:size(M_.endo_names,1)
|
||
|
0012 tmp = strmatch(deblank(M_.endo_names(i,:)),options_.varobs,<span class="string">'exact'</span>);
|
||
|
0013 <span class="keyword">if</span> ~isempty(tmp)
|
||
|
0014 options_.lgyidx2varobs(i,1) = tmp;
|
||
|
0015 <span class="keyword">end</span>
|
||
|
0016 <span class="keyword">end</span>
|
||
|
0017
|
||
|
0018 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'first_obs'</span>,1);
|
||
|
0019 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'prefilter'</span>,0);
|
||
|
0020 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'presample'</span>,0);
|
||
|
0021 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'lik_algo'</span>,1);
|
||
|
0022 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'lik_init'</span>,1);
|
||
|
0023 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'nograph'</span>,0);
|
||
|
0024 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_conf_sig'</span>,0.90);
|
||
|
0025 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_replic'</span>,20000);
|
||
|
0026 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_drop'</span>,0.5);
|
||
|
0027 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_jscale'</span>,0.2);
|
||
|
0028 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_init_scale'</span>,2*options_.mh_jscale);
|
||
|
0029 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mode_file'</span>,<span class="string">''</span>);
|
||
|
0030 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mode_compute'</span>,4);
|
||
|
0031 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mode_check'</span>,0);
|
||
|
0032 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'prior_trunc'</span>,1e-10);
|
||
|
0033 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_mode'</span>,1);
|
||
|
0034 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'mh_nblck'</span>,2);
|
||
|
0035 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'load_mh_file'</span>,0);
|
||
|
0036 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'nodiagnostic'</span>,0);
|
||
|
0037 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'loglinear'</span>,0);
|
||
|
0038 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'unit_root_vars'</span>,[]);
|
||
|
0039 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'XTick'</span>,[]);
|
||
|
0040 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'XTickLabel'</span>,[]);
|
||
|
0041 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'bayesian_irf'</span>,0);
|
||
|
0042 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'bayesian_th_moments'</span>,0);
|
||
|
0043 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'TeX'</span>,0);
|
||
|
0044 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'irf'</span>,40);
|
||
|
0045 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'relative_irf'</span>,0);
|
||
|
0046 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'order'</span>,1);
|
||
|
0047 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'ar'</span>,5);
|
||
|
0048 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'dr_algo'</span>,0);
|
||
|
0049 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'linear'</span>,0);
|
||
|
0050 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'drop'</span>,0);
|
||
|
0051 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'replic'</span>,1);
|
||
|
0052 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'hp_filter'</span>,0);
|
||
|
0053 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'forecast'</span>,0);
|
||
|
0054 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'smoother'</span>,0);
|
||
|
0055 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'moments_varendo'</span>,0);
|
||
|
0056 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'filtered_vars'</span>,0);
|
||
|
0057 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'kalman_algo'</span>,1);
|
||
|
0058 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'kalman_tol'</span>,10^(-12));
|
||
|
0059 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'posterior_mode_estimation'</span>,1);
|
||
|
0060 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'MaxNumberOfBytes'</span>,1e6);
|
||
|
0061 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'xls_sheet'</span>,<span class="string">''</span>);
|
||
|
0062 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'xls_range'</span>,<span class="string">''</span>);
|
||
|
0063 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'filter_step_ahead'</span>,0);
|
||
|
0064 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'diffuse_d'</span>,[]);
|
||
|
0065 <span class="keyword">if</span> options_.filtered_vars ~= 0 & options_.filter_step_ahead == 0
|
||
|
0066 options_.filter_step_ahead = 1;
|
||
|
0067 <span class="keyword">end</span>
|
||
|
0068 <span class="keyword">if</span> options_.filter_step_ahead ~= 0
|
||
|
0069 options_.nk = max(options_.filter_step_ahead);
|
||
|
0070 <span class="keyword">else</span>
|
||
|
0071 options_.nk = 0;
|
||
|
0072 <span class="keyword">end</span>
|
||
|
0073
|
||
|
0074 <span class="comment">%% Add something to the parser ++></span>
|
||
|
0075 M_.dname = M_.fname; <span class="comment">% The user should be able to choose another name</span>
|
||
|
0076 <span class="comment">% for the directory...</span>
|
||
|
0077
|
||
|
0078
|
||
|
0079 pnames = [<span class="string">' '</span>;<span class="string">'beta '</span>;<span class="string">'gamm '</span>;<span class="string">'norm '</span>;<span class="string">'invg '</span>;<span class="string">'unif '</span>;<span class="string">'invg2'</span>];
|
||
|
0080 n_varobs = size(options_.varobs,1);
|
||
|
0081
|
||
|
0082 [xparam1,estim_params_,bayestopt_,lb,ub] = <a href="set_prior.html" class="code" title="function [xparam1,estim_params_,bayestopt_,lb,ub]=set_prior(estim_params_)">set_prior</a>(estim_params_);
|
||
|
0083
|
||
|
0084 <span class="keyword">if</span> any(bayestopt_.pshape > 0)
|
||
|
0085 <span class="keyword">if</span> options_.mode_compute
|
||
|
0086 <a href="plot_priors.html" class="code" title="function plot_priors">plot_priors</a>
|
||
|
0087 <span class="keyword">end</span>
|
||
|
0088 <span class="keyword">else</span>
|
||
|
0089 options_.mh_replic = 0;
|
||
|
0090 <span class="keyword">end</span>
|
||
|
0091
|
||
|
0092 bounds = <a href="prior_bounds.html" class="code" title="function bounds = prior_bounds(bayestopt)">prior_bounds</a>(bayestopt_);
|
||
|
0093 bounds(:,1)=max(bounds(:,1),lb);
|
||
|
0094 bounds(:,2)=min(bounds(:,2),ub);
|
||
|
0095
|
||
|
0096 <span class="keyword">if</span> any(xparam1 < bounds(:,1)) | any(xparam1 > bounds(:,2))
|
||
|
0097 find(xparam1 < bounds(:,1))
|
||
|
0098 find(xparam1 > bounds(:,2))
|
||
|
0099 error(<span class="string">'Initial parameter values are outside parameter bounds'</span>)
|
||
|
0100 <span class="keyword">end</span>
|
||
|
0101 lb = bounds(:,1);
|
||
|
0102 ub = bounds(:,2);
|
||
|
0103 bayestopt_.lb = lb;
|
||
|
0104 bayestopt_.ub = ub;
|
||
|
0105
|
||
|
0106 <span class="keyword">if</span> ~isfield(options_,<span class="string">'trend_coeffs'</span>)
|
||
|
0107 bayestopt_.with_trend = 0;
|
||
|
0108 <span class="keyword">else</span>
|
||
|
0109 bayestopt_.with_trend = 1;
|
||
|
0110 bayestopt_.trend_coeff = {};
|
||
|
0111 trend_coeffs = options_.trend_coeffs;
|
||
|
0112 nt = length(trend_coeffs);
|
||
|
0113 <span class="keyword">for</span> i=1:n_varobs
|
||
|
0114 <span class="keyword">if</span> i > length(trend_coeffs)
|
||
|
0115 bayestopt_.trend_coeff{i} = <span class="string">'0'</span>;
|
||
|
0116 <span class="keyword">else</span>
|
||
|
0117 bayestopt_.trend_coeff{i} = trend_coeffs{i};
|
||
|
0118 <span class="keyword">end</span>
|
||
|
0119 <span class="keyword">end</span>
|
||
|
0120 <span class="keyword">end</span>
|
||
|
0121
|
||
|
0122 bayestopt_.penalty = 1e8; <span class="comment">% penalty</span>
|
||
|
0123
|
||
|
0124 nvx = estim_params_.nvx;
|
||
|
0125 nvn = estim_params_.nvn;
|
||
|
0126 ncx = estim_params_.ncx;
|
||
|
0127 ncn = estim_params_.ncn;
|
||
|
0128 np = estim_params_.np ;
|
||
|
0129 nx = nvx+nvn+ncx+ncn+np;
|
||
|
0130
|
||
|
0131 <span class="comment">%% Static solver</span>
|
||
|
0132 <span class="keyword">if</span> exist([M_.fname <span class="string">'_steadystate'</span>])
|
||
|
0133 bayestopt_.static_solve = [M_.fname <span class="string">'_steadystate'</span>];
|
||
|
0134 <span class="keyword">else</span>
|
||
|
0135 bayestopt_.static_solve = <span class="string">'dynare_solve'</span>;
|
||
|
0136 <span class="keyword">end</span>
|
||
|
0137
|
||
|
0138 dr = <a href="set_state_space.html" class="code" title="function dr=set_state_space(dr)">set_state_space</a>([]);
|
||
|
0139
|
||
|
0140 <span class="comment">%% Initialization with unit-root variables</span>
|
||
|
0141 <span class="keyword">if</span> ~isempty(options_.unit_root_vars)
|
||
|
0142 n_ur = size(options_.unit_root_vars,1);
|
||
|
0143 i_ur = zeros(n_ur,1);
|
||
|
0144 <span class="keyword">for</span> i=1:n_ur
|
||
|
0145 i1 = strmatch(deblank(options_.unit_root_vars(i,:)),M_.endo_names(dr.order_var,:),<span class="string">'exact'</span>);
|
||
|
0146 <span class="keyword">if</span> isempty(i1)
|
||
|
0147 error(<span class="string">'Undeclared variable in unit_root_vars statement'</span>)
|
||
|
0148 <span class="keyword">end</span>
|
||
|
0149 i_ur(i) = i1;
|
||
|
0150 <span class="keyword">end</span>
|
||
|
0151 <span class="keyword">if</span> M_.maximum_lag > 1
|
||
|
0152 l1 = flipud([cumsum(M_.lead_lag_incidence(1:M_.maximum_lag-1,dr.order_var),1);ones(1,M_.endo_nbr)]);
|
||
|
0153 n1 = nnz(l1);
|
||
|
0154 bayestopt_.Pinf = zeros(n1,n1);
|
||
|
0155 l2 = find(l1');
|
||
|
0156 l3 = zeros(M_.endo_nbr,M_.maximum_lag);
|
||
|
0157 l3(i_ur,:) = l1(:,i_ur)';
|
||
|
0158 l3 = l3(:);
|
||
|
0159 i_ur1 = find(l3(l2));
|
||
|
0160 i_stable = ones(M_.endo_nbr,1);
|
||
|
0161 i_stable(i_ur) = zeros(n_ur,1);
|
||
|
0162 i_stable = find(i_stable);
|
||
|
0163 bayestopt_.Pinf(i_ur1,i_ur1) = diag(ones(1,length(i_ur1)));
|
||
|
0164 bayestopt_.i_var_stable = i_stable;
|
||
|
0165 l3 = zeros(M_.endo_nbr,M_.maximum_lag);
|
||
|
0166 l3(i_stable,:) = l1(:,i_stable)';
|
||
|
0167 l3 = l3(:);
|
||
|
0168 bayestopt_.i_T_var_stable = find(l3(l2));
|
||
|
0169 <span class="keyword">else</span>
|
||
|
0170 n1 = M_.endo_nbr;
|
||
|
0171 bayestopt_.Pinf = zeros(n1,n1);
|
||
|
0172 bayestopt_.Pinf(i_ur,i_ur) = diag(ones(1,length(i_ur)));
|
||
|
0173 l1 = ones(M_.endo_nbr,1);
|
||
|
0174 l1(i_ur,:) = zeros(length(i_ur),1);
|
||
|
0175 bayestopt_.i_T_var_stable = find(l1);
|
||
|
0176 <span class="keyword">end</span>
|
||
|
0177 options_.lik_init = 3;
|
||
|
0178 <span class="keyword">end</span> <span class="comment">% if ~isempty(options_.unit_root_vars)</span>
|
||
|
0179
|
||
|
0180 <span class="keyword">if</span> isempty(options_.datafile)
|
||
|
0181 error(<span class="string">'ESTIMATION: datafile option is missing'</span>)
|
||
|
0182 <span class="keyword">end</span>
|
||
|
0183
|
||
|
0184 <span class="keyword">if</span> isempty(options_.varobs)
|
||
|
0185 error(<span class="string">'ESTIMATION: VAROBS is missing'</span>)
|
||
|
0186 <span class="keyword">end</span>
|
||
|
0187
|
||
|
0188
|
||
|
0189 <span class="comment">%% If jscale isn't specified for an estimated parameter, use</span>
|
||
|
0190 <span class="comment">%% global option options_.jscale, set to 0.2, by default</span>
|
||
|
0191 k = find(isnan(bayestopt_.jscale));
|
||
|
0192 bayestopt_.jscale(k) = options_.mh_jscale;
|
||
|
0193
|
||
|
0194 <span class="comment">%% Read and demean data</span>
|
||
|
0195 rawdata = <a href="read_variables.html" class="code" title="function dyn_data_01=read_variables(file_name_01,var_names_01,dyn_data_01,xls_sheet,xls_range)">read_variables</a>(options_.datafile,options_.varobs,[],options_.xls_sheet,options_.xls_range);
|
||
|
0196
|
||
|
0197 k = [];
|
||
|
0198 k1 = [];
|
||
|
0199 <span class="keyword">for</span> i=1:n_varobs
|
||
|
0200 k = [k strmatch(deblank(options_.varobs(i,:)),M_.endo_names(dr.order_var,:),<span class="string">'exact'</span>)];
|
||
|
0201 k1 = [k1 strmatch(deblank(options_.varobs(i,:)),M_.endo_names, <span class="string">'exact'</span>)];
|
||
|
0202 <span class="keyword">end</span>
|
||
|
0203 <span class="comment">% union of observed and state variables</span>
|
||
|
0204 k2 = <a href="union.html" class="code" title="function x = union(a,b)">union</a>(k',[dr.nstatic+1:dr.nstatic+dr.npred]');
|
||
|
0205 <span class="comment">% including variables in t-2 and earlier, if any</span>
|
||
|
0206 k2 = [k2;[M_.endo_nbr+(1:dr.nspred-dr.npred)]'];
|
||
|
0207
|
||
|
0208 <span class="comment">% set restrict_state to postion of observed + state variables</span>
|
||
|
0209 <span class="comment">% in expanded state vector</span>
|
||
|
0210 bayestopt_.restrict_state = k2;
|
||
|
0211 <span class="comment">% set mf1 to positions of observed variables in restricted state vector</span>
|
||
|
0212 <span class="comment">% for likelihood computation</span>
|
||
|
0213 [junk,bayestopt_.mf1] = ismember(k,k2);
|
||
|
0214 <span class="comment">% set mf2 to positions of observed variables in expanded state vector</span>
|
||
|
0215 <span class="comment">% for filtering and smoothing</span>
|
||
|
0216 bayestopt_.mf2 = k;
|
||
|
0217 bayestopt_.mfys = k1;
|
||
|
0218 bayestopt_.Z = zeros(n_varobs,length(k2));
|
||
|
0219 <span class="keyword">for</span> i=1:n_varobs
|
||
|
0220 bayestopt_.Z(i,bayestopt_.mf1(i)) = 1;
|
||
|
0221 <span class="keyword">end</span>
|
||
|
0222
|
||
|
0223 options_ = <a href="set_default_option.html" class="code" title="function options=set_default_option(options,field,default)">set_default_option</a>(options_,<span class="string">'nobs'</span>,size(rawdata,1)-options_.first_obs+1);
|
||
|
0224 gend = options_.nobs;
|
||
|
0225
|
||
|
0226 rawdata = rawdata(options_.first_obs:options_.first_obs+gend-1,:);
|
||
|
0227 <span class="keyword">if</span> options_.loglinear == 1
|
||
|
0228 rawdata = log(rawdata);
|
||
|
0229 <span class="keyword">end</span>
|
||
|
0230 <span class="keyword">if</span> options_.prefilter == 1
|
||
|
0231 bayestopt_.mean_varobs = mean(rawdata,1);
|
||
|
0232 data = transpose(rawdata-ones(gend,1)*bayestopt_.mean_varobs);
|
||
|
0233 <span class="keyword">else</span>
|
||
|
0234 data = transpose(rawdata);
|
||
|
0235 <span class="keyword">end</span>
|
||
|
0236
|
||
|
0237 <span class="keyword">if</span> ~isreal(rawdata)
|
||
|
0238 error([<span class="string">'There are complex values in the data. Probably a wrong'</span> <span class="keyword">...</span>
|
||
|
0239 <span class="string">' transformation'</span>])
|
||
|
0240 <span class="keyword">end</span>
|
||
|
0241
|
||
|
0242 <span class="keyword">if</span> length(options_.mode_file) > 0 & options_.posterior_mode_estimation
|
||
|
0243 eval([<span class="string">'load '</span> options_.mode_file <span class="string">';'</span>]');
|
||
|
0244 <span class="keyword">end</span>
|
||
|
0245
|
||
|
0246 <a href="initial_estimation_checks.html" class="code" title="function initial_estimation_checks(xparam1,gend,data)">initial_estimation_checks</a>(xparam1,gend,data);
|
||
|
0247
|
||
|
0248 <span class="comment">%% Estimation of the posterior mode or likelihood mode</span>
|
||
|
0249 <span class="keyword">if</span> options_.mode_compute > 0 & options_.posterior_mode_estimation
|
||
|
0250 fh=str2func(<span class="string">'DsgeLikelihood'</span>);
|
||
|
0251 <span class="keyword">if</span> options_.mode_compute == 1
|
||
|
0252 optim_options = optimset(<span class="string">'display'</span>,<span class="string">'iter'</span>,<span class="string">'LargeScale'</span>,<span class="string">'off'</span>, <span class="keyword">...</span>
|
||
|
0253 <span class="string">'MaxFunEvals'</span>,100000,<span class="string">'TolFun'</span>,1e-8,<span class="string">'TolX'</span>,1e-6);
|
||
|
0254 <span class="keyword">if</span> isfield(options_,<span class="string">'optim_opt'</span>)
|
||
|
0255 eval([<span class="string">'optim_options = optimset(optim_options,'</span> options_.optim_opt <span class="string">');'</span>]);
|
||
|
0256 <span class="keyword">end</span>
|
||
|
0257 [xparam1,fval,exitflag,output,lamdba,grad,hessian_fmincon] = <span class="keyword">...</span>
|
||
|
0258 fmincon(fh,xparam1,[],[],[],[],lb,ub,[],optim_options,gend,data);
|
||
|
0259 <span class="keyword">elseif</span> options_.mode_compute == 2
|
||
|
0260 <span class="comment">% asamin('set','maximum_cost_repeat',0);</span>
|
||
|
0261 [fval,xparam1,grad,hessian_asamin,exitflag] = <span class="keyword">...</span>
|
||
|
0262 <a href="asamin.html" class="code" title="">asamin</a>(<span class="string">'minimize'</span>,<span class="string">'DsgeLikelihood'</span>,xparam1,lb,ub,- <span class="keyword">...</span>
|
||
|
0263 ones(size(xparam1)),gend,data);
|
||
|
0264 <span class="keyword">elseif</span> options_.mode_compute == 3
|
||
|
0265 optim_options = optimset(<span class="string">'display'</span>,<span class="string">'iter'</span>,<span class="keyword">...</span>
|
||
|
0266 <span class="string">'MaxFunEvals'</span>,100000,<span class="string">'TolFun'</span>,1e-8,<span class="string">'TolX'</span>,1e-6);
|
||
|
0267 <span class="keyword">if</span> isfield(options_,<span class="string">'optim_opt'</span>)
|
||
|
0268 eval([<span class="string">'optim_options = optimset(optim_options,'</span> options_.optim_opt <span class="string">');'</span>]);
|
||
|
0269 <span class="keyword">end</span>
|
||
|
0270 [xparam1,fval,exitflag] = fminunc(fh,xparam1,optim_options,gend, <span class="keyword">...</span>
|
||
|
0271 data);
|
||
|
0272 <span class="keyword">elseif</span> options_.mode_compute == 4
|
||
|
0273 H0 = 1e-4*eye(nx);
|
||
|
0274 crit = 1e-7;
|
||
|
0275 nit = 1000;
|
||
|
0276 verbose = 2;
|
||
|
0277 [fval,xparam1,grad,hessian_csminwel,itct,fcount,retcodehat] = <span class="keyword">...</span>
|
||
|
0278 <a href="csminwel.html" class="code" title="function [fh,xh,gh,H,itct,fcount,retcodeh] = csminwel(fcn,x0,H0,grad,crit,nit,varargin)">csminwel</a>(<span class="string">'DsgeLikelihood'</span>,xparam1,H0,[],crit,nit,gend,data);
|
||
|
0279 disp(sprintf(<span class="string">'Objective function at mode: %f'</span>,fval))
|
||
|
0280 disp(sprintf(<span class="string">'Objective function at mode: %f'</span>,<a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a>(xparam1,gend,data)))
|
||
|
0281 <span class="keyword">elseif</span> options_.mode_compute == 5
|
||
|
0282 <span class="keyword">if</span> isfield(options_,<span class="string">'hess'</span>)
|
||
|
0283 flag = options_.hess;
|
||
|
0284 <span class="keyword">else</span>
|
||
|
0285 flag = 1;
|
||
|
0286 <span class="keyword">end</span>
|
||
|
0287 <span class="keyword">if</span> ~exist(<span class="string">'igg'</span>), <span class="comment">% by M. Ratto</span>
|
||
|
0288 hh=[];
|
||
|
0289 gg=[];
|
||
|
0290 igg=[];
|
||
|
0291 <span class="keyword">end</span> <span class="comment">% by M. Ratto</span>
|
||
|
0292 <span class="keyword">if</span> isfield(options_,<span class="string">'ftol'</span>)
|
||
|
0293 crit = options_.ftol;
|
||
|
0294 <span class="keyword">else</span>
|
||
|
0295 crit = 1.e-7;
|
||
|
0296 <span class="keyword">end</span>
|
||
|
0297 <span class="keyword">if</span> isfield(options_,<span class="string">'nit'</span>)
|
||
|
0298 nit = options_.nit;
|
||
|
0299 <span class="keyword">else</span>
|
||
|
0300 nit=1000;
|
||
|
0301 <span class="keyword">end</span>
|
||
|
0302 <span class="comment">%[xparam1, hh, gg, fval] = newrat('DsgeLikelihood',xparam1,[],[],flag,gend,data);</span>
|
||
|
0303 [xparam1, hh, gg, fval, invhess] = <a href="newrat.html" class="code" title="function [xparam1, hh, gg, fval, igg] = newrat(func0, x, hh, gg, igg, ftol0, nit, flagg, varargin)">newrat</a>(<span class="string">'DsgeLikelihood'</span>,xparam1,hh,gg,igg,crit,nit,flag,gend,data);
|
||
|
0304 eval([<span class="string">'save '</span> M_.fname <span class="string">'_mode xparam1 hh gg fval invhess;'</span>]);
|
||
|
0305 <span class="keyword">end</span>
|
||
|
0306 <span class="keyword">if</span> options_.mode_compute ~= 5
|
||
|
0307 hh = reshape(<a href="hessian.html" class="code" title="function hessian_mat = hessian(func,x,varargin)">hessian</a>(<span class="string">'DsgeLikelihood'</span>,xparam1,gend,data),nx,nx);
|
||
|
0308 eval([<span class="string">'save '</span> M_.fname <span class="string">'_mode xparam1 hh fval;'</span>]);
|
||
|
0309 <span class="keyword">end</span>
|
||
|
0310 eval([<span class="string">'save '</span> M_.fname <span class="string">'_mode xparam1 hh;'</span>]);
|
||
|
0311 <span class="keyword">end</span>
|
||
|
0312
|
||
|
0313 <span class="keyword">if</span> options_.mode_check == 1 & options_.posterior_mode_estimation
|
||
|
0314 <a href="mode_check.html" class="code" title="function mode_check(x,fval,hessian,gend,data,lb,ub)">mode_check</a>(xparam1,0,hh,gend,data,lb,ub);
|
||
|
0315 <span class="keyword">end</span>
|
||
|
0316
|
||
|
0317 <span class="keyword">if</span> options_.posterior_mode_estimation
|
||
|
0318 hh = <a href="generalized_cholesky.html" class="code" title="function AA = generalized_cholesky(A);">generalized_cholesky</a>(hh);
|
||
|
0319 invhess = inv(hh);
|
||
|
0320 stdh = sqrt(diag(invhess));
|
||
|
0321 <span class="keyword">else</span>
|
||
|
0322 invhess = eye(length(xparam1));
|
||
|
0323 <span class="keyword">end</span>
|
||
|
0324
|
||
|
0325 <span class="keyword">if</span> any(bayestopt_.pshape > 0) & options_.posterior_mode_estimation
|
||
|
0326 disp(<span class="string">' '</span>)
|
||
|
0327 disp(<span class="string">'RESULTS FROM POSTERIOR MAXIMIZATION'</span>)
|
||
|
0328 tstath = zeros(nx,1);
|
||
|
0329 <span class="keyword">for</span> i = 1:nx
|
||
|
0330 tstath(i) = abs(xparam1(i))/stdh(i);
|
||
|
0331 <span class="keyword">end</span>
|
||
|
0332 tit1 = sprintf(<span class="string">'%10s %7s %8s %7s %6s %4s %6s\n'</span>,<span class="string">' '</span>,<span class="string">'prior mean'</span>, <span class="keyword">...</span>
|
||
|
0333 <span class="string">'mode'</span>,<span class="string">'s.d.'</span>,<span class="string">'t-stat'</span>,<span class="string">'prior'</span>,<span class="string">'pstdev'</span>);
|
||
|
0334 <span class="keyword">if</span> np
|
||
|
0335 ip = nvx+nvn+ncx+ncn+1;
|
||
|
0336 disp(<span class="string">'parameters'</span>)
|
||
|
0337 disp(tit1)
|
||
|
0338 <span class="keyword">for</span> i=1:np
|
||
|
0339 name = bayestopt_.name{ip};
|
||
|
0340 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, <span class="keyword">...</span>
|
||
|
0341 name, <span class="keyword">...</span>
|
||
|
0342 bayestopt_.pmean(ip),xparam1(ip),stdh(ip),tstath(ip), <span class="keyword">...</span>
|
||
|
0343 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
|
||
|
0344 bayestopt_.pstdev(ip)));
|
||
|
0345 eval([<span class="string">'oo_.posterior_mode.parameters.'</span> name <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0346 eval([<span class="string">'oo_.posterior_std.parameters.'</span> name <span class="string">' = stdh(ip);'</span>]);
|
||
|
0347 ip = ip+1;
|
||
|
0348 <span class="keyword">end</span>
|
||
|
0349 <span class="keyword">end</span>
|
||
|
0350 <span class="keyword">if</span> nvx
|
||
|
0351 ip = 1;
|
||
|
0352 disp(<span class="string">'standard deviation of shocks'</span>)
|
||
|
0353 disp(tit1)
|
||
|
0354 <span class="keyword">for</span> i=1:nvx
|
||
|
0355 k = estim_params_.var_exo(i,1);
|
||
|
0356 name = deblank(M_.exo_names(k,:));
|
||
|
0357 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, <span class="keyword">...</span>
|
||
|
0358 name,bayestopt_.pmean(ip),xparam1(ip), <span class="keyword">...</span>
|
||
|
0359 stdh(ip),tstath(ip),pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
|
||
|
0360 bayestopt_.pstdev(ip)));
|
||
|
0361 M_.Sigma_e(k,k) = xparam1(ip)*xparam1(ip);
|
||
|
0362 eval([<span class="string">'oo_.posterior_mode.shocks_std.'</span> name <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0363 eval([<span class="string">'oo_.posterior_std.shocks_std.'</span> name <span class="string">' = stdh(ip);'</span>]);
|
||
|
0364 ip = ip+1;
|
||
|
0365 <span class="keyword">end</span>
|
||
|
0366 <span class="keyword">end</span>
|
||
|
0367 <span class="keyword">if</span> nvn
|
||
|
0368 disp(<span class="string">'standard deviation of measurement errors'</span>)
|
||
|
0369 disp(tit1)
|
||
|
0370 ip = nvx+1;
|
||
|
0371 <span class="keyword">for</span> i=1:nvn
|
||
|
0372 name = deblank(options_.varobs(estim_params_.var_endo(i,1),:));
|
||
|
0373 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, <span class="keyword">...</span>
|
||
|
0374 name,bayestopt_.pmean(ip), <span class="keyword">...</span>
|
||
|
0375 xparam1(ip),stdh(ip),tstath(ip), <span class="keyword">...</span>
|
||
|
0376 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
|
||
|
0377 bayestopt_.pstdev(ip)));
|
||
|
0378 eval([<span class="string">'oo_.posterior_mode.measurement_errors_std.'</span> name <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0379 eval([<span class="string">'oo_.posterior_std.measurement_errors_std.'</span> name <span class="string">' = stdh(ip);'</span>]);
|
||
|
0380 ip = ip+1;
|
||
|
0381 <span class="keyword">end</span>
|
||
|
0382 <span class="keyword">end</span>
|
||
|
0383 <span class="keyword">if</span> ncx
|
||
|
0384 disp(<span class="string">'correlation of shocks'</span>)
|
||
|
0385 disp(tit1)
|
||
|
0386 ip = nvx+nvn+1;
|
||
|
0387 <span class="keyword">for</span> i=1:ncx
|
||
|
0388 k1 = estim_params_.corrx(i,1);
|
||
|
0389 k2 = estim_params_.corrx(i,2);
|
||
|
0390 name = [deblank(M_.exo_names(k1,:)) <span class="string">','</span> deblank(M_.exo_names(k2,:))];
|
||
|
0391 NAME = [deblank(M_.exo_names(k1,:)) <span class="string">'_'</span> deblank(M_.exo_names(k2,:))];
|
||
|
0392 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, name, <span class="keyword">...</span>
|
||
|
0393 bayestopt_.pmean(ip),xparam1(ip),stdh(ip),tstath(ip), <span class="keyword">...</span>
|
||
|
0394 pnames(bayestopt_.pshape(ip)+1,:), bayestopt_.pstdev(ip)));
|
||
|
0395 M_.Sigma_e(k1,k2) = xparam1(ip)*sqrt(M_.Sigma_e(k1,k1)*M_.Sigma_e(k2,k2));
|
||
|
0396 M_.Sigma_e(k2,k1) = M_.Sigma_e(k1,k2);
|
||
|
0397 eval([<span class="string">'oo_.posterior_mode.shocks_corr.'</span> NAME <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0398 eval([<span class="string">'oo_.posterior_std.shocks_corr.'</span> NAME <span class="string">' = stdh(ip);'</span>]);
|
||
|
0399 ip = ip+1;
|
||
|
0400 <span class="keyword">end</span>
|
||
|
0401 <span class="keyword">end</span>
|
||
|
0402 <span class="keyword">if</span> ncn
|
||
|
0403 disp(<span class="string">'correlation of measurement errors'</span>)
|
||
|
0404 disp(tit1)
|
||
|
0405 ip = nvx+nvn+ncx+1;
|
||
|
0406 <span class="keyword">for</span> i=1:ncn
|
||
|
0407 k1 = estim_params_.corrn(i,1);
|
||
|
0408 k2 = estim_params_.corrn(i,2);
|
||
|
0409 name = [deblank(M_.endo_names(k1,:)) <span class="string">','</span> deblank(M_.endo_names(k2,:))];
|
||
|
0410 NAME = [deblank(M_.endo_names(k1,:)) <span class="string">'_'</span> deblank(M_.endo_names(k2,:))];
|
||
|
0411 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, name, <span class="keyword">...</span>
|
||
|
0412 bayestopt_.pmean(ip),xparam1(ip),stdh(ip),tstath(ip), <span class="keyword">...</span>
|
||
|
0413 pnames(bayestopt_.pshape(ip)+1,:), bayestopt_.pstdev(ip)));
|
||
|
0414 eval([<span class="string">'oo_.posterior_mode.measurement_errors_corr.'</span> NAME <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0415 eval([<span class="string">'oo_.posterior_std.measurement_errors_corr.'</span> NAME <span class="string">' = stdh(ip);'</span>]);
|
||
|
0416 ip = ip+1;
|
||
|
0417 <span class="keyword">end</span>
|
||
|
0418 <span class="keyword">end</span>
|
||
|
0419 <span class="comment">%% Laplace approximation to the marginal log density:</span>
|
||
|
0420 md_Laplace = .5*size(xparam1,1)*log(2*pi) + .5*log(det(invhess)) <span class="keyword">...</span>
|
||
|
0421 - <a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a>(xparam1,gend,data);
|
||
|
0422 oo_.MarginalDensity.LaplaceApproximation = md_Laplace;
|
||
|
0423 disp(<span class="string">' '</span>)
|
||
|
0424 disp(sprintf(<span class="string">'Log data density [Laplace approximation] is %f.'</span>,md_Laplace))
|
||
|
0425 disp(<span class="string">' '</span>)
|
||
|
0426 <span class="keyword">elseif</span> ~any(bayestopt_.pshape > 0) & options_.posterior_mode_estimation
|
||
|
0427 disp(<span class="string">' '</span>)
|
||
|
0428 disp(<span class="string">'RESULTS FROM MAXIMUM LIKELIHOOD'</span>)
|
||
|
0429 tstath = zeros(nx,1);
|
||
|
0430 <span class="keyword">for</span> i = 1:nx
|
||
|
0431 tstath(i) = abs(xparam1(i))/stdh(i);
|
||
|
0432 <span class="keyword">end</span>
|
||
|
0433 tit1 = sprintf(<span class="string">'%10s %10s %7s %6s\n'</span>,<span class="string">' '</span>,<span class="string">'Estimate'</span>,<span class="string">'s.d.'</span>,<span class="string">'t-stat'</span>);
|
||
|
0434 <span class="keyword">if</span> np
|
||
|
0435 ip = nvx+nvn+ncx+ncn+1;
|
||
|
0436 disp(<span class="string">'parameters'</span>)
|
||
|
0437 disp(tit1)
|
||
|
0438 <span class="keyword">for</span> i=1:np
|
||
|
0439 name = bayestopt_.name{ip};
|
||
|
0440 disp(sprintf(<span class="string">'%12s %8.4f %7.4f %7.4f'</span>, <span class="keyword">...</span>
|
||
|
0441 name,xparam1(ip),stdh(ip),tstath(ip)));
|
||
|
0442 eval([<span class="string">'oo_.mle_mode.parameters.'</span> name <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0443 eval([<span class="string">'oo_.mle_std.parameters.'</span> name <span class="string">' = stdh(ip);'</span>]);
|
||
|
0444 ip = ip+1;
|
||
|
0445 <span class="keyword">end</span>
|
||
|
0446 <span class="keyword">end</span>
|
||
|
0447 <span class="keyword">if</span> nvx
|
||
|
0448 ip = 1;
|
||
|
0449 disp(<span class="string">'standard deviation of shocks'</span>)
|
||
|
0450 disp(tit1)
|
||
|
0451 <span class="keyword">for</span> i=1:nvx
|
||
|
0452 k = estim_params_.var_exo(i,1);
|
||
|
0453 name = deblank(M_.exo_names(k,:));
|
||
|
0454 disp(sprintf(<span class="string">'%12s %8.4f %7.4f %7.4f'</span>,name,xparam1(ip),stdh(ip),tstath(ip)));
|
||
|
0455 M_.Sigma_e(k,k) = xparam1(ip)*xparam1(ip);
|
||
|
0456 eval([<span class="string">'oo_.mle_mode.shocks_std.'</span> name <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0457 eval([<span class="string">'oo_.mle_std.shocks_std.'</span> name <span class="string">' = stdh(ip);'</span>]);
|
||
|
0458 ip = ip+1;
|
||
|
0459 <span class="keyword">end</span>
|
||
|
0460 <span class="keyword">end</span>
|
||
|
0461 <span class="keyword">if</span> nvn
|
||
|
0462 disp(<span class="string">'standard deviation of measurement errors'</span>)
|
||
|
0463 disp(tit1)
|
||
|
0464 ip = nvx+1;
|
||
|
0465 <span class="keyword">for</span> i=1:nvn
|
||
|
0466 name = deblank(options_.varobs(estim_params_.var_endo(i,1),:));
|
||
|
0467 disp(sprintf(<span class="string">'%12s %8.4f %7.4f %7.4f'</span>,name,xparam1(ip),stdh(ip),tstath(ip)))
|
||
|
0468 eval([<span class="string">'oo_.mle_mode.measurement_errors_std.'</span> name <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0469 eval([<span class="string">'oo_.mle_std.measurement_errors_std.'</span> name <span class="string">' = stdh(ip);'</span>]);
|
||
|
0470 ip = ip+1;
|
||
|
0471 <span class="keyword">end</span>
|
||
|
0472 <span class="keyword">end</span>
|
||
|
0473 <span class="keyword">if</span> ncx
|
||
|
0474 disp(<span class="string">'correlation of shocks'</span>)
|
||
|
0475 disp(tit1)
|
||
|
0476 ip = nvx+nvn+1;
|
||
|
0477 <span class="keyword">for</span> i=1:ncx
|
||
|
0478 k1 = estim_params_.corrx(i,1);
|
||
|
0479 k2 = estim_params_.corrx(i,2);
|
||
|
0480 name = [deblank(M_.exo_names(k1,:)) <span class="string">','</span> deblank(M_.exo_names(k2,:))];
|
||
|
0481 NAME = [deblank(M_.exo_names(k1,:)) <span class="string">'_'</span> deblank(M_.exo_names(k2,:))];
|
||
|
0482 disp(sprintf(<span class="string">'%12s %8.4f %7.4f %7.4f'</span>, name,xparam1(ip),stdh(ip),tstath(ip)));
|
||
|
0483 M_.Sigma_e(k1,k2) = xparam1(ip)*sqrt(M_.Sigma_e(k1,k1)*M_.Sigma_e(k2,k2));
|
||
|
0484 M_.Sigma_e(k2,k1) = M_.Sigma_e(k1,k2);
|
||
|
0485 eval([<span class="string">'oo_.mle_mode.shocks_corr.'</span> NAME <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0486 eval([<span class="string">'oo_.mle_std.shocks_corr.'</span> NAME <span class="string">' = stdh(ip);'</span>]);
|
||
|
0487 ip = ip+1;
|
||
|
0488 <span class="keyword">end</span>
|
||
|
0489 <span class="keyword">end</span>
|
||
|
0490 <span class="keyword">if</span> ncn
|
||
|
0491 disp(<span class="string">'correlation of measurement errors'</span>)
|
||
|
0492 disp(tit1)
|
||
|
0493 ip = nvx+nvn+ncx+1;
|
||
|
0494 <span class="keyword">for</span> i=1:ncn
|
||
|
0495 k1 = estim_params_.corrn(i,1);
|
||
|
0496 k2 = estim_params_.corrn(i,2);
|
||
|
0497 name = [deblank(M_.endo_names(k1,:)) <span class="string">','</span> deblank(M_.endo_names(k2,:))];
|
||
|
0498 NAME = [deblank(M_.endo_names(k1,:)) <span class="string">'_'</span> deblank(M_.endo_names(k2,:))];
|
||
|
0499 disp(sprintf(<span class="string">'%12s %8.4f %7.4f %7.4f'</span>,name,xparam1(ip),stdh(ip),tstath(ip)));
|
||
|
0500 eval([<span class="string">'oo_.mle_mode.measurement_error_corr.'</span> NAME <span class="string">' = xparam1(ip);'</span>]);
|
||
|
0501 eval([<span class="string">'oo_.mle_std.measurement_error_corr.'</span> NAME <span class="string">' = stdh(ip);'</span>]);
|
||
|
0502 ip = ip+1;
|
||
|
0503 <span class="keyword">end</span>
|
||
|
0504 <span class="keyword">end</span>
|
||
|
0505 <span class="keyword">end</span>
|
||
|
0506
|
||
|
0507
|
||
|
0508 OutputDirectoryName = <a href="CheckPath.html" class="code" title="function DirectoryName = CheckPath(type)">CheckPath</a>(<span class="string">'Output'</span>);
|
||
|
0509
|
||
|
0510 <span class="keyword">if</span> any(bayestopt_.pshape > 0) & options_.TeX <span class="comment">%% Bayesian estimation (posterior mode) Latex output</span>
|
||
|
0511 <span class="keyword">if</span> np
|
||
|
0512 filename = [OutputDirectoryName <span class="string">'\'</span> M_.fname <span class="string">'_Posterior_Mode_1.TeX'</span>];
|
||
|
0513 fidTeX = fopen(filename,<span class="string">'w'</span>);
|
||
|
0514 fprintf(fidTeX,<span class="string">'%% TeX-table generated by dynare_estimation (Dynare).\n'</span>);
|
||
|
0515 fprintf(fidTeX,<span class="string">'%% RESULTS FROM POSTERIOR MAXIMIZATION (parameters)\n'</span>);
|
||
|
0516 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0)]);
|
||
|
0517 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0518 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0519 fprintf(fidTeX,<span class="string">'{\\tiny \n'</span>)
|
||
|
0520 fprintf(fidTeX,<span class="string">'\\begin{table}\n'</span>);
|
||
|
0521 fprintf(fidTeX,<span class="string">'\\centering\n'</span>);
|
||
|
0522 fprintf(fidTeX,<span class="string">'\\begin{tabular}{l|lcccc} \n'</span>);
|
||
|
0523 fprintf(fidTeX,<span class="string">'\\hline\\hline \\\\ \n'</span>);
|
||
|
0524 fprintf(fidTeX,<span class="string">' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'</span>);
|
||
|
0525 fprintf(fidTeX,<span class="string">'\\hline \\\\ \n'</span>);
|
||
|
0526 ip = nvx+nvn+ncx+ncn+1;
|
||
|
0527 <span class="keyword">for</span> i=1:np
|
||
|
0528 fprintf(fidTeX,<span class="string">'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'</span>,<span class="keyword">...</span>
|
||
|
0529 M_.param_names_tex(estim_params_.param_vals(i,1),:),<span class="keyword">...</span>
|
||
|
0530 deblank(pnames(bayestopt_.pshape(ip)+1,:)),<span class="keyword">...</span>
|
||
|
0531 bayestopt_.pmean(ip),<span class="keyword">...</span>
|
||
|
0532 estim_params_.param_vals(i,6),<span class="keyword">...</span>
|
||
|
0533 xparam1(ip),<span class="keyword">...</span>
|
||
|
0534 stdh(ip));
|
||
|
0535 ip = ip + 1;
|
||
|
0536 <span class="keyword">end</span>
|
||
|
0537 fprintf(fidTeX,<span class="string">'\\hline\\hline \n'</span>);
|
||
|
0538 fprintf(fidTeX,<span class="string">'\\end{tabular}\n '</span>);
|
||
|
0539 fprintf(fidTeX,<span class="string">'\\caption{Results from posterior parameters (parameters)}\n '</span>);
|
||
|
0540 fprintf(fidTeX,<span class="string">'\\label{Table:Posterior:1}\n'</span>);
|
||
|
0541 fprintf(fidTeX,<span class="string">'\\end{table}\n'</span>);
|
||
|
0542 fprintf(fidTeX,<span class="string">'} \n'</span>)
|
||
|
0543 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0544 fclose(fidTeX);
|
||
|
0545 <span class="keyword">end</span>
|
||
|
0546 <span class="keyword">if</span> nvx
|
||
|
0547 TeXfile = [OutputDirectoryName <span class="string">'\'</span> M_.fname <span class="string">'_Posterior_Mode_2.TeX'</span>];
|
||
|
0548 fidTeX = fopen(TeXfile,<span class="string">'w'</span>);
|
||
|
0549 fprintf(fidTeX,<span class="string">'%% TeX-table generated by dynare_estimation (Dynare).\n'</span>);
|
||
|
0550 fprintf(fidTeX,<span class="string">'%% RESULTS FROM POSTERIOR MAXIMIZATION (standard deviation of structural shocks)\n'</span>);
|
||
|
0551 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0)]);
|
||
|
0552 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0553 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0554 fprintf(fidTeX,<span class="string">'{\\tiny \n'</span>);
|
||
|
0555 fprintf(fidTeX,<span class="string">'\\begin{table}\n'</span>);
|
||
|
0556 fprintf(fidTeX,<span class="string">'\\centering\n'</span>);
|
||
|
0557 fprintf(fidTeX,<span class="string">'\\begin{tabular}{l|lcccc} \n'</span>);
|
||
|
0558 fprintf(fidTeX,<span class="string">'\\hline\\hline \\\\ \n'</span>);
|
||
|
0559 fprintf(fidTeX,<span class="string">' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'</span>)
|
||
|
0560 fprintf(fidTeX,<span class="string">'\\hline \\\\ \n'</span>);
|
||
|
0561 ip = 1;
|
||
|
0562 <span class="keyword">for</span> i=1:nvx
|
||
|
0563 k = estim_params_.var_exo(i,1);
|
||
|
0564 fprintf(fidTeX,[ <span class="string">'$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'</span>],<span class="keyword">...</span>
|
||
|
0565 deblank(M_.exo_names_tex(k,:)),<span class="keyword">...</span>
|
||
|
0566 deblank(pnames(bayestopt_.pshape(ip)+1,:)),<span class="keyword">...</span>
|
||
|
0567 bayestopt_.pmean(ip),<span class="keyword">...</span>
|
||
|
0568 estim_params_.var_exo(i,7),<span class="keyword">...</span>
|
||
|
0569 xparam1(ip), <span class="keyword">...</span>
|
||
|
0570 stdh(ip));
|
||
|
0571 ip = ip+1;
|
||
|
0572 <span class="keyword">end</span>
|
||
|
0573 fprintf(fidTeX,<span class="string">'\\hline\\hline \n'</span>);
|
||
|
0574 fprintf(fidTeX,<span class="string">'\\end{tabular}\n '</span>);
|
||
|
0575 fprintf(fidTeX,<span class="string">'\\caption{Results from posterior parameters (standard deviation of structural shocks)}\n '</span>);
|
||
|
0576 fprintf(fidTeX,<span class="string">'\\label{Table:Posterior:2}\n'</span>);
|
||
|
0577 fprintf(fidTeX,<span class="string">'\\end{table}\n'</span>);
|
||
|
0578 fprintf(fidTeX,<span class="string">'} \n'</span>)
|
||
|
0579 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0580 fclose(fidTeX);
|
||
|
0581 <span class="keyword">end</span>
|
||
|
0582 <span class="keyword">if</span> nvn
|
||
|
0583 TeXfile = [OutputDirectoryName <span class="string">'\'</span> M_.fname <span class="string">'_Posterior_Mode_3.TeX'</span>];
|
||
|
0584 fidTeX = fopen(TeXfile,<span class="string">'w'</span>);
|
||
|
0585 fprintf(fidTeX,<span class="string">'%% TeX-table generated by dynare_estimation (Dynare).\n'</span>);
|
||
|
0586 fprintf(fidTeX,<span class="string">'%% RESULTS FROM POSTERIOR MAXIMIZATION (standard deviation of measurement errors)\n'</span>);
|
||
|
0587 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0)]);
|
||
|
0588 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0589 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0590 fprintf(fidTeX,<span class="string">'\\begin{table}\n'</span>);
|
||
|
0591 fprintf(fidTeX,<span class="string">'\\centering\n'</span>);
|
||
|
0592 fprintf(fidTeX,<span class="string">'\\begin{tabular}{l|lcccc} \n'</span>);
|
||
|
0593 fprintf(fidTeX,<span class="string">'\\hline\\hline \\\\ \n'</span>);
|
||
|
0594 fprintf(fidTeX,<span class="string">' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'</span>)
|
||
|
0595 fprintf(fidTeX,<span class="string">'\\hline \\\\ \n'</span>);
|
||
|
0596 ip = nvx+1;
|
||
|
0597 <span class="keyword">for</span> i=1:nvn
|
||
|
0598 idx = strmatch(options_.varobs(estim_params_.var_endo(i,1),:),M_.endo_names);
|
||
|
0599 fprintf(fidTeX,<span class="string">'$%s$ & %4s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'</span>,<span class="keyword">...</span>
|
||
|
0600 deblank(M_.endo_names_tex(idx,:)), <span class="keyword">...</span>
|
||
|
0601 deblank(pnames(bayestopt_.pshape(ip)+1,:)), <span class="keyword">...</span><span class="comment"> </span>
|
||
|
0602 bayestopt_.pmean(ip), <span class="keyword">...</span>
|
||
|
0603 estim_params_.var_endo(i,7),<span class="keyword">...</span><span class="comment"> </span>
|
||
|
0604 xparam1(ip),<span class="keyword">...</span>
|
||
|
0605 stdh(ip));
|
||
|
0606 ip = ip+1;
|
||
|
0607 <span class="keyword">end</span>
|
||
|
0608 fprintf(fidTeX,<span class="string">'\\hline\\hline \n'</span>);
|
||
|
0609 fprintf(fidTeX,<span class="string">'\\end{tabular}\n '</span>);
|
||
|
0610 fprintf(fidTeX,<span class="string">'\\caption{Results from posterior parameters (standard deviation of measurement errors)}\n '</span>);
|
||
|
0611 fprintf(fidTeX,<span class="string">'\\label{Table:Posterior:3}\n'</span>);
|
||
|
0612 fprintf(fidTeX,<span class="string">'\\end{table}\n'</span>);
|
||
|
0613 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0614 fclose(fidTeX);
|
||
|
0615 <span class="keyword">end</span>
|
||
|
0616 <span class="keyword">if</span> ncx
|
||
|
0617 TeXfile = [OutputDirectoryName <span class="string">'\'</span> M_.fname <span class="string">'_Posterior_Mode_4.TeX'</span>];
|
||
|
0618 fidTeX = fopen(TeXfile,<span class="string">'w'</span>);
|
||
|
0619 fprintf(fidTeX,<span class="string">'%% TeX-table generated by dynare_estimation (Dynare).\n'</span>);
|
||
|
0620 fprintf(fidTeX,<span class="string">'%% RESULTS FROM POSTERIOR MAXIMIZATION (correlation of structural shocks)\n'</span>);
|
||
|
0621 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0)]);
|
||
|
0622 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0623 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0624 fprintf(fidTeX,<span class="string">'\\begin{table}\n'</span>);
|
||
|
0625 fprintf(fidTeX,<span class="string">'\\centering\n'</span>);
|
||
|
0626 fprintf(fidTeX,<span class="string">'\\begin{tabular}{l|lcccc} \n'</span>);
|
||
|
0627 fprintf(fidTeX,<span class="string">'\\hline\\hline \\\\ \n'</span>);
|
||
|
0628 fprintf(fidTeX,<span class="string">' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'</span>)
|
||
|
0629 fprintf(fidTeX,<span class="string">'\\hline \\\\ \n'</span>);
|
||
|
0630 ip = nvx+nvn+1;
|
||
|
0631 <span class="keyword">for</span> i=1:ncx
|
||
|
0632 k1 = estim_params_.corrx(i,1);
|
||
|
0633 k2 = estim_params_.corrx(i,2);
|
||
|
0634 fprintf(fidTeX,[ <span class="string">'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'</span>],<span class="keyword">...</span>
|
||
|
0635 [deblank(M_.exo_names_tex(k1,:)) <span class="string">','</span> deblank(M_.exo_names_tex(k2,:))], <span class="keyword">...</span>
|
||
|
0636 deblank(pnames(bayestopt_.pshape(ip)+1,:)), <span class="keyword">...</span>
|
||
|
0637 bayestopt_.pmean(ip), <span class="keyword">...</span>
|
||
|
0638 estim_params_.corrx(i,8), <span class="keyword">...</span>
|
||
|
0639 xparam1(ip), <span class="keyword">...</span>
|
||
|
0640 stdh(ip));
|
||
|
0641 ip = ip+1;
|
||
|
0642 <span class="keyword">end</span>
|
||
|
0643 fprintf(fidTeX,<span class="string">'\\hline\\hline \n'</span>);
|
||
|
0644 fprintf(fidTeX,<span class="string">'\\end{tabular}\n '</span>);
|
||
|
0645 fprintf(fidTeX,<span class="string">'\\caption{Results from posterior parameters (correlation of structural shocks)}\n '</span>);
|
||
|
0646 fprintf(fidTeX,<span class="string">'\\label{Table:Posterior:4}\n'</span>);
|
||
|
0647 fprintf(fidTeX,<span class="string">'\\end{table}\n'</span>);
|
||
|
0648 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0649 fclose(fidTeX);
|
||
|
0650 <span class="keyword">end</span>
|
||
|
0651 <span class="keyword">if</span> ncn
|
||
|
0652 TeXfile = [OutputDirectoryName <span class="string">'\'</span> M_.fname <span class="string">'_Posterior_Mode_5.TeX'</span>];
|
||
|
0653 fidTeX = fopen(TeXfile,<span class="string">'w'</span>);
|
||
|
0654 fprintf(fidTeX,<span class="string">'%% TeX-table generated by dynare_estimation (Dynare).\n'</span>);
|
||
|
0655 fprintf(fidTeX,<span class="string">'%% RESULTS FROM POSTERIOR MAXIMIZATION (correlation of measurement errors)\n'</span>);
|
||
|
0656 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0)]);
|
||
|
0657 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0658 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0659 fprintf(fidTeX,<span class="string">'\\begin{table}\n'</span>);
|
||
|
0660 fprintf(fidTeX,<span class="string">'\\centering\n'</span>);
|
||
|
0661 fprintf(fidTeX,<span class="string">'\\begin{tabular}{l|lcccc} \n'</span>);
|
||
|
0662 fprintf(fidTeX,<span class="string">'\\hline\\hline \\\\ \n'</span>);
|
||
|
0663 fprintf(fidTeX,<span class="string">' & Prior distribution & Prior mean & Prior s.d. & Posterior mode & s.d. \\\\ \n'</span>)
|
||
|
0664 fprintf(fidTeX,<span class="string">'\\hline \\\\ \n'</span>);
|
||
|
0665 ip = nvx+nvn+ncx+1;
|
||
|
0666 <span class="keyword">for</span> i=1:ncn
|
||
|
0667 k1 = estim_params_.corrn(i,1);
|
||
|
0668 k2 = estim_params_.corrn(i,2);
|
||
|
0669 fprintf(fidTeX,<span class="string">'$%s$ & %s & %7.3f & %6.4f & %8.4f & %7.4f \\\\ \n'</span>,<span class="keyword">...</span>
|
||
|
0670 [deblank(M_.endo_names_tex(k1,:)) <span class="string">','</span> deblank(M_.endo_names_tex(k2,:))], <span class="keyword">...</span>
|
||
|
0671 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
|
||
|
0672 bayestopt_.pmean(ip), <span class="keyword">...</span>
|
||
|
0673 estim_params_.corrn(i,8), <span class="keyword">...</span>
|
||
|
0674 xparam1(ip), <span class="keyword">...</span>
|
||
|
0675 stdh(ip));
|
||
|
0676 ip = ip+1;
|
||
|
0677 <span class="keyword">end</span>
|
||
|
0678 fprintf(fidTeX,<span class="string">'\\hline\\hline \n'</span>);
|
||
|
0679 fprintf(fidTeX,<span class="string">'\\end{tabular}\n '</span>);
|
||
|
0680 fprintf(fidTeX,<span class="string">'\\caption{Results from posterior parameters (correlation of measurement errors)}\n '</span>);
|
||
|
0681 fprintf(fidTeX,<span class="string">'\\label{Table:Posterior:5}\n'</span>);
|
||
|
0682 fprintf(fidTeX,<span class="string">'\\end{table}\n'</span>);
|
||
|
0683 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0684 fclose(fidTeX);
|
||
|
0685 <span class="keyword">end</span>
|
||
|
0686 <span class="keyword">end</span>
|
||
|
0687
|
||
|
0688 <span class="keyword">if</span> (any(bayestopt_.pshape >0 ) & options_.mh_replic) | <span class="keyword">...</span>
|
||
|
0689 (any(bayestopt_.pshape >0 ) & options_.load_mh_file) <span class="comment">%% not ML estimation</span>
|
||
|
0690 bounds = <a href="prior_bounds.html" class="code" title="function bounds = prior_bounds(bayestopt)">prior_bounds</a>(bayestopt_);
|
||
|
0691 bayestopt_.lb = bounds(:,1);
|
||
|
0692 bayestopt_.ub = bounds(:,2);
|
||
|
0693 <span class="keyword">if</span> any(xparam1 < bounds(:,1)) | any(xparam1 > bounds(:,2))
|
||
|
0694 find(xparam1 < bounds(:,1))
|
||
|
0695 find(xparam1 > bounds(:,2))
|
||
|
0696 error(<span class="string">'Mode values are outside prior bounds. Reduce prior_trunc.'</span>)
|
||
|
0697 <span class="keyword">end</span>
|
||
|
0698 <span class="keyword">if</span> options_.mh_replic
|
||
|
0699 <a href="metropolis.html" class="code" title="function metropolis(xparam1,vv,gend,data,rawdata,mh_bounds)">metropolis</a>(xparam1,invhess,gend,data,rawdata,bounds);
|
||
|
0700 <span class="keyword">end</span>
|
||
|
0701 <span class="keyword">if</span> ~options_.nodiagnostic & options_.mh_replic > 1000 & options_.mh_nblck > 1
|
||
|
0702 <a href="McMCDiagnostics.html" class="code" title="function McmcDiagnostic">McMCDiagnostics</a>;
|
||
|
0703 <span class="keyword">end</span>
|
||
|
0704 <span class="comment">%% Here i discard first half of the draws:</span>
|
||
|
0705 <a href="CutSample.html" class="code" title="function CutSample()">CutSample</a>;
|
||
|
0706 <span class="comment">%% Estimation of the marginal density from the Mh draws:</span>
|
||
|
0707 marginal = <a href="marginal_density.html" class="code" title="function marginal = marginal_density()">marginal_density</a>;
|
||
|
0708 <span class="comment">%%</span>
|
||
|
0709 <a href="GetPosteriorParametersStatistics.html" class="code" title="function GetPosteriorParametersStatistics()">GetPosteriorParametersStatistics</a>;
|
||
|
0710 <a href="PlotPosteriorDistributions.html" class="code" title="function PlotPosteriorDistributions()">PlotPosteriorDistributions</a>;
|
||
|
0711 <a href="metropolis_draw.html" class="code" title="function [xparams, logpost]=metropolis_draw(init)">metropolis_draw</a>(1);
|
||
|
0712 <span class="keyword">if</span> options_.bayesian_irf
|
||
|
0713 <a href="PosteriorIRF.html" class="code" title="function PosteriorIRF(type)">PosteriorIRF</a>(<span class="string">'posterior'</span>);
|
||
|
0714 <span class="keyword">end</span>
|
||
|
0715 <span class="keyword">return</span>
|
||
|
0716
|
||
|
0717 <span class="keyword">end</span>
|
||
|
0718
|
||
|
0719 <span class="keyword">if</span> ~((any(bayestopt_.pshape > 0) & options_.mh_replic) | (any(bayestopt_.pshape <span class="keyword">...</span>
|
||
|
0720 > 0) & options_.load_mh_file)) | ~options_.smoother
|
||
|
0721 <span class="comment">%% ML estimation, or posterior mode without metropolis-hastings or metropolis without bayesian smooth variables</span>
|
||
|
0722 options_.lik_algo = 2;
|
||
|
0723 [atT,innov,measurement_error,filtered_state_vector,ys,trend_coeff] = <a href="DsgeSmoother.html" class="code" title="function [alphahat,etahat,epsilonhat,ahat,SteadyState,trend_coeff,aK] = DsgeSmoother(xparam1,gend,Y)">DsgeSmoother</a>(xparam1,gend,data);
|
||
|
0724 <span class="keyword">for</span> i=1:M_.endo_nbr
|
||
|
0725 eval([<span class="string">'oo_.SmoothedVariables.'</span> deblank(M_.endo_names(dr.order_var(i),:)) <span class="string">' = atT(i,:)'';'</span>]);
|
||
|
0726 eval([<span class="string">'oo_.FilteredVariables.'</span> deblank(M_.endo_names(dr.order_var(i),:)) <span class="string">' = filtered_state_vector(i,:)'';'</span>]);
|
||
|
0727 <span class="keyword">end</span>
|
||
|
0728 [nbplt,nr,nc,lr,lc,nstar] = <a href="pltorg.html" class="code" title="function [nbplt,nr,nc,lr,lc,nstar] = pltorg(number)">pltorg</a>(M_.exo_nbr);
|
||
|
0729 <span class="keyword">if</span> options_.TeX
|
||
|
0730 fidTeX = fopen([M_.fname <span class="string">'_SmoothedShocks.TeX'</span>],<span class="string">'w'</span>);
|
||
|
0731 fprintf(fidTeX,<span class="string">'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'</span>);
|
||
|
0732 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0) <span class="string">'\n'</span>]);
|
||
|
0733 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0734 <span class="keyword">end</span>
|
||
|
0735 <span class="keyword">if</span> nbplt == 1
|
||
|
0736 hh = figure(<span class="string">'Name'</span>,<span class="string">'Smoothed shocks'</span>);
|
||
|
0737 NAMES = [];
|
||
|
0738 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
0739 <span class="keyword">for</span> i=1:M_.exo_nbr
|
||
|
0740 subplot(nr,nc,i);
|
||
|
0741 plot(1:gend,innov(i,:),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
0742 hold on
|
||
|
0743 plot([1 gend],[0 0],<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,.5)
|
||
|
0744 hold off
|
||
|
0745 xlim([1 gend])
|
||
|
0746 name = deblank(M_.exo_names(i,:));
|
||
|
0747 NAMES = strvcat(NAMES,name);
|
||
|
0748 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
0749 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
0750 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
0751 <span class="keyword">end</span>
|
||
|
0752 <span class="keyword">if</span> options_.TeX
|
||
|
0753 texname = M_.exo_names_tex(i,1);
|
||
|
0754 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
0755 <span class="keyword">end</span>
|
||
|
0756 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
0757 eval([<span class="string">'oo_.SmoothedShocks.'</span> deblank(M_.exo_names(i,:)) <span class="string">' = innov(i,:)'';'</span>]);
|
||
|
0758 <span class="keyword">end</span>
|
||
|
0759 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_SmoothedShocks'</span> int2str(1)]);
|
||
|
0760 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_SmoothedShocks'</span> int2str(1)]);
|
||
|
0761 saveas(hh,[M_.fname <span class="string">'_SmoothedShocks'</span> int2str(1) <span class="string">'.fig'</span>]);
|
||
|
0762 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
0763 <span class="keyword">if</span> options_.TeX
|
||
|
0764 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
0765 <span class="keyword">for</span> jj = 1:M_.exo_nbr
|
||
|
0766 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
0767 <span class="keyword">end</span>
|
||
|
0768 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
0769 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_SmoothedShocks%s}\n'</span>,M_.fname,int2str(1));
|
||
|
0770 fprintf(fidTeX,<span class="string">'\\caption{Smoothed shocks.}'</span>);
|
||
|
0771 fprintf(fidTeX,<span class="string">'\\label{Fig:SmoothedShocks:%s}\n'</span>,int2str(1));
|
||
|
0772 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
0773 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
0774 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0775 fclose(fidTeX);
|
||
|
0776 <span class="keyword">end</span>
|
||
|
0777 <span class="keyword">else</span>
|
||
|
0778 <span class="keyword">for</span> plt = 1:nbplt-1
|
||
|
0779 hh = figure(<span class="string">'Name'</span>,<span class="string">'Smoothed shocks'</span>);
|
||
|
0780 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
0781 NAMES = [];
|
||
|
0782 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
0783 <span class="keyword">for</span> i=1:nstar
|
||
|
0784 k = (plt-1)*nstar+i;
|
||
|
0785 subplot(nr,nc,i);
|
||
|
0786 plot([1 gend],[0 0],<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,.5)
|
||
|
0787 hold on
|
||
|
0788 plot(1:gend,innov(k,:),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
0789 hold off
|
||
|
0790 name = deblank(M_.exo_names(k,:));
|
||
|
0791 NAMES = strvcat(NAMES,name);
|
||
|
0792 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
0793 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
0794 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
0795 <span class="keyword">end</span>
|
||
|
0796 xlim([1 gend])
|
||
|
0797 <span class="keyword">if</span> options_.TeX
|
||
|
0798 texname = M_.exo_names_tex(k,:);
|
||
|
0799 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
0800 <span class="keyword">end</span>
|
||
|
0801 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
0802 eval([<span class="string">'oo_.SmoothedShocks.'</span> deblank(name) <span class="string">' = innov(k,:)'';'</span>]);
|
||
|
0803 <span class="keyword">end</span>
|
||
|
0804 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_SmoothedShocks'</span> int2str(plt)]);
|
||
|
0805 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_SmoothedShocks'</span> int2str(plt)]);
|
||
|
0806 saveas(hh,[M_.fname <span class="string">'_SmoothedShocks'</span> int2str(plt) <span class="string">'.fig'</span>]);
|
||
|
0807 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
0808 <span class="keyword">if</span> options_.TeX
|
||
|
0809 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
0810 <span class="keyword">for</span> jj = 1:nstar
|
||
|
0811 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
0812 <span class="keyword">end</span>
|
||
|
0813 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
0814 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_SmoothedShocks%s}\n'</span>,M_.fname,int2str(plt));
|
||
|
0815 fprintf(fidTeX,<span class="string">'\\caption{Smoothed shocks.}'</span>);
|
||
|
0816 fprintf(fidTeX,<span class="string">'\\label{Fig:SmoothedShocks:%s}\n'</span>,int2str(plt));
|
||
|
0817 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
0818 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
0819 <span class="keyword">end</span>
|
||
|
0820 <span class="keyword">end</span>
|
||
|
0821 hh = figure(<span class="string">'Name'</span>,<span class="string">'Smoothed shocks'</span>);
|
||
|
0822 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
0823 NAMES = [];
|
||
|
0824 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
0825 <span class="keyword">for</span> i=1:M_.exo_nbr-(nbplt-1)*nstar
|
||
|
0826 k = (nbplt-1)*nstar+i;
|
||
|
0827 <span class="keyword">if</span> lr ~= 0
|
||
|
0828 subplot(lr,lc,i);
|
||
|
0829 <span class="keyword">else</span>
|
||
|
0830 subplot(nr,nc,i);
|
||
|
0831 <span class="keyword">end</span>
|
||
|
0832 plot([1 gend],[0 0],<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,0.5)
|
||
|
0833 hold on
|
||
|
0834 plot(1:gend,innov(k,:),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
0835 hold off
|
||
|
0836 name = deblank(M_.exo_names(k,:));
|
||
|
0837 NAMES = strvcat(NAMES,name);
|
||
|
0838 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
0839 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
0840 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
0841 <span class="keyword">end</span>
|
||
|
0842 xlim([1 gend])
|
||
|
0843 <span class="keyword">if</span> options_.TeX
|
||
|
0844 texname = M_.exo_names_tex(k,:);
|
||
|
0845 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
0846 <span class="keyword">end</span>
|
||
|
0847 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
0848 eval([<span class="string">'oo_.SmoothedShocks.'</span> deblank(name) <span class="string">' = innov(k,:)'';'</span>]);
|
||
|
0849 <span class="keyword">end</span>
|
||
|
0850 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_SmoothedShocks'</span> int2str(nbplt)]);
|
||
|
0851 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_SmoothedShocks'</span> int2str(nbplt)]);
|
||
|
0852 saveas(hh,[M_.fname <span class="string">'_SmoothedShocks'</span> int2str(nbplt) <span class="string">'.fig'</span>]);
|
||
|
0853 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
0854 <span class="keyword">if</span> options_.TeX
|
||
|
0855 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
0856 <span class="keyword">for</span> jj = 1:size(NAMES,1);
|
||
|
0857 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
0858 <span class="keyword">end</span>
|
||
|
0859 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
0860 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_SmoothedShocks%s}\n'</span>,M_.fname,int2str(nbplt));
|
||
|
0861 fprintf(fidTeX,<span class="string">'\\caption{Smoothed shocks.}'</span>);
|
||
|
0862 fprintf(fidTeX,<span class="string">'\\label{Fig:SmoothedShocks:%s}\n'</span>,int2str(nbplt));
|
||
|
0863 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
0864 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
0865 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0866 fclose(fidTeX);
|
||
|
0867 <span class="keyword">end</span>
|
||
|
0868 <span class="keyword">end</span>
|
||
|
0869 <span class="comment">%%</span>
|
||
|
0870 <span class="comment">%% Smooth observational errors...</span>
|
||
|
0871 <span class="comment">%%</span>
|
||
|
0872 yf = zeros(gend,n_varobs);
|
||
|
0873 <span class="keyword">if</span> options_.prefilter == 1
|
||
|
0874 yf = atT(bayestopt_.mf,:)+repmat(transpose(bayestopt_.mean_varobs),1,gend);
|
||
|
0875 <span class="keyword">elseif</span> options_.loglinear == 1
|
||
|
0876 yf = atT(bayestopt_.mf,:)+repmat(log(ys(bayestopt_.mfys)),1,gend)+<span class="keyword">...</span>
|
||
|
0877 trend_coeff*[1:gend];
|
||
|
0878 <span class="keyword">else</span>
|
||
|
0879 yf = atT(bayestopt_.mf,:)+repmat(ys(bayestopt_.mfys),1,gend)+<span class="keyword">...</span>
|
||
|
0880 trend_coeff*[1:gend];
|
||
|
0881 <span class="keyword">end</span>
|
||
|
0882 <span class="keyword">if</span> nvn
|
||
|
0883 number_of_plots_to_draw = 0;
|
||
|
0884 index = [];
|
||
|
0885 <span class="keyword">for</span> i=1:n_varobs
|
||
|
0886 <span class="keyword">if</span> max(abs(measurement_error(10:end))) > 0.000000001
|
||
|
0887 number_of_plots_to_draw = number_of_plots_to_draw + 1;
|
||
|
0888 index = cat(1,index,i);
|
||
|
0889 <span class="keyword">end</span>
|
||
|
0890 eval([<span class="string">'oo_.SmoothedMeasurementErrors.'</span> deblank(options_.varobs(i,:)) <span class="keyword">...</span>
|
||
|
0891 <span class="string">' = measurement_error(i,:)'';'</span>]);
|
||
|
0892 <span class="keyword">end</span>
|
||
|
0893 [nbplt,nr,nc,lr,lc,nstar] = <a href="pltorg.html" class="code" title="function [nbplt,nr,nc,lr,lc,nstar] = pltorg(number)">pltorg</a>(number_of_plots_to_draw);
|
||
|
0894 <span class="keyword">if</span> options_.TeX
|
||
|
0895 fidTeX = fopen([M_.fname <span class="string">'_SmoothedObservationErrors.TeX'</span>],<span class="string">'w'</span>);
|
||
|
0896 fprintf(fidTeX,<span class="string">'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'</span>);
|
||
|
0897 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0) <span class="string">'\n'</span>]);
|
||
|
0898 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
0899 <span class="keyword">end</span>
|
||
|
0900 <span class="keyword">if</span> nbplt == 1
|
||
|
0901 hh = figure(<span class="string">'Name'</span>,<span class="string">'Smoothed observation errors'</span>);
|
||
|
0902 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
0903 NAMES = [];
|
||
|
0904 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
0905 <span class="keyword">for</span> i=1:number_of_plots_to_draw
|
||
|
0906 subplot(nr,nc,i);
|
||
|
0907 plot(1:gend,measurement_error(index(i),:),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
0908 hold on
|
||
|
0909 plot([1 gend],[0 0],<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,.5)
|
||
|
0910 hold off
|
||
|
0911 name = deblank(options_.varobs(index(i),:));
|
||
|
0912 NAMES = strvcat(NAMES,name);
|
||
|
0913 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
0914 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
0915 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
0916 <span class="keyword">end</span>
|
||
|
0917 <span class="keyword">if</span> options_.TeX
|
||
|
0918 idx = strmatch(options_.varobs(indx(i),:),M_.endo_names,<span class="string">'exact'</span>);
|
||
|
0919 texname = M_.endo_names_tex(idx,:);
|
||
|
0920 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
0921 <span class="keyword">end</span>
|
||
|
0922 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
0923 <span class="keyword">end</span>
|
||
|
0924 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(1)]);
|
||
|
0925 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(1)]);
|
||
|
0926 saveas(hh,[M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(1) <span class="string">'.fig'</span>]);
|
||
|
0927 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
0928 <span class="keyword">if</span> options_.TeX
|
||
|
0929 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
0930 <span class="keyword">for</span> jj = 1:number_of_plots_to_draw
|
||
|
0931 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
0932 <span class="keyword">end</span>
|
||
|
0933 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
0934 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_SmoothedObservationErrors%s}\n'</span>,M_.fname,int2str(1));
|
||
|
0935 fprintf(fidTeX,<span class="string">'\\caption{Smoothed observation errors.}'</span>);
|
||
|
0936 fprintf(fidTeX,<span class="string">'\\label{Fig:SmoothedObservationErrors:%s'</span>,int2str(1));
|
||
|
0937 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
0938 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
0939 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
0940 fclose(fidTeX);
|
||
|
0941 <span class="keyword">end</span>
|
||
|
0942 <span class="keyword">else</span>
|
||
|
0943 <span class="keyword">for</span> plt = 1:nbplt-1
|
||
|
0944 hh = figure(<span class="string">'Name'</span>,<span class="string">'Smoothed observation errors'</span>);
|
||
|
0945 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
0946 NAMES = [];
|
||
|
0947 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
0948 <span class="keyword">for</span> i=1:nstar
|
||
|
0949 k = (plt-1)*nstar+i;
|
||
|
0950 subplot(nr,nc,i);
|
||
|
0951 plot([1 gend],[0 0],<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,.5)
|
||
|
0952 hold on
|
||
|
0953 plot(1:gend,measurement_error(index(k),:),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
0954 hold off
|
||
|
0955 name = deblank(options_.varobs(index(k),:));
|
||
|
0956 NAMES = strvcat(NAMES,name);
|
||
|
0957 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
0958 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
0959 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
0960 <span class="keyword">end</span>
|
||
|
0961 <span class="keyword">if</span> options_.TeX
|
||
|
0962 idx = strmatch(options_.varobs(k),M_.endo_names,<span class="string">'exact'</span>);
|
||
|
0963 texname = M_.endo_names_tex(idx,:);
|
||
|
0964 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
0965 <span class="keyword">end</span>
|
||
|
0966 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
0967 <span class="keyword">end</span>
|
||
|
0968 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(plt)]);
|
||
|
0969 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(plt)]);
|
||
|
0970 saveas(hh,[M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(plt) <span class="string">'.fig'</span>]);
|
||
|
0971 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
0972 <span class="keyword">if</span> options_.TeX
|
||
|
0973 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
0974 <span class="keyword">for</span> jj = 1:nstar
|
||
|
0975 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
0976 <span class="keyword">end</span>
|
||
|
0977 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
0978 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_SmoothedObservationErrors%s}\n'</span>,M_.fname,int2str(plt));
|
||
|
0979 fprintf(fidTeX,<span class="string">'\\caption{Smoothed observation errors.}'</span>);
|
||
|
0980 fprintf(fidTeX,<span class="string">'\\label{Fig:SmoothedObservationErrors:%s}\n'</span>,int2str(plt));
|
||
|
0981 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
0982 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
0983 <span class="keyword">end</span>
|
||
|
0984 <span class="keyword">end</span>
|
||
|
0985 hh = figure(<span class="string">'Name'</span>,<span class="string">'Smoothed observation errors'</span>);
|
||
|
0986 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
0987 NAMES = [];
|
||
|
0988 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
0989 <span class="keyword">for</span> i=1:number_of_plots_to_draw-(nbplt-1)*nstar
|
||
|
0990 k = (nbplt-1)*nstar+i;
|
||
|
0991 <span class="keyword">if</span> lr ~= 0
|
||
|
0992 subplot(lr,lc,i);
|
||
|
0993 <span class="keyword">else</span>
|
||
|
0994 subplot(nr,nc,i);
|
||
|
0995 <span class="keyword">end</span>
|
||
|
0996 plot([1 gend],[0 0],<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,0.5)
|
||
|
0997 hold on
|
||
|
0998 plot(1:gend,measurement_error(index(k),:),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
0999 hold off
|
||
|
1000 name = deblank(options_.varobs(index(k),:));
|
||
|
1001 NAMES = strvcat(NAMES,name);
|
||
|
1002 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
1003 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
1004 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
1005 <span class="keyword">end</span>
|
||
|
1006 <span class="keyword">if</span> options_.TeX
|
||
|
1007 idx = strmatch(options_.varobs(index(k)),M_.endo_names,<span class="string">'exact'</span>);
|
||
|
1008 texname = M_.endo_names_tex(idx,:);
|
||
|
1009 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
1010 <span class="keyword">end</span>
|
||
|
1011 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>);
|
||
|
1012 <span class="keyword">end</span>
|
||
|
1013 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(nbplt)]);
|
||
|
1014 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(nbplt)]);
|
||
|
1015 saveas(hh,[M_.fname <span class="string">'_SmoothedObservationErrors'</span> int2str(nbplt) <span class="string">'.fig'</span>]);
|
||
|
1016 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
1017 <span class="keyword">if</span> options_.TeX
|
||
|
1018 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
1019 <span class="keyword">for</span> jj = 1:size(NAMES,1);
|
||
|
1020 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
1021 <span class="keyword">end</span>
|
||
|
1022 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
1023 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_SmoothedObservedErrors%s}\n'</span>,M_.fname,int2str(nbplt));
|
||
|
1024 fprintf(fidTeX,<span class="string">'\\caption{Smoothed observed errors.}'</span>);
|
||
|
1025 fprintf(fidTeX,<span class="string">'\\label{Fig:SmoothedObservedErrors:%s}\n'</span>,int2str(nbplt));
|
||
|
1026 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
1027 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
1028 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
1029 fclose(fidTeX);
|
||
|
1030 <span class="keyword">end</span>
|
||
|
1031 <span class="keyword">end</span>
|
||
|
1032 <span class="keyword">end</span>
|
||
|
1033 <span class="comment">%%</span>
|
||
|
1034 <span class="comment">%% Historical and smoothed variabes</span>
|
||
|
1035 <span class="comment">%%</span>
|
||
|
1036 [nbplt,nr,nc,lr,lc,nstar] = <a href="pltorg.html" class="code" title="function [nbplt,nr,nc,lr,lc,nstar] = pltorg(number)">pltorg</a>(n_varobs);
|
||
|
1037 <span class="keyword">if</span> options_.TeX
|
||
|
1038 fidTeX = fopen([M_.fname <span class="string">'_HistoricalAndSmoothedVariables.TeX'</span>],<span class="string">'w'</span>);
|
||
|
1039 fprintf(fidTeX,<span class="string">'%% TeX eps-loader file generated by dynare_estimation.m (Dynare).\n'</span>);
|
||
|
1040 fprintf(fidTeX,[<span class="string">'%% '</span> datestr(now,0) <span class="string">'\n'</span>]);
|
||
|
1041 fprintf(fidTeX,<span class="string">' \n'</span>);
|
||
|
1042 <span class="keyword">end</span>
|
||
|
1043 <span class="keyword">if</span> nbplt == 1
|
||
|
1044 hh = figure(<span class="string">'Name'</span>,<span class="string">'Historical and smoothed variables'</span>);
|
||
|
1045 NAMES = [];
|
||
|
1046 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
1047 <span class="keyword">for</span> i=1:n_varobs
|
||
|
1048 subplot(nr,nc,i);
|
||
|
1049 plot(1:gend,yf(i,:),<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
1050 hold on
|
||
|
1051 plot(1:gend,rawdata(:,i),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
1052 hold off
|
||
|
1053 name = deblank(options_.varobs(i,:));
|
||
|
1054 NAMES = strvcat(NAMES,name);
|
||
|
1055 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
1056 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
1057 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
1058 <span class="keyword">end</span>
|
||
|
1059 xlim([1 gend])
|
||
|
1060 <span class="keyword">if</span> options_.TeX
|
||
|
1061 idx = strmatch(options_.varobs(i),M_.endo_names,<span class="string">'exact'</span>);
|
||
|
1062 texname = M_.endo_names_tex(idx,:);
|
||
|
1063 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
1064 <span class="keyword">end</span>
|
||
|
1065 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
1066 <span class="keyword">end</span>
|
||
|
1067 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(1)]);
|
||
|
1068 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(1)]);
|
||
|
1069 saveas(hh,[M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(1) <span class="string">'.fig'</span>]);
|
||
|
1070 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
1071 <span class="keyword">if</span> options_.TeX
|
||
|
1072 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
1073 <span class="keyword">for</span> jj = 1:n_varobs
|
||
|
1074 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
1075 <span class="keyword">end</span>
|
||
|
1076 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
1077 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n'</span>,M_.fname,int2str(1));
|
||
|
1078 fprintf(fidTeX,<span class="string">'\\caption{Historical and smoothed variables.}'</span>);
|
||
|
1079 fprintf(fidTeX,<span class="string">'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n'</span>,int2str(1));
|
||
|
1080 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
1081 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
1082 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
1083 fclose(fidTeX);
|
||
|
1084 <span class="keyword">end</span>
|
||
|
1085 <span class="keyword">else</span>
|
||
|
1086 <span class="keyword">for</span> plt = 1:nbplt-1
|
||
|
1087 hh = figure(<span class="string">'Name'</span>,<span class="string">'Historical and smoothed variables'</span>);
|
||
|
1088 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
1089 NAMES = [];
|
||
|
1090 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
1091 <span class="keyword">for</span> i=1:nstar
|
||
|
1092 k = (plt-1)*nstar+i;
|
||
|
1093 subplot(nr,nc,i);
|
||
|
1094 plot(1:gend,yf(k,:),<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
1095 hold on
|
||
|
1096 plot(1:gend,rawdata(:,k),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
1097 hold off
|
||
|
1098 name = deblank(options_.varobs(k,:));
|
||
|
1099 NAMES = strvcat(NAMES,name);
|
||
|
1100 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
1101 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
1102 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
1103 <span class="keyword">end</span>
|
||
|
1104 xlim([1 gend])
|
||
|
1105 <span class="keyword">if</span> options_.TeX
|
||
|
1106 idx = strmatch(options_.varobs(k),M_.endo_names,<span class="string">'exact'</span>);
|
||
|
1107 texname = M_.endo_names_tex(idx,:);
|
||
|
1108 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
1109 <span class="keyword">end</span>
|
||
|
1110 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>)
|
||
|
1111 <span class="keyword">end</span>
|
||
|
1112 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(plt)]);
|
||
|
1113 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(plt)]);
|
||
|
1114 saveas(hh,[M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(plt) <span class="string">'.fig'</span>]);
|
||
|
1115 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
1116 <span class="keyword">if</span> options_.TeX
|
||
|
1117 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
1118 <span class="keyword">for</span> jj = 1:nstar
|
||
|
1119 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
1120 <span class="keyword">end</span>
|
||
|
1121 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
1122 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n'</span>,M_.fname,int2str(plt));
|
||
|
1123 fprintf(fidTeX,<span class="string">'\\caption{Historical and smoothed variables.}'</span>);
|
||
|
1124 fprintf(fidTeX,<span class="string">'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n'</span>,int2str(plt));
|
||
|
1125 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
1126 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
1127 <span class="keyword">end</span>
|
||
|
1128 <span class="keyword">end</span>
|
||
|
1129 hh = figure(<span class="string">'Name'</span>,<span class="string">'Historical and smoothed variables'</span>);
|
||
|
1130 set(0,<span class="string">'CurrentFigure'</span>,hh)
|
||
|
1131 NAMES = [];
|
||
|
1132 <span class="keyword">if</span> options_.TeX, TeXNAMES = [], <span class="keyword">end</span>
|
||
|
1133 <span class="keyword">for</span> i=1:n_varobs-(nbplt-1)*nstar
|
||
|
1134 k = (nbplt-1)*nstar+i;
|
||
|
1135 <span class="keyword">if</span> lr ~= 0
|
||
|
1136 subplot(lr,lc,i);
|
||
|
1137 <span class="keyword">else</span>
|
||
|
1138 subplot(nr,nc,i);
|
||
|
1139 <span class="keyword">end</span>
|
||
|
1140 plot(1:gend,yf(k,:),<span class="string">'-r'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
1141 hold on
|
||
|
1142 plot(1:gend,rawdata(:,k),<span class="string">'-k'</span>,<span class="string">'linewidth'</span>,1)
|
||
|
1143 hold off
|
||
|
1144 name = deblank(options_.varobs(k,:));
|
||
|
1145 NAMES = strvcat(NAMES,name);
|
||
|
1146 <span class="keyword">if</span> ~isempty(options_.XTick)
|
||
|
1147 set(gca,<span class="string">'XTick'</span>,options_.XTick)
|
||
|
1148 set(gca,<span class="string">'XTickLabel'</span>,options_.XTickLabel)
|
||
|
1149 <span class="keyword">end</span>
|
||
|
1150 xlim([1 gend])
|
||
|
1151 <span class="keyword">if</span> options_.TeX
|
||
|
1152 idx = strmatch(options_.varobs(i),M_.endo_names,<span class="string">'exact'</span>);
|
||
|
1153 texname = M_.endo_names_tex(idx,:);
|
||
|
1154 TeXNAMES = strvcat(TeXNAMES,[<span class="string">'$ '</span> deblank(texname) <span class="string">' $'</span>]);
|
||
|
1155 <span class="keyword">end</span>
|
||
|
1156 title(name,<span class="string">'Interpreter'</span>,<span class="string">'none'</span>);
|
||
|
1157 <span class="keyword">end</span>
|
||
|
1158 eval([<span class="string">'print -depsc2 '</span> M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(nbplt)]);
|
||
|
1159 eval([<span class="string">'print -dpdf '</span> M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(nbplt)]);
|
||
|
1160 saveas(hh,[M_.fname <span class="string">'_HistoricalAndSmoothedVariables'</span> int2str(nbplt) <span class="string">'.fig'</span>]);
|
||
|
1161 <span class="keyword">if</span> options_.nograph, close(hh), <span class="keyword">end</span>
|
||
|
1162 <span class="keyword">if</span> options_.TeX
|
||
|
1163 fprintf(fidTeX,<span class="string">'\\begin{figure}[H]\n'</span>);
|
||
|
1164 <span class="keyword">for</span> jj = 1:size(NAMES,1);
|
||
|
1165 fprintf(fidTeX,<span class="string">'\\psfrag{%s}[1][][0.5][0]{%s}\n'</span>,deblank(NAMES(jj,:)),deblank(TeXNAMES(jj,:)));
|
||
|
1166 <span class="keyword">end</span>
|
||
|
1167 fprintf(fidTeX,<span class="string">'\\centering \n'</span>);
|
||
|
1168 fprintf(fidTeX,<span class="string">'\\includegraphics[scale=0.5]{%s_HistoricalAndSmoothedVariables%s}\n'</span>,M_.fname,int2str(nbplt));
|
||
|
1169 fprintf(fidTeX,<span class="string">'\\caption{Historical and smoothed variables.}'</span>);
|
||
|
1170 fprintf(fidTeX,<span class="string">'\\label{Fig:HistoricalAndSmoothedVariables:%s}\n'</span>,int2str(nbplt));
|
||
|
1171 fprintf(fidTeX,<span class="string">'\\end{figure}\n'</span>);
|
||
|
1172 fprintf(fidTeX,<span class="string">'\n'</span>);
|
||
|
1173 fprintf(fidTeX,<span class="string">'%% End of TeX file.\n'</span>);
|
||
|
1174 fclose(fidTeX);
|
||
|
1175 <span class="keyword">end</span>
|
||
|
1176 <span class="keyword">end</span>
|
||
|
1177 <span class="keyword">end</span>
|
||
|
1178
|
||
|
1179
|
||
|
1180
|
||
|
1181 <span class="comment">% <-- if ML estimation, posterior mode without metropolis-hastings or metropolis</span>
|
||
|
1182 <span class="comment">% without bayesian posterior forecasts.</span>
|
||
|
1183
|
||
|
1184 <span class="comment">% SA 07-31-2004 * Added TeX output.</span>
|
||
|
1185 <span class="comment">% * Prior plots are done by calling plot_priors.m.</span>
|
||
|
1186 <span class="comment">% * All the computations related to the metropolis-hastings are made</span>
|
||
|
1187 <span class="comment">% in a new version of metropolis.m.</span>
|
||
|
1188 <span class="comment">% * Corrected a bug related to prior's bounds.</span>
|
||
|
1189 <span class="comment">% * ...</span>
|
||
|
1190 <span class="comment">% * If you do not want to see all the figures generated by dynare, you can use the option</span>
|
||
|
1191 <span class="comment">% nograph. The figures will be done and saved in formats eps, pdf and fig (so that you</span>
|
||
|
1192 <span class="comment">% should be able to modify the plots within matlab) but each figure will be erased from the</span>
|
||
|
1193 <span class="comment">% workspace when completed.</span>
|
||
|
1194 <span class="comment">% SA 08-04-2004 Corrected a bug related to the display of the Smooth shocks and variables plots,</span>
|
||
|
1195 <span class="comment">% for ML and posterior mode estimation.</span>
|
||
|
1196 <span class="comment">% SA 09-03-2004 Compilation of TeX appendix moved to dynare.m.</span></pre></div>
|
||
|
<hr><address>Generated on Fri 16-Jun-2006 09:09:06 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address>
|
||
|
</body>
|
||
|
</html>
|