📄 ksmooth.m
字号:
function pr_sm0 = ksmooth(parm,pr_tt0,pr_tl0)
% PURPOSE: Kim's smoothing for Hamilton() model
% ---------------------------------------------------
% USAGE: [prob1 prob2] = ksmooth(parm,prob1,prob2)
% where: parm = maximum likelihood estimates
% prob1 = filtered probabilities from hfilter()
% pr(S_t | y_t)
% prob2 = filtered probabilities from hfilter()
% pr(S_t | y_t-1)
% ----------------------------------------------------
% % RETURNS: prob1 = Pr[S_t=0|Y_t], a vector of smoothed probabilities
% ---------------------------------------------------------
% James P. LeSage, Dept of Economics
% University of Toledo
% 2801 W. Bancroft St,
% Toledo, OH 43606
% jlesage@spatial-econometrics.com
if nargin ~= 3
error('ksmooth: Wrong # of input arguments');
end;
n = length(pr_tt0);
ppr = parm(1,1);
qpr = parm(2,1);
pr_tt1 = ones(n,1)-pr_tt0;
pr_tl1 = ones(n,1)-pr_tl0;
pr_sm0 = pr_tt0;
pr_sm1 = pr_tt1;
iter = n-1;
while iter >= 1
% p(S_t, S_t+1 | y_t)
pr_sm00 = pr_sm0(iter+1,1)*qpr*pr_tt0(iter,1);
pr_sm00 = pr_sm00/pr_tl0(iter+1,1);
pr_sm01 = pr_sm1(iter+1,1)*(1-qpr)*pr_tt0(iter,1);
pr_sm01 = pr_sm01/pr_tl1(iter+1,1);
pr_sm10 = pr_sm0(iter+1,1)*(1-ppr)*pr_tt1(iter,1);
pr_sm10 = pr_sm10/pr_tl0(iter+1,1);
pr_sm11 = pr_sm1(iter+1,1)*ppr*pr_tt1(iter,1);
pr_sm11 = pr_sm11/pr_tl1(iter+1,1);
pr_sm0(iter,1) = pr_sm00 + pr_sm01;
pr_sm1(iter,1) = pr_sm10 + pr_sm11;
iter = iter - 1;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -