Projet de Statistique Prévision : Wikipedia Traffic Forecast

NGO Khoa Anh, Athéna Brisse, ISUP, M2 ISDS


Table des matières

  1. Introduction
  2. Visualisation des données
  3. Creation des nouvelles variables explicatives (Access, Agent et Site Web Source)
  4. Trouver le language des pages
  5. Creation le theme d'article
  6. ARIMA sur le traffic des pages par rapport à language utilisée (Anglais, Allemand, Francais, Chinois)
  7. Construction le modèle ARIMA optimal en utilisant Out-of-Time Cross validation
  8. Prédiction avec XGBoost
  9. Prediction avec Random Forest
  10. Conclusion

Bibliothèques

Introduction

Prédire le trafic des pages de Wikipédia est une tâche utile pour comprendre comment les utilisateurs interagissent avec la plateforme et pour optimiser les performances et la disponibilité des serveurs de Wikipédia. Dans ce projet, nous visons à prédire le trafic sur les pages de Wikipedia en utilisant trois modèles d'apprentissage automatique différents : ARIMA, XGBoost, et Random Forest.

ARIMA (Autoregressive Integrated Moving Average) est un modèle populaire de prévision de séries temporelles qui est utilisé pour prédire les valeurs futures d'une série sur la base de ses valeurs passées. XGBoost est un modèle d'arbre de boosting à gradient qui est largement utilisé pour les tâches de classification et de régression. Random Forest est une méthode d'apprentissage d'ensemble qui combine les prédictions de plusieurs modèles d'arbres décisionnels pour améliorer la précision globale des prédictions.

Nous utiliserons un ensemble de données sur le trafic historique des pages Wikipédia pour former et évaluer les performances de ces trois modèles. L'objectif de ce projet est d'identifier le modèle le plus efficace pour prédire le trafic de sites web sur les pages de Wikipedia et de fournir des informations sur les facteurs qui influencent le trafic de sites web sur la plate-forme.

J'espère que cela vous donne un bon aperçu de notre projet. Dans les sections suivantes, nous décrirons plus en détail le jeu de données, les étapes de prééprocessing et le dispositif expérimental mis en place.

Visualisation des données

Après visualisation des premières lignes du dataset, on a bien 145063 pages Wikipedia avec ses trafics pendant 803 jours, du 01/07/2015 au 10/09/2017.

Variables NaN :

En examinant plus précisément, on constate qu'il y a des variables "anormales" : des valeurs NaN. Regardons de plus près ces données atypiques : combien il y en a, leur composition,...

Il y a 7027348 valeurs NaN a total, et beaucoup plus au début de la collecte des données. Il faudra garder cela en têtes pour faire assurer une rigueur dans nos prédictions.

Malgré cela, les NaN ne représentent que 6.03% de nos données, ce qui permet toutefois de faire des travaux intéressants et proches de la réalité. On efface tous les NAN

Regardons de plus près l'intitulé d'une page : "2NE1_zh.wikipedia.org_all-access_spider"

On peut voir que le nom de la page contient des informations importantes pour comprendre la distribution des données :

Creer des nouvelles variables explicatives (Access, Agent et Site Web Source)

On split l'intitulé de chaque page pour obtenir l'acces, l'agent et le site web source

View Count (Access)

Il existe trois sources principales à partir desquelles ces pages Web sont accessibles, à savoir

D'après les diagrammes à barres ci-dessus, nous pouvons voir que le trafic est plus important pour les pages dont la catégorie d'accès est tout accès. Les deux autres catégories présentent comparativement moins de trafic. De même, le trafic sur le Web mobile est légèrement supérieur à celui sur le Web de bureau.

View Count (Agent)

Il existe 2 sources principales d'agents, ce sont:

On trouve que le trafic est plus important pour les pages dont l'agent est tout agent

View Media type

Il y a bien de plus mediawiki. Pour information, Wikipédia est une encyclopédie en ligne gratuite que tout le monde peut modifier. Elle est maintenue par la Wikimedia Foundation, une organisation à but non lucratif qui héberge également une série d'autres projets de connaissances libres.

La Wikimedia Foundation est une organisation à but non lucratif qui soutient et gère Wikipédia, ainsi qu'un certain nombre d'autres projets de connaissances libres, notamment Wiktionary, Wikibooks et Wikinews. La fondation se consacre à la promotion de la croissance, du développement et de la distribution de contenus libres et multilingues, et à la mise à disposition gratuite de l'intégralité du contenu de ces projets au public.

MediaWiki est le logiciel qui alimente Wikipédia et les autres projets de la fondation Wikimedia. Il s'agit d'une plateforme logicielle libre et gratuite utilisée pour l'édition collaborative de sites Web. MediaWiki est écrit dans le langage de programmation PHP et utilise une base de données, telle que MySQL, pour stocker le contenu et la configuration. Il a été développé à l'origine pour Wikipédia, mais a depuis été utilisé par un large éventail d'autres sites Web et organisations.

Ainsi, la distribution telle que nous la voyons indique simplement que le logiciel MediaWiki est largement utilisé, et tous les articles de Wikipédia sont créés et édités à l'aide de MediaWiki.

Trouver le language des pages

On trouve par rapport le bar plot ci dessus que les pages en Japonaise est le plus accessible que tous les autres pages, après c'est les pages en Anglais. Le moins accessible est des pages en Espagne

Commentaire : Prédominance de l'anglais, suivi de l'espagnol. Pour des raisons de curiosité et d'intérêts, nous décidons de nous focaliser uniquement sur l'anglais, l'allemand, le chinois et le français.

Création d'une variable explicative supplémentaire : le thème de l'article

Dans notre envie d'enrichir notre base de données, nous cherchons à classer les articles selon le thème auquel ils appartiennent en utilisant des techniques de traitement du langage naturel (NLP). Nous disposons d'un ensemble de données d'articles appartenant à 12 thèmes différents : "Mathématiques et abstractions", "Art et culture", "Géographie et lieux", "Santé et forme physique", "Histoire et événements", "Sciences naturelles et nature", "Personnes et soi", "Philosophie et pensée", "Religion et spiritualité", "Sciences sociales et société", et "Technologie et sciences appliquées". Nous avons ici repris les catégories données par Wikipédia directement.

Pour classer les articles, nous utiliserons le modèle NLP "zero-shot-classification, facebook/bart-large-mnli", qui est un modèle de pointe basé sur un transformateur entraîné sur un grand ensemble de données en langage naturel. Ce modèle est conçu pour obtenir de bonnes performances dans un large éventail de tâches NLP, notamment la classification, la traduction et le résumé.

L'une des principales caractéristiques du modèle "zero-shot-classification, facebook/bart-large-mnli" est sa capacité à effectuer une classification "zero-shot", ce qui signifie qu'il peut classer des documents dans des catégories qu'il n'a pas vues pendant la formation. Cela est possible grâce à l'utilisation d'une représentation partagée du texte qui permet au modèle de transférer des connaissances provenant d'autres tâches et d'autres langues.

Nous nous concentrons sur les données en anglais.

Exemples

Les classifications semblent assez cohérentes.

Compte tenu de la quantité de données et des variations qui apparaissent, il est difficile d'observer des tendances significatives. Il semble toutefois que les opinions varient de façon assez constante selon le sujet, avec des pics en mathématiques, en Histoire, en Sujets de société.

Nous aimerions évaluer les performances du modèle à l'aide de diverses métriques et de l'ajuster pour améliorer sa précision, mais par manque de temps, nous en restons à cette approximation. Dans l'ensemble, cette initiative nous montrera la puissance du traitement automatique des langues et de l'apprentissage automatique pour automatiser le processus de catégorisation des données textuelles et extraire des informations utiles de grands volumes d'informations non structurées.

À noter que les petits traffics également connaissent des pics.

ARIMA sur le traffic des pages par rapport à language utilisée (Anglais, Allemand, Francais, Chinois)

ARIMA, ou "Auto Regressive Integrated Moving Average", est une classe de modèles qui "explique" une série chronologique donnée sur la base de ses propres valeurs passées, c'est-à-dire ses propres retards et les erreurs de prévision retardées, de sorte que l'équation peut être utilisée pour prévoir les valeurs futures.

Toute série temporelle "non saisonnière" qui présente des caractéristiques et qui n'est pas un bruit blanc aléatoire peut être modélisée par des modèles ARIMA.

Un modèle ARIMA est caractérisé par 3 termes : p, d, q où

Modèle AR

Un modèle autorégressif (AR seulement) est un modèle où $Y_t$ ne dépend que de ses propres retards. Autrement dit, $Y_t$ est une fonction des "retards de $Y_t$"

$Y_t=\alpha+\beta_1Y_{t-1}+\beta_2Y_{t-2}+..+\beta_pY_{t-p}+\epsilon_1$

où $Y_{t-1}$ est le lag1 de la série, $\beta_1$ est le coefficient du lag1 que le modèle estime et $\alpha$ est le terme d'interception, également estimé par le modèle.

Modèle MA

De même, un modèle MA est un modèle où $Y_t$ ne dépend que des erreurs de prévision retardées.

$Y_t=\alpha+\epsilon_t+\phi_1\epsilon_{t-1}+\phi_2\epsilon_{t-2}+..+\phi_q\epsilon_{t-q}$

où les termes d'erreur sont les erreurs des modèles autorégressifs des retards respectifs. Les erreurs $\epsilon_t$ et $\epsilon_{t-1}$ sont les erreurs des équations suivantes :

$Y_t=\beta_1Y_{t-1}+\beta_2Y_{t-2}+..+\beta_0Y_{0}+\epsilon_t$

$Y_{t-1}=\beta_1Y_{t-2}+\beta_2Y_{t-3}+..+\beta_0Y_{0}+\epsilon_{t-1}$

Modèle ARIMA

Un modèle ARIMA est un modèle où la série temporelle a été différenciée au moins une fois pour la rendre stationnaire et où l'on combine les termes AR et MA. L'équation devient donc :

$Y_t=\alpha+\beta_1Y_{t-1}+\beta_2Y_{t-2}+..+\beta_pY_{t-p}\epsilon_t+\phi_1\epsilon_{t -1}+\phi_2\epsilon_{t-2}+..+\phi_q\epsilon_{t-q}$

Résumé des étapes à faire

Voici le résumé des étapes que nous allons suivre pour en implémenter un :

  1. Rendre la série stationnaire en supprimant la Trend et la Saisonalité. Cela se fait en prenant la différence dans les données où en faisant une transformaiton comme un log ou une racine carrée.
  2. Identifier l'ordre du modèle ARIMA (p,d,q) en examinant l'autocorrélation. Le terme "p" représente l'odre du composant autoregressif (AR), "d" l'odre de la différence, et "q" celui de la moyenne mobile (MA).
  3. Ajuster le modèle à la série temporelle et l'utiliser pour faire des prédictions.
  4. Évaluer le modèle et la précision de la prédiction.

Étape 1: Verifier la stationnarite

L'un des facteurs les plus importants que on doit prendre en compte lors de l'application du modèle ARIMA aux séries temporelles est que les données qu'on utilise doit être stationnaires.

Test ADF

Test ADF est un test statistique qui vise à savoir si une série temporelle est stationnaire c'est-à-dire si ses propriétés statistiques (espérance, variance, auto-corrélation) varient ou pas dans le temps.

Rappel : pour le test ADF

Hypothèse nulle (HO) : la série est non stationnaire

Hypothèse alternative (H1): La série est stationnaire

Anglais : La p-value est de 0,057, supérieure au niveau de signification de 0,05 et la statistique ADF est supérieure aux valeurs critiques (1 %). Il n'y a aucune raison de rejeter l'hypothèse nulle. Ainsi, on considère la série temporelle comme étant non-stationnaire.

Il en va de même pour l'allemand, le français et le chinois.

Test stationnarite pour les pages en Anglais

On trouve que pour les Pages en Anglais, le graphique de Rolling Mean et de Rolling Std n'est pas constant, ce qui corrobore l'hypothèse selon laquelle ces donnees ne sont pas stationnaires.

Allemand

Dans ce cas, pareil on trouve que pour les Pages en Allemagne, le graphique de Rolling Mean et de Rolling Std n'est pas constant, ce qui montre que ces donnees ne sont pas stationnaires.

Francais

Pareil comme les 2 premiers, les donnees sur les pages en Francais ne sont pas stationnaires

Chinois

De même résultat, les données sur les pages en Chinois ne sont pas stationnaires

KPSS Test

L'exécution à la fois du test de Dickey-Fuller (ADF) et du test de Kwiatkowski-Phillips-Schmidt-Shin (KPSS) lors de l'évaluation de la stationnarité peut fournir une évaluation plus complète des données et peut aider à confirmer ou à réfuter nos résultats.

Le test KPSS est également un test de racine unitaire, mais il est utilisé pour déterminer si la série est stationnaire en tendance, ce qui signifie qu'elle est stationnaire autour d'une tendance déterministe. L'hypothèse nulle H0 du test KPSS est "La série est stationnaire en tendance", tandis que l'hypothèse alternative H1 est "La série n'est pas stationnaire en tendance".

En effectuant les deux tests, on peut obtenir une perception plus complète de la stationnarité des données. Par exemple, si le test ADF suggère que les données sont stationnaires et que le test KPSS suggère que les données ne sont pas stationnaires en tendance, cela peut indiquer que les données sont stationnaires mais présentent un autre type de non-stationnarité, comme des fluctuations périodiques ou saisonnières. Dans de tels cas, une analyse plus approfondie peut être nécessaire pour comprendre la nature de la non-stationnarité et déterminer le plan d'action approprié.

Hypothèse nulle (HO) : la série est stationnaire en tendance

Hypothèse alternative (H1): La série est non stationnaire en tendance

Anglais : Statistique de test > valeur critique et p-value < 0,05. En conséquence, nous rejetons l'hypothèse nulle au profit d'une alternative donc non stationnaire

Il en va de même pour l'Allemand, le français et le chinois.

Ainsi pour ces quatre langues, tant le test de Dickey-Fuller que le KPSS semblent indiquer que les séries sont non-stationnaires. On reste donc sur cette position.

L'ordre de différenciation (d) dans le modèle ARIMA

On utilise la différenciation. Plus précisément, on va trouver le nombre de différenciations nécessaire pour que notre série soit stationnaire.

Pour les pages en Anglais

Pour la 1ere differentiation, la série temporelle atteint la stationnarité avec deux ordres de différentiation. Mais en regardant le graphique d'autocorrélation pour la deuxième différenciation, le lag passe assez rapidement dans la zone négative, ce qui indique que la série a peut-être été surdifférenciée. Donc on choisit la 1ere differentiation (d=1)

Le p-value obtenue est inférieure au niveau de signification de 0,05 et la statistique ADF est inférieure à toutes les valeurs critiques. Donc, on a le droit de rejeter l'hypothèse nulle. Ainsi, la série temporelle devient bien stationnaire.

Test statistique < valeur critique et p-valeur > 0,05. En conséquence, nous acceptons l'hypothèse nulle en faveur d'une alternative. Nous concluons donc que la série est stationnaire

ALLEMAND

On voit que le lag de la 2eme différentiation passe plus vite au zone de négatif que la 1ere donc la 1ere différentiation a l'air plus intéressant que la 2eme

Le p-value obtenue est inférieure au niveau de signification de 0,05 et la statistique ADF est inférieure à toutes les valeurs critiques. Donc, on a le droit de rejeter l'hypothèse nulle. Ainsi, la série temporelle est stationnaire.

Test statistique < valeur critique de 1% et p-valeur > 0,01. En conséquence, nous acceptons l'hypothèse nulle en faveur d'une alternative. Nous concluons donc que la série est stationnaire

FRANCAIS

On voit que le lag de la 2eme différentiation passe plus vite au zone de négatif que la 1ere donc la 1ere différentiation a l'air plus intéressant que la 2eme

Le p-value obtenue est inférieure au niveau de signification de 0,05 et la statistique ADF est inférieure à toutes les valeurs critiques. Donc, on a le droit de rejeter l'hypothèse nulle. Ainsi, la série temporelle est stationnaire.

Test statistique < tous les valeurs critiques et p-valeur > 0,05. En conséquence, nous acceptons l'hypothèse nulle en faveur d'une alternative. Nous concluons donc que la série est stationnaire

CHINOIS

On voit que le lag de la 2eme différentiation passe plus vite au zone de négatif que la 1ere donc la 1ere différentiation a l'air plus intéressant que la 2eme

Le p-value obtenue est inférieure au niveau de signification de 0,05 et la statistique ADF est inférieure à toutes les valeurs critiques. Donc, on a le droit de rejeter l'hypothèse nulle. Ainsi, la série temporelle est stationnaire.

Test statistique < tous les valeurs critiques et p-valeur > 0,05. En conséquence, nous acceptons l'hypothèse nulle en faveur d'une alternative. Nous concluons donc que la série est stationnaire

Conclusion: Avec toutes les differents langues, on a besoin d'une première différentiation pour les mettre stationnaire

Trouver l'ordre du terme AR (p) et le terme MA (q)

On peut déterminer le nombre requis de termes AR en inspectant le graphique d'autocorrélation partielle (PACF). Toute autocorrélation dans une série stationnarisée peut être rectifiée en ajoutant suffisamment de termes AR. Ainsi, on prend initialement l'ordre du terme AR comme étant égal à autant de 'lag' que le nombre de 'lag' qui franchit la limite de signification dans le graphique PACF.

Partial autocorrelation of lag(k) d'une série est le coefficient de ce décalage dans l'équation d'autorégression de Y

$Y_t = \alpha_0+\alpha_1Y_{t-1}+\alpha_2Y_{t-2}+\alpha_3Y_{t-3}$

Autrement dit, si $Y_t$ est la série en ce moment et $Y_{t-1}$ est le lag 1 de Y, alors l'autocorrélation partielle du lag 3 $Y_{t-3}$ est le coefficient $\alpha_3$ de $Y_{t-3}$ dans l'équation ci-dessus. Toute autocorrélation dans une série stationnarisée peut être rectifiée en ajoutant suffisamment de termes AR. Ainsi, on prend initialement l'ordre du terme AR comme étant égal à autant de décalages que le nombre de décalages qui franchit la limite de signification dans le graphique PACF.

Comme le graphique PACF pour le nombre de termes AR, on peut vérifier le graphique ACF pour le nombre de termes MA. Un terme MA est techniquement, l'erreur de la prévision 'lag'. L'ACF indique combien de termes MA sont nécessaires pour éliminer toute autocorrélation dans la série stationnarisée.

Anglais

On observe que le PACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement p = 2

On observe que le ACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement q = 2

Allemand

On observe que le PACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement p = 2

On observe que le ACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement q = 2

Français

On observe que le PACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement p = 2

On observe que le ACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement q = 2

Chinois

On observe que le PACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement p = 2

On observe que le ACF lag 1 est trop loin au-dessus de la ligne de signification. Le lag 2 s'avère également significatif, il est a la borne de la limite en haut de signification (région bleue). On fixe provisoirement q = 2

Construire le model ARIMA

On a bien déterminé les valeurs de p,d et q. On a toutes les paramètres nécessaires pour fit le ARIMA

Pour les pages en Anglais (p,d,q) = (2,1,2)

La prévision ajustée et les données réelles peuvent alors paraître artificiellement bonnes.

Pour les pages en Allemagne (p,d,q) = (2,1,2)

La prévision ajustée et les données réelles peuvent alors paraître artificiellement bonnes.

Pour les pages en Francais (p,d,q) = (2,1,2)

La prévision ajustée et les données réelles peuvent alors paraître artificiellement bonnes.

Pour les pages en Chinois (p,d,q) = (2,1,2)

Construire le modèle ARIMA optimal en utilisant Out-of-Time Cross validation

Dans Out-of-Time Cross validation, on fait quelques pas en arrière dans le temps et prévoit dans le futur autant de pas qu'on a fait en arrière. Ensuite, on compare la prévision avec les données réelles.

Pour les pages en Anglais

le MAPE(Mean Absolute Percentage Error) est d'environ 4.14% implique que le modèle est précis à environ 95.86% dans la prédiction. Le MinMax(Min Max error) est d'environ de 4% qui implique que la precision est à environ de 96% dans cette prediction

Conclusion: On n'est pas très satisfait avec cette prediction. La prediction semble périodique, et c'est évident que le trafic n'est pas de cette forme, ainsi quand on augmente le nombre de jours de prediction, la précision est plus mauvaise par de temps en temps

Pour les pages en Allemagne

On trouve que le MAPE(Mean Average Percentage Error) est environ de 6%, lorsque le minmax(Min Max Error) est environ de 5.3%. Cela signifie que notre modèle est précis à environ 94% par rapport à MAPE et 94.7% par rapport de Min Max Error dans la prédiction.

Conclusion: On n'est pas satisfaits de notre prédiction. Cette prédiction semble linéaire, cela ne correspond pas au traffic observé en réalité.

Pour les pages en Francais

On trouve que le MAPE(Mean Average Percentage Errror) est environ de 6.5%, lors que le minmax(Min Max error) est environ de 5.4%. Cela signifie que notre modèle est précis à environ 93.5% par rapport à MAPE et 94.6% par rapport de Min Max Error dans la prédiction.

Conclusion: On n'est pas tres satisfait avec notre prédiction. Pareil avec les données pour les pages en Allemagne, cette prédiction semble linéaire, celle la est impossible avec le trafic en réalité

Pour les pages en Chinois

On trouve que le MAPE(Mean Average Percentage Errror) est environ de 5.5%, lors que le minmax(Min Max error) est environ de 5%. Cela signifie que notre modèle est précis à environ 94.5% par rapport à MAPE et 95% par rapport de Min Max Error dans la prédiction.

Conclusion: On n'est pas tres satisfait avec notre prédiction. Pareil avec les données pour les autres pages, cette prédiction semble linéaire, celle la est impossible avec le trafic en réalité

Conclusion générale sur l'ARIMA

On n'est pas satisfaits de notre prédiction.

Il existe plusieurs raisons pour lesquelles un modèle ARIMA peut ne pas fonctionner aussi bien que prévu :

À suivre...

Nous poursuivons nos prédictions cette fois-ci en utilisant d'autres méthodes de prédictions, et notamment celles vues en cours : Ridge regression, Lasso regression, XGBoost et Random Forest.

Prédiction avec Ridge regression

Sur les articles en Anglais

Prediction avec Lasso Regression

Prédiction avec XGBoost

Sur les articles en Anglais

Rappel : vues des articles wikipédia en anglais en moyenne

Ajout de features : jour de la semaine et week-end

Mise à l'échelle (Scaling)

L'ajout des ces paramètres (Jour de la semaine et weekeend) créée différentes échelles. On ajuste les échelles.

Commentaire: Pour le XGBoost, on trouve que le MAPE est de 5.6%, son score de précision est donc environ de 94.4%

Prediction avec Random Forest

Commentaire: Pour le Random Forest, on trouve que le MAPE est de 5.24%, son score de précision est donc environ de 94.76%

CONCLUSION

Dans ce projet, nous avons cherché à prédire le trafic sur les pages Wikipédia en utilisant trois modèles différents : ARIMA, XGBoost et Random Forest. Nos résultats ont montré que le modèle ARIMA fonctionnait mal, avec des prédictions presque naïves et ressemblant à des lignes droites. D'autre part, les modèles XGBoost et Random Forest se sont comportés de manière similaire et ont donné des prévisions beaucoup plus précises. Des trois modèles, on observe que le MAPE le plus bas est celui de Random Forest, avec 5.24%. Le ARIMA donne des prédictions moyennes sur les 4 langues avec des MAPE plus élevés.En plus, il donne dé prédictions bizzares sur nos données. On peut donc considerer le Random Forest comme étant le meilleur pour notre problème parmi ces 3 modèles.

Il y a quelques raisons possibles pour les mauvaises performances du modèle ARIMA. Une première possibilité est que les données ne soient pas stationnaires, ce qui signifie que la moyenne, la variance et l'autocovariance ont changé au fil du temps. Une autre possibilité pourrait être que le choix des paramètres p, d et q n'était pas le bon, ou qu'il y avait des valeurs aberrantes ou d'autres observations inhabituelles dans les données auxquelles le modèle n'était pas robuste. Enfin, il est également possible que le modèle soit trop simple pour le type de problème qu'il souhaite résoudre et soit fondamentalement incapable de saisir les relations non-linéaires dans les données.

Dans l'ensemble, nos résultats suggèrent que les modèles XGBoost et Random Forest sont des approches prometteuses pour prévoir le trafic sur les pages Wikipédia. À l'avenir, il serait intéressant d'essayer d'autres techniques d'apprentissage automatique et de comparer leurs performances à ces modèles. De plus, il serait utile de recueillir plus de données, comme des informations sur les liens existants entre les différents articles ou les liens entre l'actualité et le trafic sur une page, et enfin d'explorer les raisons sous-jacentes de la mauvaise performance du modèle ARIMA afin d'améliorer sa précision.