BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Prévisions chez Twitter

Prévisions chez Twitter

Le mois dernier, au Velocity Conf London, Arun Kejariwal de chez Twitter a présenté les algorithmes de prévision utilisés chez Twitter pour prédire de manière proactive les ressources système nécessaires de même que les métriques métier comme le nombre d'utilisateurs ou de tweets. Etant donnée la nature dynamique de leur flux de données, ils se sont aperçu qu'un modèle ARIMA raffiné fonctionne bien une fois les données nettoyées, ce qui inclut la suppression des données aberrantes.

En plus de l'exactitude de la prévision (vérifiée a posteriori en comparant les estimations avec les résultats réels au fil de l'eau), la capacité du modèle à gérer la saisonnalité (c.à.d la prise en compte de tendances récurrentes sur l'usage sur une base journalière) et les tendances (des pics d'activité pendant les évènements sportifs majeurs, par exemple) sont d'autres critères importants pour l'évaluation de l'utilité des prévisions chez Twitter. La prise en compte de la saisonnalité sous-jacente devient plus complexe sans les modèles de prévision adéquats :

La prévision des métriques métier, comme les Tweets, les Favoris, les Photos, devient non-triviale avec la croissance du nombre d'utilisateurs à cause d'une tendance sous-jacente et de la saisonnalité mentionnée précédemment. Dans ce cas, l'utilisation de la régression linéaire pour la prévision est déconseillée, car celle-ci ne capture par la saisonnalité des séries chronologiques. Pour remédier à cette limitation, nous avons exploré l'utilisation des modèles ARIMA qui modélisent explicitement les composants de tendance et de saisonnalité d'une série chronologique et par conséquent procurent des prévisions statistiquement robustes.

Toutefois, l'application sans discernement du modèle ARIMA à une série chronologique ne produit pas nécessairement des prévisions statistiquement robustes. Ceci est du en grande partie au fait que les irrégularités dans les données peuvent avoir un impact sur la construction du modèle et la prévision qui s'en suit. Si une période chronologique anormale ne présente pas de saisonnalité, alors la prévision globale de la saisonnalité disparaît également presque complètement. De plus, si les points de données d'une période chronologique spécifique se révèlent être des aberrations, alors la prévision globale sera également faussée. De fait, une prévision initiale doit être analysée et les données peuvent nécessiter un nettoyage pour atteindre une prévision plus précise et plus utile. Arun a également mentionné que les aberattions sont présentées aux équipes de développement pour déterminer si elles étaient dues à des modifications du code (ou non).

Prévision ARIMA présentant un pic inversé (aberration) dans la première période chronologique (graphe reproduit avec la permission de Arun Kejariwal)

Prévision ARIMA sans aberration dans la première période chronologique (graphe reproduit avec la permission de Arun Kejariwal)

Arun a indiqué à InfoQ qu'en plus d'ARIMA, d'auters modèles (p.e. Holt-Winters, Spline et régression linéaire) sont utilisés chez Twitter, en fonction du type de ressource à prévoir :

Nous avons exploré un vaste ensemble de modèles de prévision. Quel modèle utiliser est dépendant du contexte et est directement lié à la problématique de sélection du modèle (qui est un domaine de recherche actif).

En l'absence de saisonnalité, l'utilisation de la régression linéaire est le modèle préféré car elle est, relativement parlant, moins gourmande en ressources que d'autres modèles. En présence d'une tendance non-linéaire, on peut utiliser un modèle quadratique ou quelque chose comme cela. Toutefois, en présence de tendance et de saisonnalité, la sélection d'un modèle de prévision devient non-triviale.

D'après Arun, les prévisions de Twitter sont généralement limitées à quelques semaines pour des questions techniques (p.e. la mise à jour des capacités système internes). De plus longues périodes sont utilisées de temps en temps pour certaines métriques métier (p.e. le nombre d'utilisateurs). Dans un futur proche, ils réfléchissent à utiliser les prévisions pour un scaling élastique.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT