Including NaN in function for HP-Filter
    2 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!

