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

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

?? tvp.m

?? 時間序列分析中常用到的matlab代碼
?? M
字號:
function result = tvp(y,x,parm,info)
% PURPOSE: time-varying parameter maximum likelihood estimation
%          y(t) = X(t)*B(t) + e(t), e(t) = N(0,sige^2)
%          B(t) = B(t-1) + v(t),    v(t) = N(0,sigb^2)
%          optional model variant:  v(t) = N[0,delta*sige^2*inv(X'X)]
%          (Zellner's g-prior)          
% -------------------------------------------------------------------
% USAGE:     result = tvp(y,x,parm,info);
%        or: result = tvp(y,x,parm); for default options
% where: y = dependent variable vector
%        x = explanatory variable matrix
%     parm =  --- for normal model ---
%            (k+1)x1 vector of starting values 
%             parm(1,1)     = sige
%             parm(2:k+1,1) = sigb vector
%     parm =  --- for Zellner g-prior model ---
%             (2x1) vector of starting values
%             parm(1,1)     = sige
%             parm(2,1)     = delta
%   info = a structure with initial values and optimization options
%   info.b0 = a (kx1) vector with initial values for b0 (default = 0,diffuse)
%   info.v0 = a (kxk) matrix with initial matrix for sigb
%                (default = eye(k)*1e+5, a diffuse prior)
%   info.delta = delta (starting value for delta in Zellner g-prior model)
%                (same as parm(2,1) value)             
%   info.start = starting observation (default: 2*k+1)  
%   --- optimization options ---              
%   info.prt   = 1 for printing basic intermediate results (default = 0)
%              = 2 for printing detailed stuff
%   info.deriv = Increment in numerical derivs                [.000001]
%   info.hess  = Hessian method: ['dfp'], 'bfgs', 'gn', 'marq', 'sd'
%   info.maxit = Maximium iterations                              [500]
%   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)]
% -------------------------------------------------------------------
% RETURNS: a result structure
%       result.meth   = 'tvp'
%       result.sige   = sige estimate
%       result.stds   = std of sige estimate
%       result.delta  = delta estimate (for g-prior model), 0 otherwise
%       result.stdd   = std of delta estimate (for g-prior model), 0 otherwise
%       result.sigb   = a (kx1) vector of sig beta estimates      
%       result.vcov   = a (kxk) var-cov matrix for the sig beta parameters 
%       result.stdb   = std deviation of sigb estimates      
%       result.tstat  = a (k+1) x 1 vector of t-stats for [sige sigb]'
%       result.beta   = a (start:n x k) matrix of time-varying beta hats
%       result.ferror = a (start:n x 1) vector of forecast errors
%       result.fvar   = a (start:n x 1) vector for conditional variances
%       result.rsqr   = R-squared
%       result.rbar   = R-bar squared
%       result.yhat   = a (start:n x 1) vector of 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: 1) to generate tvp betas based on max-lik parm vector
%          [beta ferror] = tvp_filter(parm,y,x,start,priorb0,priorv0);
%          The filter starts at obs=1, but only returns values for
%          start:n
%       2) calls tvp_like, maxlik, tvp_filter
% (tvp_filter   is included at the end of this function)
% (tvp_zgfilter is included at the end of this funtion)
% -------------------------------------------------------------------
% SEE ALSO: prt(), plt(), prt_tvp, plt_tvp, tvp_like, tvp_filter
% -------------------------------------------------------------------
% 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


infoz.maxit = 500;
[n, k] = size(x);
start = 2*k+1;
priorb0 = zeros(k,1);
priorv0 = eye(k)*1e+5;
dflag = 0;

if nargin == 4 % we need to reset optimization defaults
if ~isstruct(info)
  error('tvp: 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},'deriv')
        infoz.delta = info.deriv;   
    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; 
    elseif strcmp(fields{i},'delta');
    delta = info.delta;
    dflag = 1;      
    end;
  end;
elseif nargin == 3
% use default options
else
error('tvp: Wrong # of input arguments');
end;

if dflag == 0         
chk = length(parm);
 if chk ~= k+1
 error('tvp: Wrong # of initial parameter values in parm');
 end;
elseif dflag == 1
chk = length(parm);
 if chk ~= 2
 error('tvp: Wrong # of initial parmaeter values in parm');
 end;
end;

% Do maximum likelihood estimation

if dflag == 1 % call likelihood function with delta argument
              % for Zellner g-prior
oresult = maxlik('tvp_zglike',parm,infoz,y,x,start,priorb0,priorv0); 
else          % call likelihood function without delta argument
oresult = maxlik('tvp_like',parm,infoz,y,x,start,priorb0,priorv0); 
end;
niter = oresult.iter;
like = -oresult.f;
% take absolute values for parm since they are variances
parm1 = abs(oresult.b);

if dflag == 0
vcovt = inv(oresult.hess);
stds = sqrt(vcovt(1,1));
tmp = sqrt(diag(vcovt(2:k+1,2:k+1)));
vcov = vcovt(2:k+1,2:k+1);
stdb = sqrt(diag(vcov));
tmp = [stds
       stdb];
tstat = parm1./tmp;
else
sige  = abs(oresult.b(1));
delta = abs(oresult.b(2));
tmp   = inv(oresult.hess);
stds = sqrt(tmp(1,1));
stdd = sqrt(tmp(2,2));
vcov = sige*sige*delta*delta*inv(x'*x);
sigb = sqrt(diag(vcov));
parm1 = zeros(k+1,1);
parm1(1,1) = sige;
parm1(2:k+1,1) = sigb;
parmt = [sige   % use numerical hessian to get var-cov estimates
         sigb]; % for std beta
vcovt = fdhess('tvp_like',parmt,y,x,start,priorb0,priorv0);
tmp = [sige
       sigb];
tstat = tmp./diag(sqrt(inv(vcovt)));
stdb = tmp(2:k+1,1)./tstat(2:k+1,1);
end;
time = oresult.time;
  
% produce tvp beta hats
if dflag == 1
[beta ferror] = tvp_zgfilter(parm1,y,x,start,priorb0,priorv0);
else
[beta ferror] = tvp_filter(parm1,y,x,start,priorb0,priorv0);
end;


yhat = zeros(n-start+1,1);
for i=start:n;
yhat(i-start+1,1) = x(i,:)*beta(i-start+1,:)';
end;

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-start-k);
rsqr2 = rsqr2/(n-1.0);
result.rbar = 1 - (rsqr1/rsqr2); % rbar-squared

% return results structure information
result.sige = parm1(1,1);
result.stds = stds;
result.sigb = parm1(2:k+1,1);
result.stdb = stdb;
result.beta = beta;
result.ferror = ferror(:,1);
result.fvar = ferror(:,2);
result.vcov = vcov;
result.yhat = yhat;
result.y = y;
result.resid = resid;
result.like = like;
result.time = time;
result.tstat = tstat;
result.nobs = n;
result.nvar = k;
result.iter = niter;
result.meth = 'tvp';
result.start = start;
if dflag == 0
result.delta = 0;
result.stdd = 0;
else
result.delta = parm1(2,1)*parm1(2,1);
result.stdd = stdd;
end;



function [betao, ferroro] =  tvp_filter(parm,y,x,start,priorb0,priorv0)
% PURPOSE: generate tvp model filtered betas and forecast error variance
%          given maximum likelihood estimates
% -------------------------------------------------------------
% USAGE: [beta ferror] = tvp_filter(parm,y,x,start,priorb0,priorv0)
% where: parm = a vector of maximum likelihood estimates
%        y = (nx1) data vector
%        x = (nxk) data matrix
%    start = # of observation to start the filter (default = 1)
%    priorb0 = (k x 1) vector with prior b0 values 
%              (default = zeros(k,1), diffuse)
%    priorv0 = (k x k) matrix with prior variance for sigb
%              (default = eye(k)*1e+5, a diffuse prior)
% -------------------------------------------------------------
% NOTE: the filter starts at obs=1, but only returns information
%       from start onward            
% -------------------------------------------------------------
% RETURNS:   beta = (start:n x k) matrix of tvp beta estimates
%          ferror = (start:n x 2) matrix with forecast error and
%                         conditional variance        
% -------------------------------------------------------------

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


n = length(y);
k = length(parm) - 1;

if nargin == 3
start = 1;
priorb0 = zeros(k,1);
priorv0 = eye(k)*1e+5;
elseif nargin ==4
priorb0 = zeros(k,1);
priorv0 = eye(k)*1e+5;
elseif nargin == 6
% do nothing
else
error('tvp_filter: Wrong # of input arguments');
end;



beta = zeros(n,k);
ferror = zeros(n,2);

sige = parm(1);
sigb = zeros(k,1);
for i=1:k;
sigb(i,1) = parm(i+1,1);
end;

f = eye(k);
rr = sige.^2;
qq = diag(sigb.*sigb);
betall = priorb0;
pll = priorv0;

for iter=1:n;
xt = x(iter,:);
yt = y(iter,1);     
betatl = f*betall;
ptl = f*pll*f' + qq;
fcast = yt - xt*betatl;
ss = xt*ptl*xt' + rr;

betatt = betatl + (ptl*xt'/ss)*fcast;
ptt = (eye(k) - (ptl*xt'/ss)*xt)*ptl;
ferror(iter,:) = [fcast ss];
beta(iter,:) = betatl';

betall = betatt;
pll = ptt;

end;

betao = beta(start:n,:);
ferroro = ferror(start:n,:);


function [betao, ferroro] =  tvp_zgfilter(parm,y,x,start,priorb0,priorv0)
% PURPOSE: generate tvp model filtered betas and forecast error variance
%          given maximum likelihood estimates for Zellner g-prior tvp model
%          y(t) = X(t)*B(t) + e(t), e(t) = N(0,sige^2)
%          B(t) = B(t-1) + v(t),    v(t) = N[0,delta*sige*inv(X'X)]
%          (Zellner's g-prior)   
% -------------------------------------------------------------
% USAGE: [beta ferror] = tvp_zgfilter(parm,y,x,start,priorb0,priorv0)
% where: parm = a vector of maximum likelihood estimates
%               for sige, delta
%        y = (nx1) data vector
%        x = (nxk) data matrix
%    start = # of observation to start the filter (default = 1)
%    priorb0 = (k x 1) vector with prior b0 values 
%              (default = zeros(k,1), diffuse)
%    priorv0 = (k x k) matrix with prior variance for sigb
%              (default = eye(k)*1e+5, a diffuse prior)
% -------------------------------------------------------------
% NOTE: the filter starts at obs=1, but only returns information
%       from start onward            
% -------------------------------------------------------------
% RETURNS:   beta = (start:n x k) matrix of tvp beta estimates
%          ferror = (start:n x 2) matrix with forecast error and
%                         conditional variance        
% -------------------------------------------------------------

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


[n k] = size(x);

if nargin == 3
start = 1;
priorb0 = zeros(k,1);
priorv0 = eye(k)*1e+5;
elseif nargin ==4
priorb0 = zeros(k,1);
priorv0 = eye(k)*1e+5;
elseif nargin == 6
% do nothing
else
error('tvp_filter: Wrong # of input arguments');
end;



beta = zeros(n,k);
ferror = zeros(n,2);

sige = parm(1,1);
delta = parm(2,1);
sigb = sige*sige*delta*delta*inv(x'*x);

f = eye(k);
rr = sige.^2;
qq = sigb;
betall = priorb0;
pll = priorv0;

for iter=1:n;
xt = x(iter,:);
yt = y(iter,1);     
betatl = f*betall;
ptl = f*pll*f' + qq;
fcast = yt - xt*betatl;
ss = xt*ptl*xt' + rr;

betatt = betatl + (ptl*xt'/ss)*fcast;
ptt = (eye(k) - (ptl*xt'/ss)*xt)*ptl;
ferror(iter,:) = [fcast ss];
beta(iter,:) = betatl';

betall = betatt;
pll = ptt;

end;

betao = beta(start:n,:);
ferroro = ferror(start:n,:);





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美综合网| 国产精品18久久久久久久久久久久| 国产福利一区二区| 欧美大肚乱孕交hd孕妇| 日本午夜精品视频在线观看 | 欧美剧在线免费观看网站| 一区av在线播放| 欧美亚洲精品一区| 丝袜诱惑亚洲看片| 久久天天做天天爱综合色| 国产suv精品一区二区三区| 国产精品护士白丝一区av| 欧洲亚洲国产日韩| 热久久一区二区| 26uuu另类欧美亚洲曰本| 成人激情综合网站| 亚洲a一区二区| 欧美精品一区二区三区视频| 国产99久久久国产精品潘金网站| 自拍偷拍亚洲综合| 日韩欧美综合在线| 国产白丝网站精品污在线入口| 亚洲天堂中文字幕| 91麻豆精品国产91久久久资源速度 | 午夜国产精品影院在线观看| 26uuu国产一区二区三区| av亚洲精华国产精华精华| 午夜欧美在线一二页| 26uuu精品一区二区在线观看| 91蜜桃在线观看| 久久99国产精品久久99果冻传媒| 国产精品午夜在线观看| 欧美欧美午夜aⅴ在线观看| 国产大陆a不卡| 日日欢夜夜爽一区| 中文字幕一区二区三区不卡| 欧美日韩国产高清一区二区三区 | 亚洲情趣在线观看| 欧美精品一区男女天堂| 精品视频一区 二区 三区| 国产河南妇女毛片精品久久久| 亚洲国产一二三| 国产精品免费丝袜| 欧美大片在线观看一区二区| 日本精品裸体写真集在线观看| 久99久精品视频免费观看| 一区二区三区在线免费播放| 国产亚洲一区二区三区四区| 欧美人狂配大交3d怪物一区| 99久久国产免费看| 国产黄色精品网站| 麻豆精品在线看| 亚洲精品国产精品乱码不99 | 亚洲最新视频在线播放| 精品三级av在线| 欧美精品亚洲一区二区在线播放| 成人黄页毛片网站| 国产成人精品综合在线观看| 蜜桃精品视频在线| 丝袜亚洲另类欧美综合| 亚洲国产人成综合网站| 亚洲天堂2016| 国产精品久久久久久久久动漫| 精品sm捆绑视频| 精品免费一区二区三区| 欧美高清www午色夜在线视频| 欧美在线观看禁18| 一本色道久久综合亚洲91| 99麻豆久久久国产精品免费 | 精品久久久久久久久久久久久久久久久 | 中文字幕在线观看一区| 久久精品亚洲乱码伦伦中文| 日韩精品中文字幕一区二区三区| 欧美一区二区性放荡片| 日韩一区二区视频在线观看| 欧美一区二区在线看| 欧美一区三区四区| 欧美一区二区三区日韩| 欧美一级国产精品| 日韩女优电影在线观看| 精品1区2区在线观看| 精品国产免费久久| 精品国产一区二区三区久久久蜜月 | 久久99九九99精品| 国产一区二区中文字幕| 国产电影一区二区三区| 成人综合日日夜夜| av一区二区三区在线| 色欧美片视频在线观看在线视频| 91女人视频在线观看| 欧美伊人久久久久久久久影院 | 91在线观看视频| 91成人免费在线视频| 欧美精品粉嫩高潮一区二区| 91精品国产91久久久久久最新毛片| 欧美精品精品一区| 亚洲精品一区二区三区影院| 欧美国产欧美综合| 亚洲精品成人悠悠色影视| 午夜精品福利在线| 国产精品资源在线看| 91色.com| 欧美一级在线视频| 欧美激情一区二区三区四区| 亚洲免费看黄网站| 蜜桃精品视频在线| www.欧美日韩| 91精品国产91热久久久做人人 | 精品影视av免费| 风间由美一区二区av101| 在线视频一区二区免费| 91精品国产91久久久久久一区二区| 久久蜜桃av一区二区天堂| 国产精品理伦片| 日韩专区欧美专区| 成人午夜电影网站| 777亚洲妇女| 中文字幕精品一区二区精品绿巨人| 亚洲激情欧美激情| 国内精品国产三级国产a久久| 97se亚洲国产综合在线| 久久久国产精品麻豆| 亚洲欧洲国产日本综合| 日本美女视频一区二区| av中文字幕一区| 欧美一三区三区四区免费在线看| 国产精品久久午夜| 精品一区二区三区日韩| 91久久精品一区二区三区| 精品捆绑美女sm三区| 亚洲高清不卡在线观看| 国产高清在线精品| 欧美一级精品在线| 亚洲在线一区二区三区| 丰满少妇在线播放bd日韩电影| 欧美一区二区三区在线观看 | 日韩精品一区二区三区蜜臀| 综合精品久久久| 国产精品一品视频| 日韩欧美中文字幕制服| 亚洲午夜精品一区二区三区他趣| 国产高清不卡二三区| 日韩一区二区免费高清| 亚洲图片欧美一区| 91香蕉视频mp4| 久久久精品黄色| 蜜臀va亚洲va欧美va天堂 | 日韩区在线观看| 亚洲大片精品永久免费| 一本久久a久久精品亚洲| 久久精品视频一区二区| 免费观看一级欧美片| 777a∨成人精品桃花网| 亚洲精品视频在线看| 91丨porny丨在线| 中文一区二区在线观看| 国产老妇另类xxxxx| 欧美一区二区高清| 麻豆精品一区二区av白丝在线| 欧美日韩国产天堂| 亚洲小少妇裸体bbw| 欧美三级欧美一级| 亚州成人在线电影| 欧美日韩大陆在线| 日韩精品亚洲专区| 51精品视频一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 欧美乱妇15p| 人人精品人人爱| 欧美zozozo| 国产成人午夜片在线观看高清观看| 久久夜色精品一区| 高清国产一区二区| 国产精品成人午夜| 91丝袜美腿高跟国产极品老师 | av一二三不卡影片| 亚洲日本电影在线| 在线观看日韩毛片| 首页亚洲欧美制服丝腿| 欧美一区二区日韩| 国产伦精品一区二区三区免费| 久久人人97超碰com| 成人h动漫精品一区二区| 1区2区3区国产精品| 欧洲亚洲精品在线| 日本三级韩国三级欧美三级| 欧美tickling挠脚心丨vk| 国产成人免费视频网站高清观看视频| 国产精品人人做人人爽人人添| 成人app下载| 亚洲图片一区二区| 欧美成人女星排名| 成人午夜在线免费| 亚洲激情校园春色| 91超碰这里只有精品国产| 不卡的电影网站| 一区二区三区欧美日| 日韩欧美黄色影院| www.成人在线| 日日夜夜精品视频天天综合网|