Detrend each column of a matrix.
Syntax: @coldetrend(m)
m: matrix
Return: matrix
Returns the matrix containing the results from detrending each column of m.
Detrending produces the residuals of the OLS regression of the data in column
versus an intercept and implicit time trend. For each element of the output matrix
:
where
and
are the intercept and slope coefficients of a regression of the data in column
on a constant and time trend. If there are missing values in a column, they are ignored.
Examples
matrix m1 = @mnrnd(50, 4)
matrix m1d = @coldetrend(m1)
detrends each column of M1 and places the results in M1D.
This operation is equivalent to
vector cintercepts = @cintercept(m1)
vector ctrendcs = @ctrendcoef(m1)
matrix m2d = m1 - @kronecker(@ones(m1.@rows), cintercepts.@t) - @kronecker(@range(0, m1.@rows-1), ctrendcs.@t)
where @cintercept and @ctrendcs are used to compute the coefficients of the column trend regressions.