detrend.m

来自「计量工具箱」· M 代码 · 共 53 行

M
53
字号
function resid = detrend(y,p) % PURPOSE: detrend a matrix y of time-series using regression%          of y against a polynomial time trend of order p% -----------------------------------------------------------          % USAGE: resid = detrend(y,p)% where:     y = input matrix (or vector) of time-series (nobs x nvar)%            p = 0, subtracts mean%            p = 1, constant plus trend model%            p > 1, higher order polynomial model%            p = -1, returns y% -----------------------------------------------------------           % RETURNS: resid = residuals from the detrending regression% -----------------------------------------------------------% written by:% James P. LeSage, Dept of Economics% University of Toledo% 2801 W. Bancroft St,% Toledo, OH 43606% jlesage@spatial-econometrics.com% error checking on input argumentsif nargin ~= 2 error('Wrong # of arguments to detrend');end;if (p == -1) resid = y; returnend;[nobs junk] = size(y);    u = ones(nobs,1);   if p > 0 timep = zeros(nobs,p);    t = 1:nobs;    tp = (t')/nobs;    m = 1;    while (m <= p)     timep(:,m) = tp.^m;     m = m+1;    end;    xmat = [u timep];   else    xmat = u;   end;      xpxi = inv(xmat'*xmat);   beta = xpxi*(xmat'*y);   resid = y - xmat*beta;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?