Including NaN in function for HP-Filter
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
David Sanchez
le 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?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!