302 lines
23 KiB
HTML
302 lines
23 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_MC</title>
|
|
<meta name="keywords" content="dynare_MC">
|
|
<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_MC.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_MC
|
|
</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_MC(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="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="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></ul>
|
|
This function is called by:
|
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
|
<li><a href="dynare_sensitivity.html" class="code" title="function x0=dynare_sensitivity()">dynare_sensitivity</a> copyright Marco Ratto 2006</li></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_MC(var_list_)</a>
|
|
0002
|
|
0003 <span class="keyword">global</span> M_ options_ oo_ estim_params_
|
|
0004 <span class="keyword">global</span> bayestopt_
|
|
0005
|
|
0006 options_.varlist = var_list_;
|
|
0007 options_.lgyidx2varobs = zeros(size(M_.endo_names,1),1);
|
|
0008 <span class="keyword">for</span> i = 1:size(M_.endo_names,1)
|
|
0009 tmp = strmatch(deblank(M_.endo_names(i,:)),options_.varobs,<span class="string">'exact'</span>);
|
|
0010 <span class="keyword">if</span> ~isempty(tmp)
|
|
0011 options_.lgyidx2varobs(i,1) = tmp;
|
|
0012 <span class="keyword">end</span>
|
|
0013 <span class="keyword">end</span>
|
|
0014
|
|
0015 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);
|
|
0016 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);
|
|
0017 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);
|
|
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">'lik_algo'</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">'lik_init'</span>,1);
|
|
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">'nograph'</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">'mh_conf_sig'</span>,0.90);
|
|
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">'mh_replic'</span>,20000);
|
|
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">'mh_drop'</span>,0.5);
|
|
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_jscale'</span>,0.2);
|
|
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_init_scale'</span>,2*options_.mh_jscale);
|
|
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">'mode_file'</span>,<span class="string">''</span>);
|
|
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">'mode_compute'</span>,4);
|
|
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">'mode_check'</span>,0);
|
|
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">'prior_trunc'</span>,1e-10);
|
|
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">'mh_mode'</span>,1);
|
|
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">'mh_nblck'</span>,2);
|
|
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">'load_mh_file'</span>,0);
|
|
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">'nodiagnostic'</span>,0);
|
|
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">'loglinear'</span>,0);
|
|
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">'unit_root_vars'</span>,[]);
|
|
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">'XTick'</span>,[]);
|
|
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">'XTickLabel'</span>,[]);
|
|
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">'bayesian_irf'</span>,0);
|
|
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">'bayesian_th_moments'</span>,0);
|
|
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">'TeX'</span>,0);
|
|
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">'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">'relative_irf'</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">'order'</span>,1);
|
|
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">'ar'</span>,5);
|
|
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">'dr_algo'</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">'linear'</span>,0);
|
|
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">'drop'</span>,0);
|
|
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">'replic'</span>,1);
|
|
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">'hp_filter'</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">'forecast'</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">'smoother'</span>,0);
|
|
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">'moments_varendo'</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">'filtered_vars'</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">'kalman_algo'</span>,1);
|
|
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">'kalman_tol'</span>,10^(-12));
|
|
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">'posterior_mode_estimation'</span>,1);
|
|
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">'MaxNumberOfBytes'</span>,1e6);
|
|
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">'xls_sheet'</span>,<span class="string">''</span>);
|
|
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">'xls_range'</span>,<span class="string">''</span>);
|
|
0060
|
|
0061 <span class="comment">%% Add something to the parser ++></span>
|
|
0062 M_.dname = M_.fname; <span class="comment">% The user should be able to choose another name</span>
|
|
0063 <span class="comment">% for the directory...</span>
|
|
0064
|
|
0065
|
|
0066 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>];
|
|
0067 n_varobs = size(options_.varobs,1);
|
|
0068
|
|
0069 [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_);
|
|
0070
|
|
0071 options_.mh_replic = 0;
|
|
0072
|
|
0073 bounds = <a href="prior_bounds.html" class="code" title="function bounds = prior_bounds(bayestopt)">prior_bounds</a>(bayestopt_);
|
|
0074 bounds(:,1)=max(bounds(:,1),lb);
|
|
0075 bounds(:,2)=min(bounds(:,2),ub);
|
|
0076
|
|
0077 <span class="keyword">if</span> any(xparam1 < bounds(:,1)) | any(xparam1 > bounds(:,2))
|
|
0078 find(xparam1 < bounds(:,1))
|
|
0079 find(xparam1 > bounds(:,2))
|
|
0080 error(<span class="string">'Initial parameter values are outside parameter bounds'</span>)
|
|
0081 <span class="keyword">end</span>
|
|
0082 lb = bounds(:,1);
|
|
0083 ub = bounds(:,2);
|
|
0084 bayestopt_.lb = lb;
|
|
0085 bayestopt_.ub = ub;
|
|
0086
|
|
0087 <span class="keyword">if</span> ~isfield(options_,<span class="string">'trend_coeffs'</span>)
|
|
0088 bayestopt_.with_trend = 0;
|
|
0089 <span class="keyword">else</span>
|
|
0090 bayestopt_.with_trend = 1;
|
|
0091 bayestopt_.trend_coeff = {};
|
|
0092 trend_coeffs = options_.trend_coeffs;
|
|
0093 nt = length(trend_coeffs);
|
|
0094 <span class="keyword">for</span> i=1:n_varobs
|
|
0095 <span class="keyword">if</span> i > length(trend_coeffs)
|
|
0096 bayestopt_.trend_coeff{i} = <span class="string">'0'</span>;
|
|
0097 <span class="keyword">else</span>
|
|
0098 bayestopt_.trend_coeff{i} = trend_coeffs{i};
|
|
0099 <span class="keyword">end</span>
|
|
0100 <span class="keyword">end</span>
|
|
0101 <span class="keyword">end</span>
|
|
0102
|
|
0103 bayestopt_.penalty = 1e8; <span class="comment">% penalty</span>
|
|
0104
|
|
0105 nvx = estim_params_.nvx;
|
|
0106 nvn = estim_params_.nvn;
|
|
0107 ncx = estim_params_.ncx;
|
|
0108 ncn = estim_params_.ncn;
|
|
0109 np = estim_params_.np ;
|
|
0110 nx = nvx+nvn+ncx+ncn+np;
|
|
0111
|
|
0112 <span class="comment">%% Static solver</span>
|
|
0113 <span class="keyword">if</span> exist([M_.fname <span class="string">'_steadystate'</span>])
|
|
0114 bayestopt_.static_solve = [M_.fname <span class="string">'_steadystate'</span>];
|
|
0115 <span class="keyword">else</span>
|
|
0116 bayestopt_.static_solve = <span class="string">'dynare_solve'</span>;
|
|
0117 <span class="keyword">end</span>
|
|
0118
|
|
0119 dr = <a href="set_state_space.html" class="code" title="function dr=set_state_space(dr)">set_state_space</a>([]);
|
|
0120
|
|
0121 <span class="comment">%% Initialization with unit-root variables</span>
|
|
0122 <span class="keyword">if</span> ~isempty(options_.unit_root_vars)
|
|
0123 n_ur = size(options_.unit_root_vars,1);
|
|
0124 i_ur = zeros(n_ur,1);
|
|
0125 <span class="keyword">for</span> i=1:n_ur
|
|
0126 i1 = strmatch(deblank(options_.unit_root_vars(i,:)),M_.endo_names(dr.order_var,:),<span class="string">'exact'</span>);
|
|
0127 <span class="keyword">if</span> isempty(i1)
|
|
0128 error(<span class="string">'Undeclared variable in unit_root_vars statement'</span>)
|
|
0129 <span class="keyword">end</span>
|
|
0130 i_ur(i) = i1;
|
|
0131 <span class="keyword">end</span>
|
|
0132 <span class="keyword">if</span> M_.maximum_lag > 1
|
|
0133 l1 = flipud([cumsum(M_.lead_lag_incidence(1:M_.maximum_lag-1,dr.order_var),1);ones(1,M_.endo_nbr)]);
|
|
0134 n1 = nnz(l1);
|
|
0135 bayestopt_.Pinf = zeros(n1,n1);
|
|
0136 l2 = find(l1');
|
|
0137 l3 = zeros(M_.endo_nbr,M_.maximum_lag);
|
|
0138 l3(i_ur,:) = l1(:,i_ur)';
|
|
0139 l3 = l3(:);
|
|
0140 i_ur1 = find(l3(l2));
|
|
0141 i_stable = ones(M_.endo_nbr,1);
|
|
0142 i_stable(i_ur) = zeros(n_ur,1);
|
|
0143 i_stable = find(i_stable);
|
|
0144 bayestopt_.Pinf(i_ur1,i_ur1) = diag(ones(1,length(i_ur1)));
|
|
0145 bayestopt_.i_var_stable = i_stable;
|
|
0146 l3 = zeros(M_.endo_nbr,M_.maximum_lag);
|
|
0147 l3(i_stable,:) = l1(:,i_stable)';
|
|
0148 l3 = l3(:);
|
|
0149 bayestopt_.i_T_var_stable = find(l3(l2));
|
|
0150 <span class="keyword">else</span>
|
|
0151 n1 = M_.endo_nbr;
|
|
0152 bayestopt_.Pinf = zeros(n1,n1);
|
|
0153 bayestopt_.Pinf(i_ur,i_ur) = diag(ones(1,length(i_ur)));
|
|
0154 l1 = ones(M_.endo_nbr,1);
|
|
0155 l1(i_ur,:) = zeros(length(i_ur),1);
|
|
0156 bayestopt_.i_T_var_stable = find(l1);
|
|
0157 <span class="keyword">end</span>
|
|
0158 options_.lik_init = 3;
|
|
0159 <span class="keyword">end</span> <span class="comment">% if ~isempty(options_.unit_root_vars)</span>
|
|
0160
|
|
0161 <span class="keyword">if</span> isempty(options_.datafile)
|
|
0162 error(<span class="string">'ESTIMATION: datafile option is missing'</span>)
|
|
0163 <span class="keyword">end</span>
|
|
0164
|
|
0165 <span class="keyword">if</span> isempty(options_.varobs)
|
|
0166 error(<span class="string">'ESTIMATION: VAROBS is missing'</span>)
|
|
0167 <span class="keyword">end</span>
|
|
0168
|
|
0169
|
|
0170 <span class="comment">%% If jscale isn't specified for an estimated parameter, use</span>
|
|
0171 <span class="comment">%% global option options_.jscale, set to 0.2, by default</span>
|
|
0172 k = find(isnan(bayestopt_.jscale));
|
|
0173 bayestopt_.jscale(k) = options_.mh_jscale;
|
|
0174
|
|
0175 <span class="comment">%% Read and demean data</span>
|
|
0176 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);
|
|
0177
|
|
0178 k = [];
|
|
0179 k1 = [];
|
|
0180 <span class="keyword">for</span> i=1:n_varobs
|
|
0181 k = [k strmatch(deblank(options_.varobs(i,:)),M_.endo_names(dr.order_var,:), <span class="keyword">...</span>
|
|
0182 <span class="string">'exact'</span>)];
|
|
0183 k1 = [k1 strmatch(deblank(options_.varobs(i,:)),M_.endo_names, <span class="string">'exact'</span>)];
|
|
0184 <span class="keyword">end</span>
|
|
0185
|
|
0186 bayestopt_.mf = k;
|
|
0187 bayestopt_.mfys = k1;
|
|
0188 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);
|
|
0189 gend = options_.nobs;
|
|
0190
|
|
0191 rawdata = rawdata(options_.first_obs:options_.first_obs+gend-1,:);
|
|
0192 <span class="keyword">if</span> options_.loglinear == 1
|
|
0193 rawdata = log(rawdata);
|
|
0194 <span class="keyword">end</span>
|
|
0195 <span class="keyword">if</span> options_.prefilter == 1
|
|
0196 bayestopt_.mean_varobs = mean(rawdata,1);
|
|
0197 data = transpose(rawdata-ones(gend,1)*bayestopt_.mean_varobs);
|
|
0198 <span class="keyword">else</span>
|
|
0199 data = transpose(rawdata);
|
|
0200 <span class="keyword">end</span>
|
|
0201
|
|
0202 <span class="keyword">if</span> ~isreal(rawdata)
|
|
0203 error([<span class="string">'There are complex values in the data. Probably a wrong'</span> <span class="keyword">...</span>
|
|
0204 <span class="string">' transformation'</span>])
|
|
0205 <span class="keyword">end</span>
|
|
0206
|
|
0207 nvx = estim_params_.nvx;
|
|
0208 nvn = estim_params_.nvn;
|
|
0209 ncx = estim_params_.ncx;
|
|
0210 ncn = estim_params_.ncn;
|
|
0211 np = estim_params_.np ;
|
|
0212 npar = nvx+nvn+ncx+ncn+np;
|
|
0213 offset = npar-np;
|
|
0214 fname_=M_.fname;
|
|
0215
|
|
0216 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">'opt_gsa'</span>,1);
|
|
0217 options_gsa_ = options_.opt_gsa;
|
|
0218
|
|
0219 <span class="keyword">if</span> options_gsa_.pprior,
|
|
0220 load([fname_,<span class="string">'_prior'</span>])
|
|
0221 namfile=[fname_,<span class="string">'_prior'</span>];
|
|
0222 <span class="keyword">else</span>
|
|
0223 load([fname_,<span class="string">'_mc'</span>])
|
|
0224 namfile=[fname_,<span class="string">'_mc'</span>];
|
|
0225 <span class="keyword">end</span>
|
|
0226 load(options_.mode_file)
|
|
0227 <span class="comment">%%</span>
|
|
0228 <span class="comment">%%</span>
|
|
0229 <span class="comment">%%</span>
|
|
0230 x=[lpmat0(istable,:) lpmat(istable,:)];
|
|
0231 clear lpmat lpmat0 istable iunstable egg yys T
|
|
0232 B = size(x,1);
|
|
0233 <span class="keyword">if</span> M_.maximum_lag > 1
|
|
0234 l1 = flipud([cumsum(M_.lead_lag_incidence(1:M_.maximum_lag-1,dr.order_var),1);ones(1,M_.endo_nbr)]);
|
|
0235 n1 = nnz(l1);
|
|
0236 <span class="keyword">else</span>
|
|
0237 n1 = M_.endo_nbr;
|
|
0238 <span class="keyword">end</span>
|
|
0239 stock_smooth = zeros(gend,n1,B);
|
|
0240 stock_filter = zeros(gend+1,n1,B);
|
|
0241 stock_ys = zeros(M_.endo_nbr,B);
|
|
0242 <span class="comment">%%</span>
|
|
0243 h = waitbar(0,<span class="string">'MC smoother ...'</span>);
|
|
0244 <span class="keyword">for</span> b=1:B
|
|
0245 deep = x(b,:);
|
|
0246 <span class="comment">%deep(1:offset) = xparam1(1:offset);</span>
|
|
0247 logpo2(b) = <a href="DsgeLikelihood.html" class="code" title="function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data)">DsgeLikelihood</a>(deep',gend,data);
|
|
0248 [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>(deep,gend,data);
|
|
0249 stock_smooth(:,:,b)=atT';
|
|
0250 stock_filter(:,:,b)=filtered_state_vector';
|
|
0251 stock_ys(:,b)=ys;
|
|
0252 waitbar(b/B,h,[<span class="string">'MC smoother ...'</span>,num2str(b),<span class="string">'/'</span>,num2str(B)]);
|
|
0253 <span class="keyword">end</span>
|
|
0254 close(h)
|
|
0255
|
|
0256 save(namfile,<span class="string">'x'</span>,<span class="string">'logpo2'</span>,<span class="string">'stock_smooth'</span>,<span class="string">'stock_filter'</span>,<span class="string">'stock_ys'</span>,<span class="string">'-append'</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> |