Including NaN in function for HP-Filter
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi there, my question is the following: I have a function file to calculate HP-Filtered series of some series y. The problem is the following: If the series y contains some NaN, then the HP-filter function returns a series only with NaN, i.e. up till now it can only produce HP-filtered series when there are no NaN in y. Can somebody adjust my function file such that it works with NaN?
Below the code:
function [cycle,trend]=hpfilter(y,lambda)
long = size(y,1);
HP=[1+lambda -2*lambda lambda zeros(1,long-3);...
-2*lambda 1+5*lambda -4*lambda lambda zeros(1,long-4);...
zeros(long-4,long);...
zeros(1,long-4) lambda -4*lambda 1+5*lambda -2*lambda;...
zeros(1,long-3) lambda -2*lambda 1+lambda];
for i=3:long-2;
HP(i,i-2)=lambda;
HP(i,i-1)=-4*lambda;
HP(i,i)=1+6*lambda;
HP(i,i+1)=-4*lambda;
HP(i,i+2)=lambda;
end;
trend = HP\y;
cycle = y-HP\y;
Thanks very much! Philipp
1 Kommentar
David Sanchez
am 24 Mai 2013
I tried with
y=str2array('[1 2 e 3]')
y =
1
2
NaN
3
lambda = .2;
and it seems to work, what's the problem?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!