Aujourd’hui un rapide article pour donner des premières prédictions pour l’Eurovision 2018, avec un modèle très simplifié basé sur les statistiques des vidéos publiées sur Youtube pour l’intégralité des pays participants, en espérant trouver le temps pour l’améliorer dans les prochaines années !
Les données
Nous allons essayer de prédire les résultats (participation à la finale – ce point avait déjà été discuté sur le blog, puis score obtenu) à partir des informations disponibles sur les vidéos Youtube : nombre de vues, nombre de “Like” (pouces vers le haut, qui indiquent que la vidéo a été appréciée) et nombre de “Dislike” (pareil mais vers le bas, qui indiquent que la vidéo n’a pas été appréciée par le spectateur).
Nous récupérons ces informations grâce au package R tuber, qui permet d’aller faire des requêtes par l’API de Youtube et ainsi de récupérer pour chacune des vidéos d’une playlist les informations nécessaires pour le modèle. Nous récupérons alors les données pour les chansons des concours 2016, 2017 et 2018. Ces informations sont ensuite complétées avec le nombre de points obtenus et le rang du classement final pour les finalistes des éditions 2016 et 2017. Les données sont disponibles ici.
Évidemment, ces données ont leurs limites. Je n’ai pas trouvé comment rechercher des informations sur les vidéos Youtube à une autre date, ce qui fait que l’on va utiliser des données après la diffusion des concours 2016 et 2017 pour évaluer un modèle, que l’on appliquera à des données avant le concours pour 2018. Par ailleurs, le système de notation a évolué en 2016, ce qui explique pourquoi on se limite aux données sur les deux dernières années pour notre modèle. Par ailleurs, pour lisser les effets de taille (1 millions de vues en moyenne pour les vidéos 2018 contre 5 millions pour celles de 2016), nous travaillons sur des données standardisées en divisant par la moyenne du nombre de vues, de likes, etc.
Le modèle
Nous travaillons ensuite sur deux problèmes : estimer la probabilité qu’une chanson soit qualifiée en finale, puis estimer le score qu’elle va obtenir, pour évaluer son classement final. En ce qui concerne la probabilité de qualification en finale, nous réalisons une régression logistique. La seule variable qui ressort est le nombre de Dislike, qui influe légèrement négativement la chance d’être qualifié. C’est assez logique : moins la vidéo est appréciée, moins il y a de chances que le pays soit qualifié en finale.
En ce qui concerne le nombre de points obtenus, nous testons deux approches concurrentes :
- Une régression linéaire sur les variables : dans ce cas, on observe que le nombre de vues ne joue pas significativement, le nombre de Likes de façon très mineure et le nombre de Dislikes très nettement, avec un lien positif : plus il y a de pouces baissés, plus le score est important. Ce résultat atypique peut s’expliquer par le fait que la vidéo ukrainienne en 2016, gagnante, a plus de 40 000 pouces baissés.
- Un arbre de régression qui permet de séparer à chaque étape la population en deux et d’évaluer un score moyen. Cette méthode est moins efficace pour prédire le score exact, mais elle permet d’identifier les déterminants du score. L’arbre ci-dessous décrit la partition des vidéos :
Cet arbre se lit de la façon suivante :
- Si l’on a plus de 2,216 fois le nombre de vues moyen des vidéos de l’année, alors le score prédit par la méthode est 425 (les vidéos populaires ont des scores importants). Sinon, on passe à l’étape suivante
- Si l’on a moins de 89% du nombre de Likes moyen des vidéos de l’année, alors on part dans le sous-arbre encadré en bleu ; si c’est plus, dans celui encadré en vert.
- L’opération se répète jusqu’à qu’on arrive à un carré en bas de l’arbre, où l’on lit le score prévu
Les résultats
Voici les prédictions obtenues, en utilisant la méthode de régression linéaire pour le score total :
Pays | Proba d'aller en finale | Score prédit |
---|---|---|
Israël | 99% | 1585 |
Russie | 25% | 393 |
Espagne | 100% | 375 |
République Tchéque | 99% | 210 |
Bulgarie | 99% | 207 |
Suède | 94% | 189 |
Norvège | 74% | 150 |
France | 100% | 140 |
Grèce | 97% | 140 |
Estonie | 71% | 130 |
Australie | 75% | 129 |
Belgique | 74% | 119 |
Azerbaïdjan | 83% | 118 |
Macédoine | 67% | 117 |
Danemark | 85% | 116 |
Biélorussie | 78% | 109 |
Italie | 100% | 106 |
Malte | 79% | 106 |
Irlande | 73% | 106 |
Lituanie | 77% | 102 |
Arménie | 62% | 100 |
Autriche | 70% | 99 |
Chypre | 62% | 95 |
Serbie | 42% | 91 |
Portugal | 100% | 89 |
Royaume-Uni | 100% | 82 |
Ukraine | 38% | 80 |
Moldavie | 29% | 80 |
Slovénie | 19% | 80 |
Suisse | 48% | 77 |
Allemagne | 100% | 76 |
Finlande | 31% | 74 |
Hongrie | 28% | 74 |
Georgie | 15% | 74 |
Roumanie | 31% | 73 |
Croatie | 19% | 67 |
Pologne | 34% | 66 |
San Marin | 10% | 61 |
Montenegro | 16% | 60 |
Albanie | 21% | 57 |
Pays-Bas | 15% | 56 |
Lettonie | 16% | 55 |
Islande | 9% | 51 |
Le grand gagnant est Israël, ce qui est plus ou moins la prédiction faite par tout le monde : voir ici ou ici. À noter que l’année dernière, l’Italie était grande favorite (et a fini 6ème), donc rien n’est encore fait… Si vous voulez vous faire une idée :
Un résultat plus étonnant concerne la Russie. Elle est classée deuxième par notre modèle, mais avec une faible chance d’être qualifiée en finale. Cela semble venir d’un très haut nombre de pouces baissés sur la vidéo, qui influencent énormément notre prédiction. La Russie est placée 25ème par les bookmakers, donc à voir si notre modèle a détecté quelque chose ou s’il s’agit d’un cas de surapprentissage. Pareil, pour se faire un avis :
Et enfin, soyons chauvins ! Nous serions dans le top 10 avec Mercy. C’est d’ailleurs cohérent avec les estimations des bookmakers. Tout est donc encore possible 😉