v4.1: corrected DsgeSmoother.m for unobserved trends

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2219 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
michel 2008-10-27 19:47:22 +00:00
parent fbeab98711
commit 3d410b9b8b
1 changed files with 8 additions and 9 deletions

View File

@ -181,15 +181,14 @@ function [alphahat,etahat,epsilonhat,ahat,SteadyState,trend_coeff,aK,T,R,P,PK,d,
Z = QT(mf,:);
R1 = QT'*R;
% $$$ [u,s,v]=svd(Z*ST(:,1:nk),0);
% $$$ k = find(abs(diag(s)) < 1e-8);
% $$$ if length(k) > 0
% $$$ [junk,k1] = max(abs(v(:,k)));
% $$$ dd =ones(nk,1);
% $$$ dd(k1) = zeros(length(k1),1);
% $$$ Pinf(1:nk,1:nk) = diag(dd);
% $$$ end
Pinf(1:nk,1:nk) = eye(nk);
[QQ,RR,EE] = qr(Z*ST(:,1:nk),0);
k = find(abs(diag(RR)) < 1e-8);
if length(k) > 0
k1 = EE(:,k);
dd =ones(nk,1);
dd(k1) = zeros(length(k1),1);
Pinf(1:nk,1:nk) = diag(dd);
end
end
% -----------------------------------------------------------------------------
% 4. Kalman smoother