亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tvp_markov.m

?? 時間序列分析中常用到的matlab代碼
?? M
字號:
function result = tvp_markov(y,x,parm,info)
% PURPOSE: time-varying parameter model with Markov switching error variances
%          y(t) = X(t)*B(t) + e(t), e(t) = N(0,R_S1t)
%          B(t) = B(t-1) + v(t),    v(t) = N(0,Q_S2t)
%          Q_S2t = Q1*a1,1t + Q2*a2,1t + Q3*a3,1t + Q4*a4,1t + ... + Sm*am,1t
%          R_S1t = R1*b1,1t + R2*b2,2t + R3*b3,2t + R4*b4,2t + ... + Rm*bm,2t
%          where: ak,jt = 1 if S_kt = j, ak,jt = 0 if S_kt ~= j
%          k=1,2  j=1,...,m
%          S_1t, S_2t evolve according to a 1st-order Markov process          
% -------------------------------------------------------------------
% USAGE:     result = tvp_markov(y,x,parm,info);
%        or: result = tvp(y,x,parm); for default options
% where: y = dependent variable vector
%        x = explanatory variable matrix
%     parm = (k+4)x1 vector of starting values
%        parm(1,1) = p, Pr[St=1 | St-1=1]
%        parm(2,1) = q, Pr[St=0 | St-1=0]
%        parm(3:3+k-1,1) = diagonal transition equation std deviations
%        parm(3+k,1)     = noise std deviation in state 1
%        parm(4+k,1)     = noise std deviation in state 2
%   info = a structure variable containing optimization options
%   info.b0 = a (kx1) vector with initial period B0 (default: zeros(k,1))
%   info.v0 = a (kxk) matrix with initial period std(B0)
%                (default = eye(k)*1e+3, a relatively diffuse prior)
%   info.start = starting observation (default: 1)
%   --- optimization options ---                                 
%   info.prt   = 1 for printing basic intermediate results (default = 0)
%              = 2 for printing detailed stuff
%   info.delta = Increment in numerical derivs                [.000001]
%   info.hess  = Hessian method: ['dfp'], 'bfgs', 'gn', 'marq', 'sd'
%   info.maxit = Maximium iterations                              [100]
%   info.lamda = Minimum eigenvalue of Hessian for Marquardt      [.01]
%   info.cond  = Tolerance level for condition of Hessian        [1000]
%   info.btol  = Tolerance for convergence of parm vector        [1e-4]
%   info.ftol  = Tolerance for convergence of objective function [sqrt(eps)] 
%   info.gtol  = Tolerance for convergence of gradient           [sqrt(eps)]
% -------------------------------------------------------------------
% NOTES: only works for a 2-state model, i.e., m=2 (see above)
%        therefore the x-matrix should not contain lagged dependent variables
% -------------------------------------------------------------------
% RETURNS: a result structure
%       result.meth   = 'tvp_markov'
%       result.parm   = (k+4) x 1 vector of ML parameter estimates
%       result.vcov   = (k+4,k+4) matrix with variance-covariance of the ML estimates
%       result.stdhat = (k+4) x 1 vector with std deviation of estimates             
%       result.prob1  = (start:n x 1) vector with probability of state 1
%       result.prob2  = (start:n x 1) vector with probability of state 2
%       result.tstat  = a (k+4) x 1 vector of t-stats based on vcov
%       result.beta1  = an (start:n x k) matrix of time-varying beta hats for state 1
%       result.beta2  = an (start:n x k) matrix of time-varying beta hats for state 2
%       result.bvar1  = an (start:n x kxk) matrix of time-varying variances for beta1
%       result.bvar2  = an (start:n x kxk) matrix of time-varying variances for beta2
%       result.fvar   = an (start:n x 2) conditional variance decompostion
%                       column1 = forecast error variance due to beta variation, 
%                       column2 = forecast error variance due to heteroscedasticity
%       result.rsqr   = R-squared, based on yhat(start:n)
%       result.rbar   = R-bar squared, based on yhat(start:n)
%       result.yhat   = (start:n x 1) vector of proability weigthed predicted values
%       result.y      = (nx1) vector of actual values
%       result.like   = log likelihood (at solution values)
%       result.iter   = # of iterations taken
%       result.start  = # of starting observation       
%       result.time   = time (in seconds) for solution
% -------------------------------------------------------------------
% NOTE: to generate tvp betas, probs, etc., based on max-lik parm vector use:
%       [p0s,p1s,b0s,b1s,v0s,v1s,yhat] = tvp_markov_filter(parm,y,x,b0,v0)
% -------------------------------------------------------------------
% SEE ALSO: prt(), plt(), prt_tvp, plt_tvp, tvp_markov_like, tvp_markov_like
% -------------------------------------------------------------------
% REFERENCES: Kim and Nelson (1999)
% State-Space Models with Regime Switching
% -------------------------------------------------------------------


% James P. LeSage, Dept of Economics
% University of Toledo
% 2801 W. Bancroft St,
% Toledo, OH 43606
% jlesage@spatial-econometrics.com

[n k] = size(x);
IK = eye(k);

% default initial values
priorb0 = zeros(k,1);
priorv0 = IK*1000;
infoz.maxit = 500; % default optimization options
start = 1;

if nargin == 4 % we need to reset optimization defaults
if ~isstruct(info)
  error('tvp: optimization options should be in a structure variable');
end;
% parse options
fields = fieldnames(info);
nf = length(fields); 
  for i=1:nf
    if strcmp(fields{i},'maxit')
        infoz.maxit = info.maxit; 
    elseif strcmp(fields{i},'btol')
        infoz.btol = info.btol;
    elseif strcmp(fields{i},'ftol')
        infoz.ftol = info.ftol;
    elseif strcmp(fields{i},'gtol')
        infoz.gtol = info.gtol;
    elseif strcmp(fields{i},'hess')
        infoz.hess = info.hess;
    elseif strcmp(fields{i},'cond')
        infoz.cond = info.cond;
    elseif strcmp(fields{i},'prt')
        infoz.prt = info.prt;
    elseif strcmp(fields{i},'delta')
        infoz.delta = info.delta;   
    elseif strcmp(fields{i},'lamda')
        infoz.lambda = info.lamda;  
    elseif strcmp(fields{i},'start')
        start = info.start; 
    elseif strcmp(fields{i},'b0')
        priorb0 = info.b0;  
    elseif strcmp(fields{i},'v0')
        priorv0 = info.v0;      
    end;
  end;
end;

b0 = priorb0;
v0 = priorv0;
        
if length(parm) ~= 3+k+1
error('tvp_markov: Wrong # of initial parameter values entered');
end;

oresult = maxlik('tvp_markov_lik',parm,infoz,y,x,start,b0,v0);

niter = oresult.iter;
like = -oresult.f;
vcov = inv(oresult.hess);
time = oresult.time;
parm1 = abs(oresult.b);

% compute numerical hessian at the solution
cov0 = inv(fdhess('tvp_markov_lik',parm1,y,x,start,b0,v0));
grad = fdjac('ham_trans',parm1);
vcov = grad*cov0*grad';
stdhat = sqrt(diag(vcov));


result2 = tvp_markov_filter(parm1,y,x,start,b0,v0);

% transform parameters
parm = ham_trans(parm1);
tstat = parm./stdhat;


yhat = result2.yhat;
resid = y(start:n,1) - yhat;
sigu = resid'*resid;
ym = y(start:n,1) - mean(y(start:n,1));
rsqr1 = sigu;
rsqr2 = ym'*ym;
result.rsqr = 1.0 - rsqr1/rsqr2; % r-squared
rsqr1 = rsqr1/(n-k-start);
rsqr2 = rsqr2/(n-1.0);
result.rbar = 1 - (rsqr1/rsqr2); % rbar-squared

stdhat = sqrt(diag(vcov));
tstat = parm1./stdhat;

% return results structure information
result.parm = parm;
result.prob1 = result2.p0;
result.prob2 = result2.p1;
result.beta1 = result2.b0;
result.beta2 = result2.b1;
result.bvar1 = result2.v0;
result.bvar2 = result2.v1;
result.fvar  = result2.fvar;
result.vcov = vcov;
result.stdhat = stdhat;
result.tstat = tstat;
result.yhat = yhat;
result.y = y;
result.resid = resid;
result.like = like;
result.time = time;
result.nobs = n;
result.nvar = k;
result.iter = niter;
result.meth = 'tvp_markov';
result.start = start;


function result = tvp_markov_filter(parm,y,x,start,b0,v0)
% PURPOSE: Kalman filtering for Markov-switching TVP model 
%          y(t) = X(t)*B(t) + e(t), e(t) = N(0,R_S1t)
%          B(t) = B(t-1) + v(t),    v(t) = N(0,Q_S2t)
%          Q_S2t = Q1*a1,1t + Q2*a2,1t + Q3*a3,1t + Q4*a4,1t + ... + Sm*am,1t
%          R_S1t = R1*b1,1t + R2*b2,2t + R3*b3,2t + R4*b4,2t + ... + Rm*bm,2t
%          where: ak,jt = 1 if S_kt = j, ak,jt = 0 if S_kt ~= j
%          k=1,2  j=1,...,m
%          S_1t, S_2t evolve according to a 1st-order Markov process   
% -------------------------------------------------
% USAGE: result  = tvp_markov_filter(parm,y,x,start,b0,v0)
% where: parm = a vector with ML parameter estimates
%        parm(1,1) = p, Pr[St=1 | St-1=1]
%        parm(2,1) = q, Pr[St=0 | St-1=0]
%        parm(3:3+k-1,1) = diagonal transition equation variance
%        parm(3+k,1)   = noise std in state 1
%        parm(3+k+1,1) = noise std in state 2
%        y = dependent variable (nx1) vector
%        x = (nxk) matrix of explanatory variables
%    start = starting observation (default: 1)
%        b0 = prior b0 (default: diffuse = 0)
%        v0 = prior v0 (default: diffuse = 1000)
% -------------------------------------------------
% NOTES: 1) the filter starts at obs=1, but only returns information
%           from start onward     
%        2) only works for a 2-state model, i.e., m=2 (see above)
%           therefore the x-matrix should not contain lagged dependent variables         
% -------------------------------------------------
% RETURNS: result = a structure variable with fields:
%          result.p0 = (start:n x 1) probabilities for state0
%          result.p1 = (start:n x 1) probabilities for state1
%          result.b0 = (start:n x k) state0 TVP estimates  
%          result.b1 = (start:n x k) state1 TVP estimates
%          result.v0 = (start:n x kxk) state0 TVP variances
%          result.v1 = (start:n x kxk) state1 TVP variances
%       result.yhat = (start:n x 1) predicted values based on probabilities
%              yhat(i,1) = x(t,:)*b0*prob0 + x(t,:)*b1*prob1;
%       result.fvar = (start:n x 2) vector with forecast error variance
%       decomposition. Column 1 = conditional variance due to changing beta
%                      Column 2 = conditional variance due to heterscedasticity
%       Column 1 = x_t-1 *P_t|t-1 x'_t-1, 
%                  where: P_t|t_1 = probability weighted sum over both states, 
%       Column 2 =  sig = probability weighted sum over both states,
%                   
% -------------------------------------------------

% James P. LeSage, Dept of Economics
% University of Toledo
% 2801 W. Bancroft St,
% Toledo, OH 43606
% jlesage@spatial-econometrics.com

[n k] = size(x);
IK = eye(k);

if nargin == 3
priorb0 = zeros(k,1);
priorv0 = IK*1000;
start = 1;
elseif nargin == 4
priorb0 = zeros(k,1);
priorv0 = IK*1000;
elseif nargin == 6
priorb0 = b0;
priorv0 = v0;
else
error('tvp_markov_filter: Wrong # of arguments');
end;


parm = ham_trans(parm); % 1/(1+exp(-parm))

ppr = parm(1,1); % Pr[St=1 | St-1=1]
qpr = parm(2,1); % Pr[St=0 | St-1=0]

aa = eye(k);

prob1 = (1-qpr)/(2-ppr-qpr); % Pr[St-1=1 | Yt-1], STEADY STATE PROB
prob0 = 1-prob1;             % Pr[ST-1=0 | Yt-1], STEADY STATE PROB

b0 = priorb0;
b1 = b0;
v0 = priorv0;
v1 = v0;

tmp = parm(3:3+k-1,1); % transition equation std deviations
tmp2 = tmp.*tmp;
qq = diag(tmp2);

sig0 = parm(3+k,1);
sig1 = parm(3+k+1,1);

like = 0;

% storage for return values
fcast = zeros(n,1);
b0s = zeros(n,k);
b1s = zeros(n,k);
v0s = zeros(n,k,k);
v1s = zeros(n,k,k);
p0s = zeros(n,1);
p1s = zeros(n,1);
fvar = zeros(n,2);
 
for i=1:n;

H = x(i,:);

% prediction
postb00 = aa*b0; % for St-1 = 0, St = 0
postb01 = aa*b0; % for St-1 = 0, St = 1
postb10 = aa*b1; % for St-1 = 1, St = 0
postb11 = aa*b1; % for St-1 = 1, St = 1

postv00 = aa*v0*aa' + qq;
postv01 = aa*v0*aa' + qq;
postv10 = aa*v1*aa' + qq;
postv11 = aa*v1*aa' + qq;

fcast00 = y(i,1) - H*postb00;
fcast01 = y(i,1) - H*postb01;
fcast10 = y(i,1) - H*postb10;
fcast11 = y(i,1) - H*postb11;

ss00 = H*postv00*H' + sig0*sig0;
ss01 = H*postv01*H' + sig1*sig1;
ss10 = H*postv10*H' + sig0*sig0;
ss11 = H*postv11*H' + sig1*sig1;

% DEBUG
if (ss00 <= 0 | ss01 <= 0 | ss10 <= 0 | ss11 <= 0)
        [ss00 ss01 ss10 ss11]
        pause;
end;


kg00 = postv00*H' / ss00;
kg01 = postv01*H' / ss01;
kg10 = postv10*H' / ss10;
kg11 = postv11*H' / ss11;

b00 = postb00 + kg00*fcast00;
b01 = postb01 + kg01*fcast01;
b10 = postb10 + kg10*fcast10;
b11 = postb11 + kg11*fcast11;

v00 = (IK - kg00*H)*postv00;
v01 = (IK - kg01*H)*postv01;
v10 = (IK - kg10*H)*postv10;
v11 = (IK - kg11*H)*postv11;

prv00 = vprob(fcast00,ss00)*qpr*prob0; % pr[St, Yt | Yt-1]
prv01 = vprob(fcast01,ss01)*(1-qpr)*prob0;
prv10 = vprob(fcast10,ss10)*(1-ppr)*prob1;
prv11 = vprob(fcast11,ss11)*ppr*prob1;


% step 3 denominator
prval = prv00+prv01+prv10+prv11; % pr[Yt | Yt-1]

% step 3
pr00 = prv00/prval; 
pr01 = prv01/prval;
pr10 = prv10/prval;
pr11 = prv11/prval;

% step 4
prob0 = pr00 + pr10; % pr[St=0 | Yt]
prob1 = pr01 + pr11; % pr[St=1 | Yt]

% avoid division by zero in cases
% where all probability weight gets placed on one state
if prob0 == 0
        prob0 = 0.001;
elseif prob0 == 1
        prob0 = 0.999;
end;
if prob1 == 0
        prob1 = 0.001;
elseif prob1 == 1
        prob1 = 0.999;
end;


% collapse terms eq 2.13' from Kim's article

b0 = (pr00*b00 + pr10*b10)/prob0;
b1 = (pr10*b10 + pr11*b11)/prob1;

% eq 2.14'
v0 = (pr00*(v00+(b0-b00)*(b0-b00)') ...
          +pr10*(v10+(b0-b10)*(b0-b10)'))/prob0;
v1 = (pr01*(v01+(b1-b01)*(b1-b01)') ...
          +pr11*(v11+(b1-b11)*(b1-b11)'))/prob1;


% compute forecast error decomposition
% see page 119 Kim-Nelson
fvar(i,1) = prob0*H*postv00*H' + prob1*H*postv11*H';
fvar(i,2) = fvar(i,1) + sig0*sig0*prob0 + sig1*sig1*prob1;

b0s(i,:) = b0';
b1s(i,:) = b1';
fcast(i,1) = H*b0*prob0 + H*b1*prob1;
p0s(i,1) = prob0;
p1s(i,1) = prob1;
v0s(i,:,:) = v0;
v1s(i,:,:) = v1;


end; % end of loop over observations


result.b0 = b0s(start:n,:);
result.b1 = b1s(start:n,:);
result.yhat = fcast(start:n,1);
result.p0 = p0s(start:n,1);
result.p1 = p1s(start:n,1);
result.v0 = v0s(start:n,1);
result.v1 = v1s(start:n,1);
result.fvar = fvar(start:n,:);
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品激情在线观看| 奇米色一区二区三区四区| 一区二区三区四区在线| 日日噜噜夜夜狠狠视频欧美人| 国产美女在线精品| 欧美曰成人黄网| 国产免费久久精品| 六月丁香婷婷久久| 欧美日韩在线电影| 亚洲天天做日日做天天谢日日欢| 久久国产综合精品| 欧美精品在线观看一区二区| 亚洲国产精华液网站w| 久久精品国产一区二区| 欧美视频一区在线| 自拍偷在线精品自拍偷无码专区| 精品一区二区三区蜜桃| 在线成人午夜影院| 亚洲一区二区三区视频在线| 成人av网站免费| 久久婷婷综合激情| 青青草国产成人99久久| 欧美老女人在线| 一区二区三区国产豹纹内裤在线| 国产精品一区二区在线看| 欧美一区二区三区视频免费| 亚洲一二三专区| 欧洲亚洲国产日韩| 亚洲综合av网| 在线一区二区三区四区| 亚洲精品videosex极品| 91久久线看在观草草青青| 亚洲欧美综合网| av激情综合网| 一区二区三区在线视频播放| 波多野结衣中文一区| 国产精品每日更新在线播放网址| 国产主播一区二区三区| 欧美电视剧免费观看| 老鸭窝一区二区久久精品| 4hu四虎永久在线影院成人| 日韩成人一区二区三区在线观看| 91精品国产综合久久福利软件 | 欧美xxxx在线观看| 日韩主播视频在线| 91精品免费在线| 久久99精品国产麻豆婷婷| 亚洲精品一区二区三区香蕉| 国产激情91久久精品导航| 精品剧情在线观看| 国产69精品久久99不卡| 国产丝袜美腿一区二区三区| 国产麻豆精品久久一二三| 国产情人综合久久777777| gogogo免费视频观看亚洲一| 一二三四区精品视频| 欧美麻豆精品久久久久久| 久久精品国产亚洲aⅴ| 欧美经典一区二区| 欧美网站大全在线观看| 精品在线你懂的| 成人免费一区二区三区视频| 91成人免费在线视频| 久久不见久久见免费视频1 | 欧美日韩国产影片| 久久福利资源站| 国产精品乱人伦| 欧美久久久一区| 国产高清不卡二三区| 亚洲一区影音先锋| 欧美va亚洲va香蕉在线 | 久久国产精品区| 国产精品理论片在线观看| 欧美日韩精品系列| 国产激情精品久久久第一区二区| 亚洲男人天堂一区| 国产精品久久久久桃色tv| 在线精品视频一区二区| 久久狠狠亚洲综合| 亚洲综合在线免费观看| 精品久久久久久最新网址| 色综合久久中文综合久久97| 日日夜夜精品免费视频| 自拍偷拍欧美激情| 26uuu欧美日本| 欧美日韩国产综合草草| www.亚洲精品| 国产一区 二区 三区一级| 亚洲成av人片www| 亚洲卡通动漫在线| 中文字幕的久久| 精品剧情v国产在线观看在线| 欧洲国产伦久久久久久久| 成人性生交大片免费| 久久99日本精品| 亚洲国产精品人人做人人爽| 国产精品福利影院| 久久久久国产免费免费| 日韩欧美电影一二三| 精品视频资源站| 91国偷自产一区二区开放时间 | 久久亚洲春色中文字幕久久久| 欧美揉bbbbb揉bbbbb| av网站免费线看精品| 成人午夜私人影院| 高清不卡一区二区| 国产精品一区二区久激情瑜伽 | 精品国产乱码久久久久久图片 | 亚洲激情图片一区| 中文字幕的久久| 中文字幕欧美国产| 国产精品久久三| 国产精品色婷婷| 欧美韩日一区二区三区四区| 久久精品视频在线免费观看| 欧美精品一区二区三区在线播放| 6080国产精品一区二区| 欧美日本不卡视频| 欧美精品欧美精品系列| 91精品啪在线观看国产60岁| 欧美丰满少妇xxxbbb| 91精品国产综合久久久蜜臀图片| 欧美顶级少妇做爰| 91精品婷婷国产综合久久竹菊| 7777精品伊人久久久大香线蕉超级流畅 | 99精品视频在线观看免费| 国产成人h网站| 成人av午夜影院| 在线观看视频一区| 欧美精品免费视频| 久久综合精品国产一区二区三区| 久久久99精品免费观看不卡| 国产精品日日摸夜夜摸av| 国产精品午夜在线观看| 1024国产精品| 亚洲成人福利片| 国模娜娜一区二区三区| 国产成人精品免费网站| 91原创在线视频| 欧美日韩国产小视频| 精品噜噜噜噜久久久久久久久试看 | 国产美女精品人人做人人爽 | 蜜臀av一区二区在线观看| 久久99精品网久久| 成人av影视在线观看| 欧美日韩综合在线免费观看| 日韩美女一区二区三区四区| 国产欧美日韩视频在线观看| 一区二区在线观看免费视频播放| 喷水一区二区三区| 国产成人精品一区二区三区四区 | 亚洲午夜精品17c| 国内精品不卡在线| 色综合色综合色综合| 日韩欧美电影在线| 亚洲人成网站在线| 激情深爱一区二区| 色婷婷综合久色| 久久久美女艺术照精彩视频福利播放| 国产精品久久久久影院亚瑟| 亚洲高清中文字幕| 粉嫩欧美一区二区三区高清影视 | 亚洲国产视频在线| 欧美体内she精视频| 欧美videossexotv100| 一区二区三区欧美日| 韩国女主播成人在线| 一本到高清视频免费精品| 精品日韩欧美在线| 调教+趴+乳夹+国产+精品| 成人av电影在线观看| 精品久久久久一区二区国产| 一区二区三区电影在线播| 国产不卡视频在线播放| 3d动漫精品啪啪一区二区竹菊| 亚洲欧洲精品成人久久奇米网| 久久精品免费观看| 欧美在线观看视频一区二区| 中国色在线观看另类| 久久国产三级精品| 337p亚洲精品色噜噜噜| 亚洲丝袜自拍清纯另类| 国产91丝袜在线18| 久久日韩粉嫩一区二区三区| 日韩av电影免费观看高清完整版 | 美女爽到高潮91| 在线观看欧美黄色| 亚洲欧美日韩国产手机在线| 韩国精品一区二区| 久久亚洲精品小早川怜子| 另类小说色综合网站| 欧美精品一卡两卡| 日韩国产成人精品| 欧美疯狂性受xxxxx喷水图片| 亚洲精品日产精品乱码不卡| 91一区二区三区在线播放| 中文字幕日韩欧美一区二区三区| 国产成人免费网站| 国产精品麻豆久久久| 不卡在线观看av|