Lorsque le Machine Learning permet d’identifier les sujets dit « tendance » de l’actualité - 5ème partie
Nous en arrivons maintenant au 5ème et avant dernier billet de notre série consacrée au sujet des « Trending Topics » en partenariat avec News Republic.
Si vous nous suivez depuis le premier billet d’introduction au cas d’usage de cette série, vous connaissez notre démarche, l’approche développée avec du #MachineLearning, ses résultats, les choix et arbitrages qui ont été réalisés pour construire une solution telle qu’elle se présente aujourd’hui.
Le présent billet, lui, est destiné à un autre type de demande et se veut présenter une autre casquette encore qu’endosse le scientifique des données (Data Scientist) : celle de faire parler les données au-delà de ce que nous connaissons et sommes habitués à voir.
Comme la proposition courante en termes d’approche permet d’identifier les « Trending Topics », pourrait-on créer une autre solution, solution qui nous permettrait de prédire les « Trendings Topics » de demain ? C’est ce que nous verrons dans ce billet.
C’est autour de cette question que nous avons construit, toujours sur Azure Machine Learning (Azure ML), des prévisions sur la dernière semaine de nos simulations.
Après une présentation des résultats finalement obtenus, nous aborderons ainsi les 2 approches testées pour la prévision des audiences sur les tags, les résultats obtenus avec ses 2 approches et enfin les conclusions qui en ont été faites.
L’expérimentation Azure ML
Voici l’expérimentation Azure ML qui réalise nos prévisions sur les simulations.
- Le module Reader nous permet de lire le fichier initial des simulations
- Le module Project Columns nous permet d’extraire les variables qui ne nous intéressent pas
- Le Partition and sample nous permet de construire un data frame qui retire la dernière semaine des simulations. Ce data frame nous permettra de réaliser nos prévisions sur la dernière semaine et de les comparer avec la vraie simulation.
- Le module Execute R Script nous permet de réaliser toutes nos prévisions selon les différentes approches ainsi que les graphes et autres visualisations présentées dans la suite de ce billet.
Dans sa sortie gauche on obtient un data frame présentant toutes les prévisions :
Dans sa partie droite on récupère toutes les visualisations
- Le PackagesR.zip est le fichier qui contient tous les packages R dont nous avons besoin pour réaliser nos traitements.
Les résultats obtenus
Voici d’abord les résultats que nous avons finalement obtenus sur Azure ML :
Football
François Hollande
Julie Gayet
Germanwings
Meurtre en Moselle
Programme TV
Avec le tag « Football » on peut voir que le modèle de prévision prend bien en compte et reproduit la saisonnalité. En grisé se trouvent les intervalles de confiance à 85% et 95%.
De la même manière que pour les précédents travaux sur les « Trending Topics », nous avons dû faire un choix sur la méthode de prévision.
Les 2 méthodes de prévision envisagées
Il existe de nombreuses manières de faire des prévisions de séries chronologiques. Nous avons choisi de nous concentrer sur 2 approches :
- La méthode saisonnière additive de HW
- Le modèle ARIMA
La méthode saisonnière additive de Holt-Winters est une méthode additive permettant d’estimer le niveau, la tendance et la composante saisonnière d’une série chronologique. Elle donne plus ou moins d’importance aux observations récentes et ne prend pas en compte la corrélation entre les valeurs successives.
Le modèle ARIMA (Autoregressive Integrated Moving Average), lui, est un modèle statistique qui prend en compte la corrélation entre les valeurs successives.
L’idée est encore une fois ici de comparer les 2 approches et de choisir celle dont les résultats sont le plus en accord avec nos besoins.
On se place pour cela au moment T cerclé en violet sur le graphe ci-dessous.
Les résultats obtenus avec ces 2 approches
On prédit sur une semaine l’évolution de la part d’audience pour chacune des 6 simulations de tags.
Voici ce qu’on obtient sur Azure ML :
Football
François Hollande
Julie Gayet
Germanwings
Meurtre en Moselle
Programme TV
En noir la simulation, en rouge la méthode additive saisonnière de Holt-Winters et en vert le modèle ARIMA associé.
En guise de conclusion pour cette partie
Comme on peut le voir avec le tag « Germanwings », le modèle ARIMA est plus proche des évolutions connues par les parts d’audiences.
Nous avons donc choisi de conserver le modèle ARIMA. Il nous faut alors faire certaines vérifications que voici par exemple pour le tag « Programme TV ».
On vérifie à la fin de notre prévisions qu’il n’y a pas d’autocorrélation des résidus, que ceux-ci suivent bien mouvement de type bruit blanc suivant une loi normale centrée réduite.
Série initiale
Prévision sur une semaine
Pas d’autocorrélation des résidus
Résidus de type bruits blanc
Résidus suivant la loi normale centrée réduite
Pour le tag « Football », la prévision sur une semaine semble concorde bien avec les évolutions simulées. Ceci est essentiellement dû à une saisonnalité forte de ce tag. Une fois connu ses mouvements passés, il est plus facile pour la machine d’en anticiper les mouvements futurs.
Cependant, l’actualité est par définition imprévisible. En effet, à chaque instant de nouveaux sujets peuvent surgir de nulle part. A moins d’être devin, il est quasiment impossible d’anticiper toutes les catastrophes naturelles ou humaines, les incidents qui surviennent partout dans le monde et qui font chaque jour l’actualité. Cette partie-là reste donc en suspens malgré l’intérêt qu’elle pourrait avoir.
La 6ème et dernière partie de cette série de billets changera un peu de registre puisqu’elle sera consacrée à l’automatisation des processus de partitionnement des données (clustering) sur les tags et de calculs des “Tops & Flops” dans Microsoft Azure grâce à des WebJobs.