Trailing window et Centre windows sont décrits par dans son tutoriel Sequences, Time Series and Prediction (Coursera/Semaine 1).
L’article Moving averages est aussi recommandé.
Un autre article intéressant : What is meant by « centered moving average »?
Trailing moving average
Supposons les données suivantes : X = [1 2 6 4 3 7];
Trailing moving average donnera (avec une fenêtre de 3) :
Xtrail = [NaN, NaN, mean([1 2 6]), mean([2 6 4]), mean([6 4 3]), mean([4 3 7])]
Xtrail = NaN NaN 3 4 4.3333 4.6667
Puisqu’on n’ a pas assez de données au départ, on peut se contenter d’une moyenne sur 2 ou 1 pour les premiers cas.
Xtrail = [1, mean([1 2]), mean([1 2 6]), mean([2 6 4]), mean([6 4 3]), mean([4 3 7])]
Xtrail = 1 1.5 3 4 4.3333 4.6667
A l’opposé on a aussi Leading moving average.
Centered moving average
Xcenter = [NaN, mean([1 2 6]), mean([2 6 4]), mean([6 4 3]), mean([4 3 7]), NaN]
Xcenter = NaN 3 4 4.3333 4.6667 NaN
Autre exemple
Si on a les données suivantes (2 premières colonnes), alors la moving average sur une fenêtre de 5 années est celle de la dernière colonne.
Year | Sales (GWh) | 5-MA |
1989 | 2354,34 | |
1990 | 2379,71 | |
1991 | 2318,52 | 2381,53 |
1992 | 2468,99 | 2424,556 |
1993 | 2386,09 | 2463,758 |
1994 | 2569,47 | 2552,598 |
1995 | 2575,72 | 2627,7 |
1996 | 2762,72 | 2750,622 |
1997 | 2844,5 | 2858,348 |
1998 | 3000,7 | 3014,704 |
1999 | 3108,1 | 3077,3 |
2000 | 3357,5 | 3144,52 |
2001 | 3075,7 | 3188,7 |
2002 | 3180,6 | 3202,32 |
2003 | 3221,6 | 3216,94 |
2004 | 3176,2 | 3307,296 |
2005 | 3430,6 | 3398,754 |
2006 | 3527,48 | 3485,434 |
2007 | 3637,89 | |
2008 | 3655 |
La méthode décrite dans le tutoriel consiste à tout d’abord faire du differencing (delta entre valeurs à la période t à la période t-1), puis de calculer une moving average sur ces données, puis d’ajouter les données de la période précédente.
Note that when we use the trailing window when computing the moving average of present values from t minus 32, t minus one. But when we use a centered window to compute the moving average of past values from one year ago, that’s t minus one year minus five days, to t minus one year plus five days. Then moving averages using centered windows can be more accurate than using trailing windows. But we can’t use centered windows to smooth present values since we don’t know future values. However, to smooth past values we can afford to use centered windows.
https://www.coursera.org/learn/tensorflow-sequences-time-series-and-prediction/lecture/4s0E8/trailing-versus-centered-windows