dynare/matlab/doc/GetPosteriorParametersStati...

204 lines
17 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 GetPosteriorParametersStatistics</title>
<meta name="keywords" content="GetPosteriorParametersStatistics">
<meta name="description" content="stephane.adjemian@ens.fr [09-09-2005]">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="m2html &copy; 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> &gt; <a href="index.html">.</a> &gt; GetPosteriorParametersStatistics.m</div>
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for .&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
<h1>GetPosteriorParametersStatistics
</h1>
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>stephane.adjemian@ens.fr [09-09-2005]</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 GetPosteriorParametersStatistics() </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"> stephane.adjemian@ens.fr [09-09-2005]</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="GetAllPosteriorDraws.html" class="code" title="function Draws = GetAllPosteriorDraws(column,FirstMhFile,FirstLine,TotalNumberOfMhFile,NumberOfDraws)">GetAllPosteriorDraws</a> stephane.adjemian@ens.fr [09-09-2005]</li><li><a href="posterior_moments.html" class="code" title="function [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = posterior_moments(xx,info)">posterior_moments</a> stephane.adjemian@ens.fr [09-09-2005]</li></ul>
This function is called by:
<ul style="list-style-image:url(../matlabicon.gif)">
<li><a href="dynare_estimation.html" class="code" title="function dynare_estimation(var_list_)">dynare_estimation</a> </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 GetPosteriorParametersStatistics()</a>
0002 <span class="comment">% stephane.adjemian@ens.fr [09-09-2005]</span>
0003 <span class="keyword">global</span> estim_params_ M_ options_ bayestopt_ oo_
0004
0005 TeX = options_.TeX;
0006 nblck = options_.mh_nblck;
0007 nvx = estim_params_.nvx;
0008 nvn = estim_params_.nvn;
0009 ncx = estim_params_.ncx;
0010 ncn = estim_params_.ncn;
0011 np = estim_params_.np ;
0012 nx = nvx+nvn+ncx+ncn+np;
0013
0014 DirectoryName = <a href="CheckPath.html" class="code" title="function DirectoryName = CheckPath(type)">CheckPath</a>(<span class="string">'metropolis'</span>);
0015 load([ DirectoryName <span class="string">'/'</span> M_.fname <span class="string">'_mh_history'</span>])
0016 FirstMhFile = record.KeepedDraws.FirstMhFile;
0017 FirstLine = record.KeepedDraws.FirstLine; ifil = FirstLine;
0018 TotalNumberOfMhFiles = sum(record.MhDraws(:,2))
0019 TotalNumberOfMhDraws = sum(record.MhDraws(:,1));
0020 FirstMhFile = record.KeepedDraws.FirstMhFile;
0021 NumberOfDraws = TotalNumberOfMhDraws-floor(options_.mh_drop*TotalNumberOfMhDraws);
0022 clear record;
0023
0024 disp(<span class="string">' '</span>)
0025 disp(<span class="string">' '</span>)
0026 disp(<span class="string">'ESTIMATION RESULTS'</span>)
0027 disp(<span class="string">' '</span>)
0028 disp(sprintf(<span class="string">'Log data density is %f.'</span>,oo_.MarginalDensity.ModifiedHarmonicMean))
0029 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>];
0030 tit2 = sprintf(<span class="string">'%10s %7s %10s %14s %4s %6s\n'</span>,<span class="string">' '</span>,<span class="string">'prior mean'</span>,<span class="string">'post. mean'</span>,<span class="string">'conf. interval'</span>,<span class="string">'prior'</span>,<span class="string">'pstdev'</span>);
0031 <span class="keyword">if</span> np
0032 disp(<span class="string">' '</span>)
0033 disp(<span class="string">'parameters'</span>)
0034 disp(tit2)
0035 ip = nvx+nvn+ncx+ncn+1;
0036 <span class="keyword">for</span> i=1:np
0037 Draws = <a href="GetAllPosteriorDraws.html" class="code" title="function Draws = GetAllPosteriorDraws(column,FirstMhFile,FirstLine,TotalNumberOfMhFile,NumberOfDraws)">GetAllPosteriorDraws</a>(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
0038 [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = <a href="posterior_moments.html" class="code" title="function [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = posterior_moments(xx,info)">posterior_moments</a>(Draws,1);
0039 name = bayestopt_.name{ip};
0040 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, <span class="keyword">...</span>
0041 name, <span class="keyword">...</span>
0042 bayestopt_.pmean(ip),post_mean,hpd_interval, <span class="keyword">...</span>
0043 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
0044 bayestopt_.pstdev(ip)));
0045 eval([<span class="string">'oo_.posterior_mean.parameters.'</span> name <span class="string">' = post_mean;'</span>]);
0046 eval([<span class="string">'oo_.posterior_hpdinf.parameters.'</span> name <span class="string">' = hpd_interval(1);'</span>]);
0047 eval([<span class="string">'oo_.posterior_hpdsup.parameters.'</span> name <span class="string">' = hpd_interval(2);'</span>]);
0048 eval([<span class="string">'oo_.posterior_median.'</span> name <span class="string">' = post_median;'</span>]);
0049 eval([<span class="string">'oo_.posterior_variance.'</span> name <span class="string">' = post_var;'</span>]);
0050 eval([<span class="string">'oo_.posterior_deciles.'</span> name <span class="string">' = post_deciles;'</span>]);
0051 eval([<span class="string">'oo_.posterior_density.'</span> name <span class="string">' = density;'</span>]);
0052 ip = ip+1;
0053 <span class="keyword">end</span>
0054 <span class="keyword">end</span>
0055 <span class="keyword">if</span> nvx
0056 ip = 1;
0057 disp(<span class="string">' '</span>)
0058 disp(<span class="string">'standard deviation of shocks'</span>)
0059 disp(tit2)
0060 <span class="keyword">for</span> i=1:nvx
0061 Draws = <a href="GetAllPosteriorDraws.html" class="code" title="function Draws = GetAllPosteriorDraws(column,FirstMhFile,FirstLine,TotalNumberOfMhFile,NumberOfDraws)">GetAllPosteriorDraws</a>(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
0062 [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = <a href="posterior_moments.html" class="code" title="function [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = posterior_moments(xx,info)">posterior_moments</a>(Draws,1);
0063 k = estim_params_.var_exo(i,1);
0064 name = deblank(M_.exo_names(k,:));
0065 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, <span class="keyword">...</span>
0066 name,bayestopt_.pmean(ip),post_mean, <span class="keyword">...</span>
0067 hpd_interval,pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
0068 bayestopt_.pstdev(ip)));
0069 M_.Sigma_e(k,k) = post_mean*post_mean;
0070 eval([<span class="string">'oo_.posterior_mean.shocks_std.'</span> name <span class="string">' = post_mean;'</span>]);
0071 eval([<span class="string">'oo_.posterior_hpdinf.shocks_std.'</span> name <span class="string">' = hpd_interval(1);'</span>]);
0072 eval([<span class="string">'oo_.posterior_hpdsup.shocks_std.'</span> name <span class="string">' = hpd_interval(2);'</span>]);
0073 eval([<span class="string">'oo_.posterior_median.shocks_std.'</span> name <span class="string">' = post_median;'</span>]);
0074 eval([<span class="string">'oo_.posterior_variance.shocks_std.'</span> name <span class="string">' = post_var;'</span>]);
0075 eval([<span class="string">'oo_.posterior_deciles.shocks_std.'</span> name <span class="string">' = post_deciles;'</span>]);
0076 eval([<span class="string">'oo_.posterior_density.shocks_std.'</span> name <span class="string">' = density;'</span>]);
0077 ip = ip+1;
0078 <span class="keyword">end</span>
0079 <span class="keyword">end</span>
0080 <span class="keyword">if</span> nvn
0081 disp(<span class="string">' '</span>)
0082 disp(<span class="string">'standard deviation of measurement errors'</span>)
0083 disp(tit2)
0084 ip = nvx+1;
0085 <span class="keyword">for</span> i=1:nvn
0086 Draws = <a href="GetAllPosteriorDraws.html" class="code" title="function Draws = GetAllPosteriorDraws(column,FirstMhFile,FirstLine,TotalNumberOfMhFile,NumberOfDraws)">GetAllPosteriorDraws</a>(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
0087 [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = <a href="posterior_moments.html" class="code" title="function [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = posterior_moments(xx,info)">posterior_moments</a>(Draws,1);
0088 name = deblank(options_.varobs(estim_params_.var_endo(i,1),:));
0089 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, <span class="keyword">...</span>
0090 name,<span class="keyword">...</span>
0091 bayestopt_.pmean(ip), <span class="keyword">...</span>
0092 post_mean,hpd_interval, <span class="keyword">...</span>
0093 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
0094 bayestopt_.pstdev(ip)));
0095 eval([<span class="string">'oo_.posterior_mean.measurement_errors_std.'</span> name <span class="string">' = post_mean;'</span>]);
0096 eval([<span class="string">'oo_.posterior_hpdinf.measurement_errors_std.'</span> name <span class="string">' = hpd_interval(1);'</span>]);
0097 eval([<span class="string">'oo_.posterior_hpdsup.measurement_errors_std.'</span> name <span class="string">' = hpd_interval(2);'</span>]);
0098 eval([<span class="string">'oo_.posterior_median.measurement_errors_std.'</span> name <span class="string">' = post_median;'</span>]);
0099 eval([<span class="string">'oo_.posterior_variance.measurement_errors_std.'</span> name <span class="string">' = post_var;'</span>]);
0100 eval([<span class="string">'oo_.posterior_deciles.measurement_errors_std.'</span> name <span class="string">' = post_deciles;'</span>]);
0101 eval([<span class="string">'oo_.posterior_density.measurement_errors_std.'</span> name <span class="string">' = density;'</span>]);
0102 ip = ip+1;
0103 <span class="keyword">end</span>
0104 <span class="keyword">end</span>
0105 <span class="keyword">if</span> ncx
0106 disp(<span class="string">' '</span>)
0107 disp(<span class="string">'correlation of shocks'</span>)
0108 disp(tit2)
0109 ip = nvx+nvn+1;
0110 <span class="keyword">for</span> i=1:ncx
0111 Draws = <a href="GetAllPosteriorDraws.html" class="code" title="function Draws = GetAllPosteriorDraws(column,FirstMhFile,FirstLine,TotalNumberOfMhFile,NumberOfDraws)">GetAllPosteriorDraws</a>(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
0112 [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = <a href="posterior_moments.html" class="code" title="function [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = posterior_moments(xx,info)">posterior_moments</a>(Draws,1);
0113 k1 = estim_params_.corrx(i,1);
0114 k2 = estim_params_.corrx(i,2);
0115 name = [deblank(M_.exo_names(k1,:)) <span class="string">','</span> deblank(M_.exo_names(k2,:))];
0116 NAME = [deblank(M_.exo_names(k1,:)) <span class="string">'_'</span> deblank(M_.exo_names(k2,:))];
0117 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, name, <span class="keyword">...</span>
0118 bayestopt_.pmean(ip),post_mean,hpd_interval, <span class="keyword">...</span>
0119 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
0120 bayestopt_.pstdev(ip)));
0121 eval([<span class="string">'oo_.posterior_mean.shocks_corr.'</span> NAME <span class="string">' = post_mean;'</span>]);
0122 eval([<span class="string">'oo_.posterior_hpdinf.shocks_corr.'</span> NAME <span class="string">' = hpd_interval(1);'</span>]);
0123 eval([<span class="string">'oo_.posterior_hpdsup.shocks_corr.'</span> NAME <span class="string">' = hpd_interval(2);'</span>]);
0124 eval([<span class="string">'oo_.posterior_median.shocks_corr.'</span> NAME <span class="string">' = post_median;'</span>]);
0125 eval([<span class="string">'oo_.posterior_variance.shocks_corr.'</span> NAME <span class="string">' = post_var;'</span>]);
0126 eval([<span class="string">'oo_.posterior_deciles.shocks_corr.'</span> NAME <span class="string">' = post_deciles;'</span>]);
0127 eval([<span class="string">'oo_.posterior_density.shocks_corr.'</span> NAME <span class="string">' = density;'</span>]);
0128 M_.Sigma_e(k1,k2) = post_mean*sqrt(M_.Sigma_e(k1,k1)*M_.Sigma_e(k2,k2));
0129 M_.Sigma_e(k2,k1) = M_.Sigma_e(k1,k2);
0130 ip = ip+1;
0131 <span class="keyword">end</span>
0132 <span class="keyword">end</span>
0133 <span class="keyword">if</span> ncn
0134 disp(<span class="string">' '</span>)
0135 disp(<span class="string">'correlation of measurement errors'</span>)
0136 disp(tit2)
0137 ip = nvx+nvn+ncx+1;
0138 <span class="keyword">for</span> i=1:ncn
0139 Draws = <a href="GetAllPosteriorDraws.html" class="code" title="function Draws = GetAllPosteriorDraws(column,FirstMhFile,FirstLine,TotalNumberOfMhFile,NumberOfDraws)">GetAllPosteriorDraws</a>(ip,FirstMhFile,FirstLine,TotalNumberOfMhFiles,NumberOfDraws);
0140 [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = <a href="posterior_moments.html" class="code" title="function [post_mean, post_median, post_var, hpd_interval, post_deciles, density] = posterior_moments(xx,info)">posterior_moments</a>(Draws,1);
0141 k1 = estim_params_.corrn(i,1);
0142 k2 = estim_params_.corrn(i,2);
0143 name = [deblank(M_.endo_names(k1,:)) <span class="string">','</span> deblank(M_.endo_names(k2,:))];
0144 NAME = [deblank(M_.endo_names(k1,:)) <span class="string">'_'</span> deblank(M_.endo_names(k2,:))];
0145 disp(sprintf(<span class="string">'%12s %7.3f %8.4f %7.4f %7.4f %4s %6.4f'</span>, name, <span class="keyword">...</span>
0146 bayestopt_.pmean(ip),post_mean,hpd_interval, <span class="keyword">...</span>
0147 pnames(bayestopt_.pshape(ip)+1,:), <span class="keyword">...</span>
0148 bayestopt_.pstdev(ip)));
0149 eval([<span class="string">'oo_.posterior_mean.measurement_errors_corr.'</span> NAME <span class="string">' = post_mean;'</span>]);
0150 eval([<span class="string">'oo_.posterior_hpdinf.measurement_errors_corr.'</span> NAME <span class="string">' = hpd_interval(1);'</span>]);
0151 eval([<span class="string">'oo_.posterior_hpdsup.measurement_errors_corr.'</span> NAME <span class="string">' = hpd_interval(2);'</span>]);
0152 eval([<span class="string">'oo_.posterior_median.measurement_errors_corr.'</span> NAME <span class="string">' = post_median;'</span>]);
0153 eval([<span class="string">'oo_.posterior_variance.measurement_errors_corr.'</span> NAME <span class="string">' = post_var;'</span>]);
0154 eval([<span class="string">'oo_.posterior_deciles.measurement_errors_corr.'</span> NAME <span class="string">' = post_decile;'</span>]);
0155 eval([<span class="string">'oo_.posterior_density.measurement_errors_corr.'</span> NAME <span class="string">' = density;'</span>]);
0156 ip = ip+1;
0157 <span class="keyword">end</span>
0158 <span class="keyword">end</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> &copy; 2003</address>
</body>
</html>