dynare/matlab/doc/mgnldnsty.html

117 lines
8.7 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 mgnldnsty</title>
<meta name="keywords" content="mgnldnsty">
<meta name="description" content="function w=mgnldnsty(ydata,lags,xdata,breaks,lambda,mu,mnprior,vprior,train,flat)">
<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; mgnldnsty.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>mgnldnsty
</h1>
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>function w=mgnldnsty(ydata,lags,xdata,breaks,lambda,mu,mnprior,vprior,train,flat)</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 w=mgnldnsty(ydata,lags,xdata,breaks,lambda,mu,mnprior,vprior,train,flat) </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">function w=mgnldnsty(ydata,lags,xdata,breaks,lambda,mu,mnprior,vprior,train,flat)
ydata: endogenous variable data matrix, including initial condition dates.
xdata: exogenous variable data matrix, including initial condition dates.
breaks: breaks in the data. The first lags data points after a break are used
as new initial conditions, not data points for the fit.
lambda: weight on the co-persistence prior dummy observation. (5 is reasonable)
lambda&gt;0 =&gt; x variables included; lambda&lt;0 =&gt; x variables excluded;
mu: weight on variable-by-variable sum of coeffs dummy obs. (1 is reasonable)
mnprior.tight:weight on the Minnesota prior dummies. Prior std dev on first lag is
1/mnprior.tight
mnprior.decay:prior std dev on lag j is 1/j^decay
vprior.sig: vector of nv prior std dev's of equation shocks
vprior.w: weight on vcv dummies. (1 is reasonable; higher values tighten up.)
train: If present and non-zero, this is the point in the sample at which the
&quot;training sample&quot; ends. Prior x likelihood to this point is weighted to
integrate to 1, and therefore is treated as if it were itself the prior.
To do a pure training sample prior, set lambda=mu=0, mnprior=vprior=[],
train&gt;lags.
flat: Even with lambda=mu=0, vprior=mnprior=[], det(Sigma)^(-(nv+1)/2) is used
as a &quot;prior&quot;, unless flat=1. flat, if present, must be 1 or 0.
flat=1 is likely not to work unless train is reasonably large.</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="matrictint.html" class="code" title="function w=matrictint(S,XXi,T)">matrictint</a> function w=matrictint(S,XXi,T)</li><li><a href="rfvar3.html" class="code" title="function var=rfvar3(ydata,lags,xdata,breaks,lambda,mu)">rfvar3</a> function var=rfvar3(ydata,lags,xdata,breaks,lambda,mu)</li><li><a href="varprior.html" class="code" title="function [ydum,xdum,breaks]=varprior(nv,nx,lags,mnprior,vprior)">varprior</a> function [ydum,xdum,breaks]=varprior(nv,nx,lags,mnprior,vprior)</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 w=mgnldnsty(ydata,lags,xdata,breaks,lambda,mu,mnprior,vprior,train,flat)</a>
0002 <span class="comment">%function w=mgnldnsty(ydata,lags,xdata,breaks,lambda,mu,mnprior,vprior,train,flat)</span>
0003 <span class="comment">% ydata: endogenous variable data matrix, including initial condition dates.</span>
0004 <span class="comment">% xdata: exogenous variable data matrix, including initial condition dates.</span>
0005 <span class="comment">% breaks: breaks in the data. The first lags data points after a break are used</span>
0006 <span class="comment">% as new initial conditions, not data points for the fit.</span>
0007 <span class="comment">% lambda: weight on the co-persistence prior dummy observation. (5 is reasonable)</span>
0008 <span class="comment">% lambda&gt;0 =&gt; x variables included; lambda&lt;0 =&gt; x variables excluded;</span>
0009 <span class="comment">% mu: weight on variable-by-variable sum of coeffs dummy obs. (1 is reasonable)</span>
0010 <span class="comment">% mnprior.tight:weight on the Minnesota prior dummies. Prior std dev on first lag is</span>
0011 <span class="comment">% 1/mnprior.tight</span>
0012 <span class="comment">% mnprior.decay:prior std dev on lag j is 1/j^decay</span>
0013 <span class="comment">% vprior.sig: vector of nv prior std dev's of equation shocks</span>
0014 <span class="comment">% vprior.w: weight on vcv dummies. (1 is reasonable; higher values tighten up.)</span>
0015 <span class="comment">% train: If present and non-zero, this is the point in the sample at which the</span>
0016 <span class="comment">% &quot;training sample&quot; ends. Prior x likelihood to this point is weighted to</span>
0017 <span class="comment">% integrate to 1, and therefore is treated as if it were itself the prior.</span>
0018 <span class="comment">% To do a pure training sample prior, set lambda=mu=0, mnprior=vprior=[],</span>
0019 <span class="comment">% train&gt;lags.</span>
0020 <span class="comment">%</span>
0021 <span class="comment">%flat: Even with lambda=mu=0, vprior=mnprior=[], det(Sigma)^(-(nv+1)/2) is used</span>
0022 <span class="comment">% as a &quot;prior&quot;, unless flat=1. flat, if present, must be 1 or 0.</span>
0023 <span class="comment">% flat=1 is likely not to work unless train is reasonably large.</span>
0024 <span class="keyword">if</span> nargin&lt;10,flat=0;<span class="keyword">end</span>
0025 [T,nv]=size(ydata);
0026 [Tx,nx]=size(xdata);
0027 <span class="keyword">if</span> Tx ~= T, error(<span class="string">'ydata and xdata length mismatch'</span>),<span class="keyword">end</span>
0028 [ydum,xdum,pbreaks]=<a href="varprior.html" class="code" title="function [ydum,xdum,breaks]=varprior(nv,nx,lags,mnprior,vprior)">varprior</a>(nv,nx,lags,mnprior,vprior);
0029 var=<a href="rfvar3.html" class="code" title="function var=rfvar3(ydata,lags,xdata,breaks,lambda,mu)">rfvar3</a>([ydata;ydum],lags,[xdata;xdum],[breaks;T;T+pbreaks],lambda,mu);
0030 Tu=size(var.u,1);
0031 w=<a href="matrictint.html" class="code" title="function w=matrictint(S,XXi,T)">matrictint</a>(var.u'*var.u,var.xxi,Tu-flat*(nv+1))-flat*.5*nv*(nv+1)*log(2*pi);
0032 <span class="keyword">if</span> nargin&gt;8
0033 <span class="keyword">if</span> ~isempty(train) &amp; train&gt;0
0034 <span class="keyword">if</span> train &lt;= lags
0035 error(<span class="string">'end of training sample &lt;= # of lags'</span>)
0036 <span class="keyword">end</span>
0037 Tp=train;
0038 tbreaks=breaks(find(breaks&lt;train));
0039 <span class="keyword">else</span>
0040 Tp=lags;
0041 tbreaks=[];
0042 <span class="keyword">end</span>
0043 <span class="keyword">else</span>
0044 Tp=lags;
0045 tbreaks=[];
0046 <span class="keyword">end</span>
0047 varp=<a href="rfvar3.html" class="code" title="function var=rfvar3(ydata,lags,xdata,breaks,lambda,mu)">rfvar3</a>([ydata(1:Tp,:);ydum],lags,[xdata(1:Tp);xdum],[tbreaks;Tp;Tp+pbreaks],lambda,mu);
0048 Tup=size(varp.u,1);
0049 wp=<a href="matrictint.html" class="code" title="function w=matrictint(S,XXi,T)">matrictint</a>(varp.u'*varp.u,varp.xxi,Tup-flat*(nv+1)/2)-flat*.5*nv*(nv+1)*log(2*pi);
0050 w=w-wp;</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>