Data Mining für die prädiktive Analyse sozialer Netzwerke
Veröffentlicht: 2022-03-11Soziale Netzwerke gibt es in der einen oder anderen Form, seit Menschen zum ersten Mal miteinander interagieren. In der Tat, bringen Sie zwei oder mehr Personen zusammen und Sie haben die Grundlage eines sozialen Netzwerks. Es ist daher keine Überraschung, dass soziale Online-Netzwerke in der heutigen Internet-Everywhere-Welt allgegenwärtig geworden sind.
In dieser Welt der sozialen Online-Netzwerke war ein besonders faszinierendes Phänomen des letzten Jahrzehnts das explosive Wachstum von Twitter, das oft als „SMS des Internets“ bezeichnet wird. Twitter wurde 2006 eingeführt, gewann schnell weltweite Popularität und wurde zu einer der zehn meistbesuchten Websites der Welt. Seit Mai 2015 hat Twitter 302 Millionen aktive Nutzer, die zusammen 500 Millionen Tweets pro Tag produzieren. Und diese Zahlen steigen kontinuierlich.
Angesichts dieser enormen Menge an Social-Media-Daten haben Analysten Twitter als eine wahre Fundgrube an Informationen für Data Mining, soziale Netzwerkanalysen und Informationen zum Erfassen von Trends in der öffentlichen Meinung und der Unterstützung (oder Ablehnung) verschiedener politischer und sozialer Medien erkannt soziale Initiativen. Data-Science-Unternehmen finden Twitter-Trendthemen zunehmend nützlich als wertvollen Proxy für die Messung der öffentlichen Meinung.
Dieser Artikel beschreibt die Techniken, die ich für einen Proof-of-Concept eingesetzt habe, der Twitter-Trendthemen effektiv analysierte, um als Beispieltestfall regionale Abstimmungsmuster bei den brasilianischen Präsidentschaftswahlen 2014 vorherzusagen.
Die Wahl
Am 5. Oktober 2014 fanden in Brasilien allgemeine Präsidentschaftswahlen statt. Kein Kandidat erhielt mehr als 50 % der Stimmen, sodass am 26. Oktober eine zweite Stichwahl stattfand.
Im ersten Wahlgang gewann Dilma Rousseff (Partido dos Trabalhadores) 41,6 % der Stimmen vor Aecio Neves (Partido da Social Democracia Brasileira) mit 33,6 % und Marina Silva (Partido Socialista Brasileiro) mit 21,3 %. Rousseff und Neves bestritten die Stichwahl am 26. Oktober, wobei Rousseff mit einer knappen Mehrheit von 51,6 % gegenüber 48,4 % von Neves wiedergewählt wurde. Die Analyse in diesem Artikel bezieht sich speziell auf die Stichwahl vom 26. Oktober.
Partido dos Trabalhadores (PT) ist eine der größten politischen Parteien Brasiliens. Sie ist die politische Partei der derzeitigen und ehemaligen Präsidenten Dilma Roussef und Luis Inacio Lula da Silva. Partido da Social Democracia Brasileira (PSDB) ist die politische Partei des früheren Präsidenten Fernando Henrique Cardoso.
Data Mining und Extrahieren von Daten zu Twitter-Trendthemen
Ich begann mit dem Social Media Data Mining, indem ich Twitter-Trendthemendaten für die 14 brasilianischen Städte extrahierte, für die Daten über die Twitter-API bereitgestellt werden, nämlich: Brasilia, Belem, Belo Horizonte, Curitiba, Porto Alegre, Recife, Rio de Janeiro, Salvador, Sao Paulo, Campinas, Fortaleza, Goiania, Manaus und Sao Luis.
Ich habe die Twitter-REST-API abgefragt, um die 10 wichtigsten Twitter-Trendthemen für diese 14 Städte in einem 20-Minuten-Intervall zu erhalten (begrenzt durch einige Einschränkungen, die Twitter für seine API hat). Die Einschränkung der Abfrage auf diese 14 Städte erfolgt durch Angabe ihrer Yahoo! GeoPlanet WOEIDs (Where On Earth IDs).
Für diesen Proof-of-Concept habe ich Python und eine Twitter-Bibliothek (klug „Twitter“ genannt) verwendet, um alle Daten des sozialen Netzwerks für den Tag der Stichwahl (26 24. und 25.). An jedem Tag führte ich etwa 70 verschiedene Abfragen durch, um die unmittelbaren Trendthemen zu identifizieren.
Unten sehen Sie ein Beispiel für das JSON-Objekt, das als Antwort auf jede Abfrage zurückgegeben wird (dieses Beispiel basierte auf einer Datenabfrage am 26. Oktober um 00:40:00 Uhr und zeigt nur die Daten für 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}] }]
Kurze Einführung in die Analyse sozialer Netzwerke
Die Theorie sozialer Netzwerke untersucht, wie Menschen, Organisationen oder Gruppen mit anderen innerhalb ihres Netzwerks interagieren. Es gibt drei Haupttypen von sozialen Netzwerken:
- Egozentrische Netzwerke sind mit einem einzelnen Knoten oder Individuum verbunden (z. B. Sie und alle Ihre Freunde und Verwandten).
- Sozialzentrische Netzwerke sind standardmäßig geschlossene Netzwerke. Zwei häufig verwendete Beispiele für diese Art von Netzwerken sind Kinder in einem Klassenzimmer oder Mitarbeiter in einer Organisation.
- Offene Systemnetzwerke sind Netzwerke, bei denen die Grenzlinien nicht klar definiert sind, wodurch diese Art von Netzwerk typischerweise am schwierigsten zu untersuchen ist. Die Art des gesellschaftspolitischen Netzwerks, das wir in diesem Artikel analysieren, ist ein Beispiel für ein offenes Systemnetzwerk.
Soziale Netzwerke gelten als komplexe Netzwerke, da sie nicht-triviale topologische Merkmale aufweisen, mit Verbindungsmustern zwischen ihren Elementen, die weder rein regelmäßig noch rein zufällig sind.

Die soziale Netzwerkanalyse untersucht die Beziehungsstruktur zwischen sozialen Einheiten. Diese Entitäten sind oft Personen, können aber auch soziale Gruppen, politische Organisationen, Finanznetzwerke, Einwohner einer Gemeinschaft, Bürger eines Landes usw. sein. Die empirische Untersuchung von Netzwerken hat in den Sozialwissenschaften eine zentrale Rolle gespielt, und viele der mathematischen und statistischen Werkzeuge, die zur Untersuchung von Netzwerken verwendet werden, wurden zuerst in der Soziologie entwickelt.
Aufbau des Netzwerks
Um ein Netzwerk mit den Twitter Trend Topics zu erstellen, habe ich folgende Regeln definiert:
- Jede Stadt ist ein Scheitelpunkt (dh ein Knoten) in dem Netzwerk.
- Wenn es zwischen zwei Städten mindestens ein gemeinsames Trendthema gibt, gibt es eine Kante (dh eine Verbindung) zwischen diesen Städten.
- Jede Kante wird gemäß der Anzahl gemeinsamer Trendthemen zwischen diesen beiden Städten gewichtet (dh je mehr gemeinsame Trendthemen zwei Städte haben, desto stärker wird die Verbindung zwischen ihnen gewichtet).
Beispielsweise hatten die Städte Fortaleza und Campinas am 26. Oktober 11 gemeinsame Trendthemen, sodass das Netzwerk für diesen Tag eine Kante zwischen Fortaleza und Campinas mit einer Gewichtung von 11 enthält:
Darüber hinaus habe ich, um den Prozess der Gewichtung der Beziehungen zwischen den Städten zu unterstützen, auch Themen berücksichtigt, die nichts mit der Wahl selbst zu tun hatten (wobei die Prämisse lautete, dass Städte, die andere gemeinsame Prioritäten und Interessen teilen, möglicherweise eher geneigt sind, dieselben politischen Neigungen zu teilen ).
Obwohl die Reihenfolge der Trendthemen möglicherweise eine gewisse Bedeutung für die Analyse haben könnte, habe ich mich zur Vereinfachung des Proof-of-Concept dafür entschieden, die Reihenfolge der Themen in der Trendthemenliste zu ignorieren.
Netzwerktopologie
Die Netzwerktopologie ist im Wesentlichen die Anordnung der verschiedenen Elemente (Verbindungen, Knoten usw.) eines Netzwerks. Für das soziale Netzwerk, das wir analysieren, ändert sich die Netzwerktopologie über die 3 Tage hinweg nicht dramatisch, da die Knoten des Netzwerks (dh die 14 Städte) fest bleiben. Allerdings lassen sich Unterschiede in den Gewichtungen der Verknüpfungen zwischen den Knoten feststellen, da die Anzahl der gemeinsamen Trendthemen zwischen den Städten über die 3 Tage hinweg variiert, wie der folgende Vergleich der Netzwerktopologie an Tag 24 vs. Tag 25 zeigt.
Vorhersage von Wahlergebnissen anhand von Twitter-Trendthemendaten
Um uns bei der Vorhersage von Wahlergebnissen zu unterstützen, berücksichtigen wir nicht nur die gemeinsamen Trendthemen zwischen den Städten, sondern auch, wie sich der Inhalt dieser Themen auf die wahrscheinliche Unterstützung für jede der beiden wichtigsten politischen Parteien bezieht; dh Partido dos Trabalhadores (PT) und Partido da Social Democracia Brasileira (PSDB).
Zuerst erstellte ich eine Liste von Wörtern und Sätzen, die als Zeichen einer positiven Neigung zu oder Unterstützung einer der Parteien wahrgenommen werden. (Das Befüllen dieser Liste ist zugegebenermaßen eine sehr komplexe Aufgabe. Im Rahmen dieses Proof of Concept habe ich bewusst einen vereinfachten Ansatz gewählt. Dies macht die Qualität der Ergebnisse umso interessanter, da eine höher abgestimmte Liste von Begriffen und Phrasen würden vermutlich die Genauigkeit der Ergebnisse weiter verbessern.)
Dann zähle ich für jeden Knoten:
- die Anzahl seiner Links, die Begriffe enthalten, die auf Unterstützung für PT hinweisen
- die Anzahl seiner Links, die Begriffe enthalten, die auf Unterstützung für PSDB hinweisen
Am Beispiel der Stadt Fortazela endete ich mit Zählungen von:
Fortaleza['PT'] = 56 Fortaleza['PDSB'] = 37
Wir ziehen daraus den Schluss, dass die Bewohner von Fortaleza insgesamt Partido dos Trabalhadores (PT) bevorzugen.
Ergebnisse und Schlussfolgerungen
Basierend auf diesem Algorithmus liefert die Analyse Ergebnisse, die den tatsächlichen Wahlergebnissen überraschend ähnlich sind, insbesondere wenn man die allgemeine Einfachheit unseres Ansatzes berücksichtigt. Hier ist ein Vergleich der Vorhersageergebnisse basierend auf den Twitter Trend Topic-Daten im Vergleich zu den tatsächlichen Wahlergebnissen (Rot wird verwendet, um Partido dos Trabalhadores darzustellen, und Blau wird verwendet, um Partido da Social Democracia Brasileira darzustellen):
Verbesserte wissenschaftliche Strenge sowie ausgefeiltere Algorithmen und Metriken würden die Ergebnisse zweifellos noch weiter verbessern.
Hier sind zum Beispiel einige Metriken, die verwendet werden könnten, um auf die Bedeutung oder den Einfluss eines Knotens zu schließen, was wiederum die in diesem Artikel beschriebene Art der prädiktiven Analyse beeinflussen könnte:
Knotenzentralität. Es gibt zahlreiche Knotenzentralitätsmaße, die verwendet werden können, um die wichtigsten oder einflussreichsten Knoten in einem Netzwerk zu identifizieren. Betweenness Centrality beispielsweise hält einen Knoten für sehr wichtig, wenn er Brücken zwischen vielen anderen Knoten bildet. Die Eigenwertzentralität hingegen basiert die Wichtigkeit eines Knotens auf der Anzahl anderer sehr wichtiger Knoten, die mit ihm verknüpft sind.
Clustering-Koeffizient. Der Clustering-Koeffizient eines Knotens misst, inwieweit die „Nachbarn“ eines Knotens miteinander verbunden sind. Dies ist ein weiteres Maß, das für die Bewertung des vermuteten Ausmaßes des Einflusses eines Knotens auf seine Nachbarknoten relevant sein kann.
Grad Zentralität. Die Gradzentralität basiert auf der Anzahl von Links (dh Verbindungen) zu einem Knoten. Dies ist eines der einfachsten Maße für die „Bedeutung“ eines Knotens innerhalb eines Netzwerks.
Aber auch ohne dieses Maß an Raffinesse lieferten die mit diesem einfachen Proof-of-Concept erzielten Ergebnisse eine überzeugende Demonstration einer effektiven prädiktiven Analyse unter Verwendung von Twitter Trend Topic-Daten. Es besteht eindeutig das Potenzial, die Analyse von Social-Media-Daten in Zukunft noch weiter voranzutreiben.
Weiterführende Literatur im Toptal Engineering Blog:
- Graph Data Science mit Python/NetworkX