How to obtain moving average smoothing of daily time series?
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have daily time series, how can I obtain seven day and monthly moving averaged time series.
I have tried the smooth command in matlab but it only provides the value and I also need the time.
0 commentaires
Réponses (1)
Johannes Hougaard
le 14 Sep 2020
I think the function you need is filter - but that requires a numeric input (for which I would use the datenum function)
timeseries = datetime(2020,01,01):datetime(2020,09,11);
dataseries = randn(size(timeseries));
N = 7; % A seven day average (could be altered to any number you'd like)
average_time = datetime(filter(ones(N,1),N,datenum(timeseries),nan(N-1,1)),'ConvertFrom',"datenum"); %the NaN assures that data are not calculated when data are insufficient
average_data = filter(ones(N,1),N,dataseries,nan(N-1,1));
0 commentaires
Voir également
Catégories
En savoir plus sur Time Series 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!