Exploration de données pour l'analyse prédictive des réseaux sociaux

Publié: 2022-03-11

Les réseaux sociaux, sous une forme ou une autre, existent depuis que les gens ont commencé à interagir. En effet, mettez deux ou plusieurs personnes ensemble et vous avez la base d'un réseau social. Il n'est donc pas surprenant que, dans le monde actuel d'Internet partout, les réseaux sociaux en ligne soient devenus totalement omniprésents.

Dans ce monde des réseaux sociaux en ligne, un phénomène particulièrement fascinant de la dernière décennie a été la croissance explosive de Twitter, souvent décrit comme « le SMS d'Internet ». Lancé en 2006, Twitter a rapidement gagné en popularité dans le monde et est devenu l'un des dix sites Web les plus visités au monde. En mai 2015, Twitter comptait 302 millions d'utilisateurs actifs qui produisent collectivement 500 millions de Tweets par jour. Et ces chiffres ne cessent de croître.

Compte tenu de cet énorme volume de données sur les médias sociaux, les analystes en sont venus à reconnaître Twitter comme un trésor virtuel d'informations pour l'exploration de données, l'analyse des réseaux sociaux et des informations permettant de détecter les tendances de l'opinion publique et les vagues de soutien (ou d'opposition) à diverses politiques et initiatives sociales. Les entreprises de science des données trouvent les sujets de tendance Twitter de plus en plus utiles en tant que proxy précieux pour mesurer l'opinion publique.

analyse des réseaux sociaux et fouille de données

Cet article décrit les techniques que j'ai employées pour une preuve de concept qui a analysé efficacement les sujets de tendance Twitter pour prédire, à titre d'exemple de test, les schémas de vote régionaux lors de l'élection présidentielle brésilienne de 2014.

L'élection

Des élections présidentielles générales ont eu lieu au Brésil le 5 octobre 2014. Aucun candidat n'a obtenu plus de 50 % des suffrages. Un deuxième second tour a donc eu lieu le 26 octobre.

Au premier tour, Dilma Rousseff (Partido dos Trabalhadores) a obtenu 41,6% des suffrages, devant Aecio Neves (Partido da Social Democracia Brasileira) avec 33,6% et Marina Silva (Partido Socialista Brasileiro) avec 21,3%. Rousseff et Neves ont contesté le second tour le 26 octobre, Rousseff étant réélu par une faible marge, 51,6 % contre 48,4 % pour Neves. L'analyse de cet article porte spécifiquement sur le second tour des élections du 26 octobre.

Partido dos Trabalhadores (PT) est l'un des plus grands partis politiques du Brésil. C'est le parti politique des présidents actuels et anciens, Dilma Roussef et Luis Inacio Lula da Silva. Le Partido da Social Democracia Brasileira (PSDB) est le parti politique de l'ancien président Fernando Henrique Cardoso.

Exploration de données et extraction de données de sujet de tendance Twitter

J'ai commencé l'exploration de données des médias sociaux en extrayant les données Twitter Trend Topic pour les 14 villes brésiliennes pour lesquelles les données sont fournies via l'API Twitter, à savoir : Brasilia, Belem, Belo Horizonte, Curitiba, Porto Alegre, Recife, Rio de Janeiro, Salvador, Sao Paulo, Campinas, Fortaleza, Goiania, Manaus et Sao Luis.

J'ai interrogé l'API REST de Twitter pour obtenir les 10 meilleurs sujets de tendance Twitter pour ces 14 villes dans un intervalle de 20 minutes (limité par certaines restrictions que Twitter a sur son API). Limiter la requête à ces 14 villes se fait en spécifiant leur Yahoo! GeoPlanet WOEIDs (Where On Earth IDs).

Pour cette preuve de concept, j'ai utilisé Python et une bibliothèque Twitter (intelligemment appelée « twitter ») pour obtenir toutes les données des réseaux sociaux pour le jour du second tour des élections (26 octobre), ainsi que les deux jours précédents (oct. 24 et 25). Pour chaque jour, j'ai effectué environ 70 requêtes différentes pour aider à identifier les sujets de tendance instantanés.

Vous trouverez ci-dessous un exemple de l'objet JSON renvoyé en réponse à chaque requête (cet exemple était basé sur une requête de données le 26 octobre à 00h40 et ne montre que les données de Belo Horizonte).

 [{"created_at": "2014-10-26T02:32:59Z", "trends": [{"url": "http://twitter.com/search?q=%23GolpeNoJN", "name": "#GolpeNoJN", "query": "%23GolpeNoJN", "promoted_content": null}, {"url": "http://twitter.com/search?q=%23SomosTodosDilma", "name": "#SomosTodosDilma", "query": "%23SomosTodosDilma", "promoted_content": null}, {"url": "http://twitter.com/search?q=%23EAecio45Confirma", "name": "#EAecio45Confirma", "query": "%23EAecio45Confirma", "promoted_content": null}, {"url": "http://twitter.com/search?q=Uilson", "name": "Uilson", "query": "Uilson", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Lucas+Silva%22", "name": "Lucas Silva", "query": "%22Lucas+Silva%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Marcelo+Oliveira%22", "name": "Marcelo Oliveira", "query": "%22Marcelo+Oliveira%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=Cruzeiro", "name": "Cruzeiro", "query": "Cruzeiro", "promoted_content": null}, {"url": "http://twitter.com/search?q=Tupi", "name": "Tupi", "query": "Tupi", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Real+x+Bar%C3%A7a%22", "name": "Real x Bar\u00e7a", "query": "%22Real+x+Bar%C3%A7a%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=Wanessa", "name": "Wanessa", "query": "Wanessa", "promoted_content": null} ], "as_of": "2014-10-26T02:40:03Z", "locations": [{"name": "Belo Horizonte", "woeid": 455821}] }]

Brève introduction à l'analyse des réseaux sociaux

La théorie des réseaux sociaux est l'étude de la façon dont les personnes, les organisations ou les groupes interagissent avec les autres au sein de leur réseau. Il existe trois principaux types de réseaux sociaux :

  • Les réseaux égocentriques sont connectés à un seul nœud ou individu (par exemple, vous et tous vos amis et parents).
  • Les réseaux sociocentriques sont des réseaux fermés par défaut. Deux exemples couramment utilisés de ce type de réseau sont les enfants dans une salle de classe ou les travailleurs au sein d'une organisation.
  • Les réseaux à système ouvert sont des réseaux où les lignes de démarcation ne sont pas clairement définies, ce qui rend ce type de réseau généralement le plus difficile à étudier. Le type de réseau sociopolitique que nous analysons dans cet article est un exemple de réseau à système ouvert.

Les réseaux sociaux sont considérés comme des réseaux complexes, car ils présentent des caractéristiques topologiques non triviales, avec des schémas de connexion entre leurs éléments qui ne sont ni purement réguliers ni purement aléatoires.

L'analyse des réseaux sociaux examine la structure des relations entre les entités sociales. Ces entités sont souvent des personnes, mais peuvent aussi être des groupes sociaux, des organisations politiques, des réseaux financiers, des résidents d'une communauté, des citoyens d'un pays, etc. L'étude empirique des réseaux a joué un rôle central dans les sciences sociales, et bon nombre des outils mathématiques et statistiques utilisés pour étudier les réseaux ont d'abord été développés en sociologie.

Établir le réseau

Pour créer un réseau à l'aide des Twitter Trend Topics, j'ai défini les règles suivantes :

  • Chaque ville est un sommet (c'est-à-dire un nœud) dans le réseau.
  • S'il existe au moins un sujet de tendance commun entre deux villes, il existe un bord (c'est-à-dire un lien) entre ces villes.
  • Chaque arête est pondérée en fonction du nombre de sujets de tendance en commun entre ces deux villes (c'est-à-dire que plus les deux villes ont de sujets de tendance en commun, plus le poids attribué au lien entre elles est important).

Par exemple, le 26 octobre, les villes de Fortaleza et Campinas avaient 11 sujets de tendance en commun, donc le réseau pour ce jour comprend un bord entre Fortaleza et Campinas avec un poids de 11 :

Processus de création de réseau social illustré

De plus, pour faciliter le processus de pondération des relations entre les villes, j'ai également considéré des sujets qui n'étaient pas liés à l'élection elle-même (la prémisse étant que les villes qui partagent d'autres priorités et intérêts communs peuvent être plus enclines à partager les mêmes tendances politiques ).

Bien que l'ordre des sujets de tendance puisse potentiellement avoir une certaine importance pour l'analyse, à des fins de simplification de la preuve de concept, j'ai choisi d'ignorer l'ordre des sujets dans la liste des sujets de tendance.

Topologie du réseau

La topologie du réseau est essentiellement l'agencement des différents éléments (liens, nœuds, etc.) d'un réseau. Pour le réseau social que nous analysons, la topologie du réseau ne change pas de manière spectaculaire au cours des 3 jours, puisque les nœuds du réseau (c'est-à-dire les 14 villes) restent fixes. Cependant, des différences peuvent être détectées dans les poids des liens entre les nœuds, puisque le nombre de sujets de tendance communs entre les villes varie au cours des 3 jours, comme le montre la comparaison ci-dessous de la topologie du réseau au jour 24 par rapport au jour 25.

Topologie des réseaux sociaux illustrée

Prédire les résultats des élections à l'aide des données de sujet de tendance Twitter

Pour nous aider à prédire les résultats des élections, nous considérons non seulement les sujets de tendance communs entre les villes, mais aussi comment le contenu de ces sujets est lié au soutien probable pour chacun des deux principaux partis politiques ; c'est-à-dire le Partido dos Trabalhadores (PT) et le Partido da Social Democracia Brasileira (PSDB).

Tout d'abord, j'ai créé une liste de mots et d'expressions perçus comme indiquant un penchant positif ou un soutien pour l'une des parties. (Remplir cette liste est certes une tâche très complexe. Dans le cadre de cette preuve de concept, j'ai délibérément adopté une approche simplifiée. Au contraire, cela rend la qualité des résultats d'autant plus intrigante, car une liste de termes plus précise et des phrases amélioreraient probablement encore la précision des résultats.)

Ensuite, pour chaque nœud, je compte :

  • le nombre de ses liens qui incluent des termes indiquant la prise en charge de PT
  • le nombre de ses liens qui incluent des termes indiquant la prise en charge de PSDB

En utilisant à nouveau la ville de Fortazela comme exemple, je me suis retrouvé avec des décomptes de :

 Fortaleza['PT'] = 56 Fortaleza['PDSB'] = 37

Nous en tirons ainsi la conclusion que les habitants de Fortaleza ont une préférence globale pour le Partido dos Trabalhadores (PT).

Résultats et conclusions

Sur la base de cet algorithme, l'analyse donne des résultats qui sont étonnamment similaires aux résultats réels des élections, surtout si l'on considère la simplicité générale de notre approche. Voici une comparaison des résultats prédictifs basés sur les données Twitter Trend Topic par rapport aux résultats réels des élections (le rouge est utilisé pour représenter le Partido dos Trabalhadores et le bleu est utilisé pour représenter le Partido da Social Democracia Brasileira) :

analyse des réseaux sociaux et fouille de données

Une rigueur scientifique améliorée, ainsi que des algorithmes et des mesures plus sophistiqués, amélioreraient sans aucun doute encore les résultats.

Voici quelques métriques, par exemple, qui pourraient être utilisées pour déduire l'importance ou l'influence d'un nœud, ce qui pourrait à son tour éclairer le type d'analyse prédictive décrit dans cet article :

  • Centralité des nœuds. Il existe de nombreuses mesures de centralité des nœuds qui peuvent être utilisées pour aider à identifier les nœuds les plus importants ou les plus influents dans un réseau. La centralité d'intermédiarité, par exemple, considère qu'un nœud est très important s'il forme des ponts entre de nombreux autres nœuds. La centralité des valeurs propres, quant à elle, fonde l'importance d'un nœud sur le nombre d'autres nœuds très importants qui y sont liés.

  • Coefficient de regroupement. Le coefficient de regroupement d'un nœud mesure la mesure dans laquelle les « voisins » d'un nœud sont connectés les uns aux autres. Il s'agit d'une autre mesure qui peut être pertinente pour évaluer le degré d'influence présumé d'un nœud sur ses nœuds voisins.

  • Centralité du degré. La centralité des degrés est basée sur le nombre de liens (c'est-à-dire de connexions) vers un nœud. C'est l'une des mesures les plus simples de « l'importance » d'un nœud au sein d'un réseau.

Mais même sans ce niveau de sophistication, les résultats obtenus avec cette simple preuve de concept ont fourni une démonstration convaincante d'une analyse prédictive efficace utilisant les données Twitter Trend Topic. Il est clairement possible d'aller encore plus loin dans l'analyse des données des médias sociaux à l'avenir.


Lectures complémentaires sur le blog Toptal Engineering :

  • Graphique Data Science avec Python/NetworkX