1 A propos des auteurs
Ce travail a été réalisé par :
Michael De Shepper
- Dimplôme : ingénieur industriel automaticien (ECAM, 2016)
- email: michaeldeschepper1992@gmail.com
- Contribution à l’examen: Modélisation ARIMA sur R
J’affirme sur l’honneur que j’ai effectué ce travail personnellement.
Thierry Vanderborcht
- Dimplôme : ingénieur civil mécanicien (ULB, 2009)
- email: th.vanderborcht@gmail.com
- Contribution à l’examen: Méthode du lissage exponentiel de Winters
J’affirme sur l’honneur que j’ai effectué ce travail personnellement.
Antoine Mercier
- Dimplôme : ingénieur industriel mécanicien (ISIB, 2006)
- email: antoinemercier82@hotmail.com
- Contribution à l’examen: Régression linéaire multiple
J’affirme sur l’honneur que j’ai effectué ce travail personnellement.
2 Introduction
2.1 Objectifs poursuivis
Par ce travail, nous espérons pouvoir développer nos compétences en matière d’identification de modèles économiques dans le but d’établir des prévisions sur le plus ou moins long terme. De plus, nous souhaiterions apprendre à utiliser le logiciel R, lequel est aujourd’hui considéré comme étant une référence auprès de la communauté scientifique et universitaire en matière d’analyse statistique. La finalité de notre travail consistera donc en une comparaison des différentes méthodes de prévision et sur un retour d’expérience relatif au logiciel utilisé. Pour la modélisation, nous utiliserons les méthodes suivantes:
- Naïve: rapide et permettant d’avoir une référence
- Décomposition en tendance.saisonnalité.cycle: permet de mieux comprendre la structure de la série
- Lissage exponentiel de Winters: adapté aux séries avec saisonnalité
- Régression multiple
- ARIMA: méthode plus complexe permettant une analyse plus poussée de la série
2.2 Présentation des données
Les données choisies pour ce projet sont les suivantes : ventes mensuelles de la marque automobile VW sur une période allant de janvier 2006 à mars 2011 et sur territoire EU30. Ces informations proviennent de l’ACEA (Association des Constructeurs Européens de l’Automobile). Nous avons choisi ce type de données pour les raisons suivantes:
- Ce type de série est analysé et suivi dans toutes les grandes entreprises industrielles. Nous pourrions donc être amenés à réaliser des études similaires à l’avenir.
- Dans le cas extrêmement concurrentiel de l’industrie automobile, les ventes mensuelles sont suivies de près par le Top Management car cette information est directement corrélée avec le chiffre d’affaire et la part de marché.
- Les ventes mensuelles d’automobile peuvent être trouvées relativement facilement.
- le choix de cette série de données est également lié au fait qu’un des membres du groupe a travaillé pour un grand constructeur européen d’automobile.
Le tableau de données et le graphique est respectivement donné à la table 1 et à la figure 1. On peut observer la saisonnalité de la série, ainsi qu’une légère tendance à la baisse.
| Mois | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 |
|---|---|---|---|---|---|---|
| JAN | 271303 | 265907 | 270829 | 213583 | 235886 | 253903 |
| FEV | 226633 | 229069 | 253351 | 222769 | 218716 | 239155 |
| MARS | 357268 | 370795 | 328026 | 319500 | 352593 | 367143 |
| AVR | 279664 | 283026 | 320752 | 290961 | 281579 | |
| MAI | 318973 | 314255 | 291786 | 305685 | 273026 | |
| JUIN | 317925 | 323487 | 306408 | 327456 | 306833 | |
| JUIL | 290278 | 300006 | 289424 | 282752 | 245126 | |
| AOUT | 221968 | 224906 | 201706 | 203945 | 186444 | |
| SEP | 297897 | 280431 | 284691 | 290330 | 279582 | |
| OCT | 282953 | 293365 | 270500 | 281739 | 255350 | |
| NOV | 296925 | 280185 | 228256 | 262066 | 256915 | |
| DEC | 252628 | 247069 | 226179 | 229596 | 229025 |
2.3 Validation des données
Données réservées: les données réservées pour la préevisions sont les celles des 9 derniers mois de la série. Celle-ci s’étendent donc de juillet 2010 à mars 2011.
Critères de validation: pour valider nos modèles, nous utiliserons le critères RMSE et MAPE. Ceux-ci sont donnés par les formules générales:
\[ RMSE = \sqrt{\frac{1}{n}\displaystyle\sum_{i=1}^{N} (\hat{y_i}-y_i)^2} \] \[ MAPE = \frac{1}{n}\frac{\sum_{i=1}^{N}\hat{y_i}-y_i)}{y_i} \] avec:
- \(n\) = nombre de données
- \(\hat{y_i}\) = donnée prédite
- \(y_i\) = donnée réservée
Pertinence du choix de critères: Le critère RMSE peut s’utiliser pour des erreurs positives et négatives. Il possèdent l’avantage de garder le même ordre de grandeur que les données. Le critère MAPE ne peut s’utiliser que pour des erreurs strictement positives. Il possède l’avantage qu’il se base sur un pourcentage ce qui est pratique à manipuler. Nous l’utiliserons afin de montrer l’influence du choix de l’indicateur sur la validation du modèle en prédiction.
3 Prévisions
3.1 Méthode de prévision naïve
Nous allons commencer par appliquer la méthode de prévision naïve sur notre série. Cette méthode consiste à reprendre la même valeur mensuelle que le même mois de l’année précédente.
Nous réalisons cette exercice sur nos données réservées, à savoir les 9 derniers mois de la série [juillet-2010 ; mars-2011].
Nous obtenons le résultat ci-dessous :
Comme on pouvait s’y attendre, le résultat est relativement bon car notre série ne présente pas une tendance forte.
Dans les paragraphes suivants nous allons raffiner les méthodes utilisées, et nous verrons si nous obtenons une meilleure prévision que par la méthode naïve.
Nous commencerons par décomposer notre série en une « tendance », une « saisonnalité » et « cycle » dans le cadre d’un modèle multiplicatif. Nous savons que la plupart des phénomènes économiques sont de nature multiplicative (comme les ventes de champagne vu au cours), mais afin de confirmer nous avons réalisé l’exercice par la méthode additive et nous avons constaté que les résultats étaient de l’ordre de 50% moins bons.
3.2 Calcul de la tendance
Notre série présentant un caractère saisonnier, il est donc nécessaire de calculer la tendance sur base annuelle afin de s’affranchir de cette saisonnalité. Nous avons calculé – par la méthode des moindres carrés – la droite de tendance sur base des ventes mensuelles moyennes de chaque année complète (2006 à 2010).
3.3 Méthode de prévision naïve améliorée
Connaissant la tendance, nous pouvons améliorer la prévision naïve en y ajoutant cette nouvelle donnée. Dans la suite du rapport, nous appellerons cette méthode la « prévision naïve améliorée ».
Nous obtenons le résultat suivant :
- RMSE : 19171
- MAPE : 6.41%
Soit une légère amélioration par rapport à la prévision naïve « simple ». Passons maintenant à la décomposition saisonnière de notre série de données.
3.4 Décomposition saisonnière
Nous avons observé un caractère saisonnier de type « annuel » sur notre série de données. Nous allons maintenant calculer les facteurs saisonniers. Pour ce faire, nous calculons d’abord la moyenne mobile d’ordre 12 (CMA(12)), ensuite le rapport entre la donnée (vente mensuelle) et cette moyenne mobile. On calcule ensuite la moyenne de ce rapport.
Remarque: nous n’avons pas besoin d’utiliser des moyennes élaguées car il n’y a pas de rapport extrême dans nos données.
Les résultats sont repris dans le tableau ci-dessous où la ligne:
- « Provisoire » est la moyenne.
- « Définitif » est la normalisation en base 1 de la moyenne.
| Année | JAN | FEV | MARS | AVR | MAI | JUIN | JUIL | AOUT | SEP | OCT | NOV | DEC |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 | 1.021 | 0.781 | 1.046 | 0.991 | 1.040 | 0.885 | ||||||
| 2007 | 0.929 | 0.799 | 1.296 | 0.990 | 1.101 | 1.137 | 1.054 | 0.787 | 0.984 | 1.030 | 0.982 | 0.871 |
| 2008 | 0.958 | 0.901 | 1.170 | 1.147 | 1.055 | 1.120 | 1.071 | 0.757 | 1.074 | 1.027 | 0.869 | 0.856 |
| 2009 | 0.807 | 0.842 | 1.206 | 1.095 | 1.143 | 1.217 | 1.047 | 0.753 | 1.067 | 1.032 | 0.966 | 0.853 |
| 2010 | 0.885 | 0.827 | ||||||||||
| 2011 | ||||||||||||
| Provisoire | 0.895 | 0.842 | 1.224 | 1.078 | 1.099 | 1.158 | 1.048 | 0.769 | 1.043 | 1.020 | 0.964 | 0.866 |
| Définitif | 0.906 | 0.834 | 1.205 | 1.095 | 1.100 | 1.136 | 1.050 | 0.768 | 1.056 | 1.028 | 0.973 | 0.863 |
3.5 Méthode de prévision « Tendance * Saisonnalité * Cycle »
Pour rappel, nous avons choisi un cycle modèle multiplicatif. Pour la valeur du cycle, nous avons cherché l’optimum (sur base du critère MAPE) entre la valeur minimum et la valeur maximum calculée pour notre série. Nous avons remarqué que c’est la valeur maximum du facteur cycle qui minimise le critère MAPE. De plus, nous avons calculé un intervalle de prévision de 80% (basé sur les quantiles 0.10 et 0.90) autour de la prévision. Cette représentation permet de mieux se rendre compte visuellement de la précision de la prévision par rapport aux données réservée. Les résultats sont repris ci-dessous:
Equation:
\[ \hat{y_t} = T_t \times S_t \times C \]
Remarque: l’effet du facteur cycle n’est pas négligeable dans notre approche. En effet, en prenant la valeur minimum du facteur cycle, le critère MAPE passe à 7.96%.
3.6 Méthode du lissage exponentiel de Winters
Nous passons maintenant à un niveau de complexité supérieur avec la méthode du lissage exponentiel. Nous utilisons le lissage exponentiel de Winters afin de prendre directement en compte la saisonnalité de notre série de donnée. Remarque: malgré l’utilisation du mot « lissage », il s’agit bien d’une méthode de prévision.
Equations:
Si \(s=12\):
\[ \hat{y_t}(h) = (S_t + hT_t)I_{t+h-12} \text{ si } h \leq 12\] Equations de mise à jour pour niveau, pente de tendance et coefficient saisonnier:
\[ S_t = \alpha (y_t/I_{t-12}) + (1 - \alpha)(S_{t-1} + T_{t-1}) \] \[ T_t = \gamma (S_t - S_{t-1}) + (1 - \gamma)T_{t-1} \text{ inchangée} \] \[ I_t = \delta (y_t / S_t) + (1 - \delta) I_{t-12} \]
Et où les valeurs initiales sont:
\[ S_0 = \text{moyenne}(y_{t-12};y_{t-1})\text{ soit la moyenne des ventes sur les 12 mois précédents} \] \[ T_0 = 0 \] \[ I_0 = y_{t-1}/S_0 \]
Dans le cadre de cette méthode réalisée sous Excel, il est nécessaire d’utiliser le Solver afin de calculer les valeurs optimales de \(\alpha\), \(\gamma\) et \(\delta\) qui minimisent le critère choisi. Le résultat dépend donc du critère que l’on choisit de minimiser ! Attention : il faut réaliser l’optimisation sur base de la série, et non sur les données réservées.
Remarque: Le Solver d’Excel permet de balayer différentes valeurs pour ces 3 paramètres tout en fixant des contraintes sur ceux-ci.
La méthode du lissage exponentiel de Winters s’applique donc bien à notre type de série de données.
3.7 Méthode ARIMA
3.7.1 Etude préliminaire
L’identification du processus par un modèle ARIMA nécessite que les données soient stationnaires. Pour ce faire, il est nécessaire la moyenne et la variance soit constante dans le temps. L’analyse du graphique des données (figure ) à déjà montré qu’il existait une certaine tendance non constante dans la série. De plus, une certaine saisonnalité a été détectée, notamment dans la décomposition de la série.
3.7.1.1 Auto corrélation des données
Une série stationnaire est une série qui n’est pas corrélée avec elle même. Nous commencerons donc par afficher l’auto-corrélation de la série initiale Celle-ci est donnée à la figure suivante:
On peut voir que la série est auto corrélée pour des décalages multiples de 1 ans.
3.7.1.2 Auto corrélation de la série différenciée
Suivant ce qui a été dis précédemment, la série n’est pas stationnaire. Nous allons donc la rendre stationnaire par différenciation. Comme nous venons de le voir au point précédent, la série possède une certaine saisonnalité égale à 12 mois. Pour supprimer celle-ci, il est nécessaire d’appliquer une différentiation de type \(y_t=y_{t-12}\). La figure montre l’auto corrélation de la série ayant été différentiée. On peut voir que la majorité des poids (à l’exception du premier) se trouve à l’intérieur de l’intervalle de confiance. la série différentiée peut donc raisonnablement être considérée comme étant stationnaire.
3.7.2 Détermination du modèle
3.7.2.1 Modèle manuel
La détermination du modèle arima se fera grâce à la fonction arima() du logiciel R. Le principe de fonctionnement de celle-ci peut facilement être trouvé dans la documentation présente sur internet . En résumé, cette fonction permet d’obtenir les différents coefficients du polynôme Arima de manière a fitter au mieux avec la courbe. Pour ce faire, il est nécessaire de lui indiquer en entrée l’ordre AR,I, et MA pour la composante saisonnière et non saisonnière.
Grâce à l’étude préliminaire, nous connaissons déja l’ordre de différentiation nécessaire. Le polynôme que nous cherchons est donc de type ARIMA(p,0,q)(P,1,Q)[12] pour lequel p, q, P, Q sont encore à déterminer. Après quelques essais, il a été nécessaire de limiter la taille des coefficients à \(p_{max}=2,q_{max}=2,P_{max}=1,Q_{max}=1\). En effet, des coefficients supérieurs provoquent des non stationnarités ou erreurs de convergence. Avec cette limitation, il reste 36 possibilités de modèle ARIMA à tester. Pour éviter de devoir essayer toutes les solutions une par une, une boucle de programmation a du être créée. Son but est de tester toute les possibilités et de calculer pour chacune le critère RSME. Elle permet également de garder en mémoire la configuration pour laquelle le critère est le plus bas. La table reprend les critères rmse que la boucle a gardé en mémoire.
| p | d | q | P | D | Q | RMSE |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 1 | 1 | 20758.11 |
| 0 | 0 | 1 | 0 | 1 | 0 | 19374.25 |
| 0 | 0 | 2 | 0 | 1 | 0 | 16105.61 |
| 1 | 0 | 2 | 0 | 1 | 0 | 14563.52 |
Le meilleur arima est donc celui pour lequel le critère rmse entre les données prédites et les données réservées est le plus petit. On peut voir que l’ARIMA(1,0,2)(0,1,0)[12] a le critère le plus petit. C’est donc celui-ci que nous retiendrons. Pour cette configuration, le polynôme Arima est le suivant:
\[ (1-0.6491B)(1-B^{12})y_t=(1 -0,6266B)e_t+(1+0,4094B^2)e_t \] La figure montre le résultat de l’auto corrélation des résidu pour ce modèle.
On peut voir que les résidus ne sont pas auto-corrélé entre eux. Le modèle est donc satisfaisant et peut donc être raisonnablement considéré comme étant le moins mauvais des modèles Arima.
La figure montre la superpositions des prédictions pour les 9 derniers mois avec les données.
On peut voir que les prédictions suivent très bien les données réservées. Le modèle est donc validé.
3.7.2.2 Modèle automatique
R possède une fonction automatisant la recherche du moins mauvais modèle ARIMA. La principe de fonctionnement de cette fonction peut facilement être trouvé sur internet. En résumé, cette fonction teste la stationnarité de la série grâce à un test KPSS, lequel permet de choisir l’ordre de différentiation, laquelle peut ensuite être appliquée à la série initiale. Un processus itératif permet ensuite de déterminer le moins mauvais modèle en minimisant le critère d’Akaike (\(AIC_c\)). Le résultat de la modélisation est un ARIMA(0,0,0)(1,1,0)[12] avec dérive. Son équation est la suivante :
\[ (1+0.4397)(1-B^{12})y_t=-548.1784 \] La figure montre le résultat de l’auto corrélation des résidu de ce modèle.
On peut voir que ceux-ci ne sont pas corrélés entre eux. Ceci est un indicateur du bon choix de modèle effectué. Nous pouvons maintenant prédire les valeurs futures des données et les comparer avec les données réservées. Dans r, une fonction permet de calculer les prévisions ainsi que les intervalles de confiance à 80 et 95 pour-cents. La figure montre le graphique contenant les prévisions superposées aux données brutes. Pour cette prévision, on a rmse=23952.2. On peut voir que le arima obtenu avec la fonction automatique est moins bien sur celui obtenu “manuellement”.
4 Conclusions
Les principaux résultats sont repris dans le tableau ci-dessous:
| Méthode/Critère | Logiciel | RMSE | MAPE |
|---|---|---|---|
| Naïve | Excel | 19762 | 6.75% |
| Naïve améliorée | Excel | 19171 | 6.41% |
| TSC | Excel | 23597 | 6.74% |
| Lissage exponentiel de Winters | Excel | 19123 / 19217 | 5.17% / 5.13 % |
| Regression multiple | R | ||
| ARIMA | R | 23952 |
Nous allons comparer et analyser les différentes méthodes et les différents logiciels utilisés.
4.1 Comparaison des méthodes utilisées
Note : influence du critère (RMSE ou MAPE) sur le choix de la meilleure méthode ?
4.2 Comparaison des logiciels utilisés
Les avantages et inconvénients des différents logiciels utilisés sont repris dans le tableau ci-dessous:
| Logiciel | Avantages | Inconvénients |
|---|---|---|
| Microsoft Excel | - Outil généraliste de base largement répandu dans toutes les entreprises | - Outil généraliste qui a ses limites car il n’est pas spécifique à notre application. |
| - Rapidité de prise en main de l’outil | - Risque lié à l’utilisation en mode « boîte noire » de certaines fonctions préinstallées. | |
| - Rapidité d’obtention des résultats pour une série de données. | - Les feuilles Excel doivent potentiellement être adaptées lorsque l’on change le set de données. | |
| R |
En comparaison avec Excel, R est un logiciel beaucoup moins intuitif. En effet, celui-ci est entièrement en ligne de code et nécessite de connaitre les bases de la programmation. De plus, son utilisation nécessite l’apprentissage de commandes très spécifiques, lesquelles peuvent demander beaucoup de temps et de pratiques. Une fois ces barrières dépassées, celui-ci permet d’avoir une combinaison d’outil statistiques très complet et très rapide à utiliser. La prévision par des modèles complexes tels que Arima, holtz winter,… ne nécessitent en effet que peu de ligne de commande. Cet avantage est également un désavantage, car il est facile d’obtenir un résultat sans devoir connaître exactement le fonctionnement de l’outil utilisé (processus sous jacent).Il est donc nécéssaire de passer beaucoup de temps dans la documentation des fonctions afin de paraméter correctement les options, lesquelles peuvent fortement influencer le résultat. Un autre grand avantage de ce programme est sa facilité d’adaptation pour traiter une autre série. En comparaison, il est beaucoup plus fastidieux d’adapter un tableur pour une nouvelle série sans devoir tout modifier (réintroduire chaque cellule, changer les formules, adapter les graphiques,…). Pour terminer, nous saluerons la grande communauté présente autour de ce logiciel. Grâce à elle, il est très facile de trouver réponse à ses questions, que ce soit par le biais de forum ou de tutoriel qui sont sans arrêt mis à jours.