Data mining per l'analisi predittiva dei social network

Pubblicato: 2022-03-11

I social network, in una forma o nell'altra, esistono da quando le persone hanno iniziato a interagire. In effetti, metti insieme due o più persone e hai le basi di un social network. Non sorprende quindi che, nel mondo di Internet di oggi, ovunque, i social network online siano diventati del tutto onnipresenti.

All'interno di questo mondo di social network online, un fenomeno particolarmente affascinante dell'ultimo decennio è stata la crescita esplosiva di Twitter, spesso descritto come “l'SMS di Internet”. Lanciato nel 2006, Twitter ha rapidamente guadagnato popolarità a livello mondiale ed è diventato uno dei dieci siti Web più visitati al mondo. A maggio 2015, Twitter vanta 302 milioni di utenti attivi che producono collettivamente 500 milioni di Tweet al giorno. E questi numeri sono in continua crescita.

Dato questo enorme volume di dati sui social media, gli analisti sono giunti a riconoscere Twitter come un tesoro virtuale di informazioni per il data mining, l'analisi dei social network e le informazioni per rilevare le tendenze dell'opinione pubblica e le ondate di sostegno (o opposizione a) vari politici e iniziative sociali. Le aziende di data science stanno trovando gli argomenti di tendenza di Twitter sempre più utili come un prezioso indicatore per misurare l'opinione pubblica.

analisi dei social network e data mining

Questo articolo descrive le tecniche che ho utilizzato per un proof-of-concept che ha analizzato efficacemente Twitter Trend Topics per prevedere, come esempio di test, i modelli di voto regionali nelle elezioni presidenziali brasiliane del 2014.

L'elezione

Le elezioni presidenziali generali si sono svolte in Brasile il 5 ottobre 2014. Nessun candidato ha ricevuto più del 50% dei voti, quindi il 26 ottobre si è tenuto un secondo ballottaggio.

Al primo turno, Dilma Rousseff (Partido dos Trabalhadores) ha vinto il 41,6% dei voti, davanti a Aecio Neves (Partido da Social Democracia Brasileira) con il 33,6% e Marina Silva (Partido Socialista Brasileiro) con il 21,3%. Rousseff e Neves hanno contestato il ballottaggio il 26 ottobre con Rousseff rieletto con uno stretto margine, il 51,6% contro il 48,4% di Neves. L'analisi in questo articolo si riferisce specificamente al ballottaggio del 26 ottobre.

Il Partido dos Trabalhadores (PT) è uno dei più grandi partiti politici del Brasile. È il partito politico degli attuali e degli ex presidenti, Dilma Roussef e Luis Inacio Lula da Silva. Il Partido da Social Democracia Brasileira (PSDB) è il partito politico del precedente presidente Fernando Henrique Cardoso.

Data mining ed estrazione dei dati sugli argomenti di tendenza di Twitter

Ho iniziato il data mining sui social media estraendo i dati di Twitter Trend Topic per le 14 città brasiliane per le quali i dati vengono forniti tramite l'API di Twitter, ovvero: Brasilia, Belem, Belo Horizonte, Curitiba, Porto Alegre, Recife, Rio de Janeiro, Salvador, Sao Paulo, Campinas, Fortaleza, Goiania, Manaus e Sao Luis.

Ho chiesto all'API REST di Twitter di ottenere i primi 10 argomenti di tendenza di Twitter per queste 14 città in un intervallo di 20 minuti (limitato da alcune restrizioni che Twitter ha sulla sua API). La limitazione della query a queste 14 città viene eseguita specificando la loro Yahoo! GeoPlanet WOEID (Where On Earth ID).

Per questo proof-of-concept, ho usato Python e una libreria di Twitter (abilmente chiamata "twitter") per ottenere tutti i dati dei social network per il giorno del ballottaggio (26 ottobre), così come i due giorni prima (ottobre 24 e 25). Per ogni giorno, ho eseguito circa 70 query diverse per aiutare a identificare gli argomenti di tendenza istantanei.

Di seguito è riportato un esempio dell'oggetto JSON restituito in risposta a ciascuna query (questo esempio era basato su una query per i dati il ​​26 ottobre alle 00:40:00 e mostra solo i dati per 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}] }]

Breve introduzione all'analisi dei social network

La teoria dei social network è lo studio di come persone, organizzazioni o gruppi interagiscono con gli altri all'interno della loro rete. Esistono tre tipi principali di social network:

  • Le reti egocentriche sono connesse con un singolo nodo o individuo (ad esempio, tu e tutti i tuoi amici e parenti).
  • Le reti sociocentriche sono reti chiuse per impostazione predefinita. Due esempi comunemente usati di questo tipo di rete sono i bambini in una classe oi lavoratori all'interno di un'organizzazione.
  • Le reti a sistema aperto sono reti in cui le linee di confine non sono chiaramente definite, il che rende questo tipo di rete in genere la più difficile da studiare. Il tipo di rete socio-politica che stiamo analizzando in questo articolo è un esempio di rete a sistema aperto.

I social network sono considerati reti complesse, poiché presentano caratteristiche topologiche non banali, con schemi di connessione tra i loro elementi che non sono né puramente regolari né puramente casuali.

L'analisi dei social network esamina la struttura delle relazioni tra le entità sociali. Queste entità sono spesso persone, ma possono anche essere gruppi sociali, organizzazioni politiche, reti finanziarie, residenti di una comunità, cittadini di un paese e così via. Lo studio empirico delle reti ha svolto un ruolo centrale nelle scienze sociali e molti degli strumenti matematici e statistici utilizzati per studiare le reti sono stati sviluppati per la prima volta in sociologia.

Istituzione della rete

Per creare una rete utilizzando i Twitter Trend Topics, ho definito le seguenti regole:

  • Ogni città è un vertice (cioè un nodo) nella rete.
  • Se c'è almeno un trend topic comune tra due città, c'è un vantaggio (cioè un collegamento) tra quelle città.
  • Ciascun margine è ponderato in base al numero di temi di tendenza in comune tra queste due città (ovvero, più temi di tendenza hanno in comune due città, maggiore è il peso che viene attribuito al collegamento tra di loro).

Ad esempio, il 26 ottobre le città di Fortaleza e Campinas avevano in comune 11 trend topic, quindi la rete di quel giorno prevede un edge tra Fortaleza e Campinas con un peso di 11:

Processo di creazione del social network illustrato

Inoltre, per favorire il processo di ponderazione dei rapporti tra le città, ho considerato anche argomenti che non erano legati all'elezione stessa (premessa che le città che condividono altre priorità e interessi comuni possono essere più inclini a condividere le stesse tendenze politiche ).

Sebbene l'ordine degli argomenti di tendenza possa potenzialmente avere un significato per l'analisi, ai fini della semplificazione del proof-of-concept, ho scelto di ignorare l'ordinamento degli argomenti nell'elenco degli argomenti di tendenza.

Topologia di rete

La topologia di rete è essenzialmente la disposizione dei vari elementi (collegamenti, nodi, ecc.) di una rete. Per il social network che stiamo analizzando, la topologia della rete non cambia drasticamente nei 3 giorni, poiché i nodi della rete (cioè le 14 città) rimangono fissi. Tuttavia, è possibile rilevare differenze nei pesi dei collegamenti tra i nodi, poiché il numero di temi di tendenza comuni tra le città varia nei 3 giorni, come mostrato nel confronto seguente della topologia di rete del giorno 24 rispetto al giorno 25.

Topologia del social network illustrata

Previsione dei risultati elettorali utilizzando i dati sugli argomenti di tendenza di Twitter

Per aiutarci a prevedere i risultati elettorali, consideriamo non solo gli argomenti di tendenza comuni tra le città, ma anche come il contenuto di tali argomenti si riferisca al probabile sostegno per ciascuno dei due principali partiti politici; vale a dire, Partido dos Trabalhadores (PT) e Partido da Social Democracia Brasileira (PSDB).

In primo luogo, ho creato un elenco di parole e frasi percepite per indicare una propensione positiva o un sostegno a una delle parti. (Popolare questo elenco è certamente un compito molto complesso. Nel contesto di questa dimostrazione del concetto, ho deliberatamente adottato un approccio semplificato. Semmai, questo rende il calibro dei risultati ancora più intrigante, poiché un elenco di termini più sintonizzato e le frasi presumibilmente migliorerebbero ulteriormente l'accuratezza dei risultati.)

Quindi, per ogni nodo, conto:

  • il numero dei suoi collegamenti che includono termini che indicavano il supporto per PT
  • il numero dei suoi collegamenti che includono termini che indicavano il supporto per PSDB

Usando ancora la città di Fortazela come esempio, ho finito con i conteggi di:

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

Si giunge così alla conclusione che i residenti di Fortaleza hanno una preferenza generale per il Partido dos Trabalhadores (PT).

Risultati e conclusioni

Sulla base di questo algoritmo, l'analisi fornisce risultati sorprendentemente simili ai risultati elettorali effettivi, soprattutto se si considera la semplicità generale del nostro approccio. Ecco un confronto dei risultati predittivi basati sui dati di Twitter Trend Topic rispetto ai risultati elettorali reali (il rosso è usato per rappresentare il Partido dos Trabalhadores e il blu è usato per rappresentare il Partido da Social Democracia Brasileira):

analisi dei social network e data mining

Un maggiore rigore scientifico, così come algoritmi e metriche più sofisticati, migliorerebbero senza dubbio ulteriormente i risultati.

Di seguito sono riportate alcune metriche, ad esempio, che potrebbero essere utilizzate per dedurre l'importanza o l'influenza di un nodo, che a sua volta potrebbero influenzare il tipo di analisi predittiva descritta in questo articolo:

  • Centralità del nodo. Esistono numerose misure di centralità dei nodi che possono essere impiegate per aiutare a identificare i nodi più importanti o influenti in una rete. La centralità di Betweenness, ad esempio, considera un nodo molto importante se forma ponti tra molti altri nodi. La centralità degli autovalori, d'altra parte, basava l'importanza di un nodo sul numero di altri nodi molto importanti che si collegano ad esso.

  • Coefficiente di raggruppamento. Il coefficiente di raggruppamento di un nodo misura la misura in cui i "vicini" di un nodo sono collegati tra loro. Questa è un'altra misura che può essere rilevante per valutare il presunto grado di influenza di un nodo sui suoi nodi vicini.

  • Centralità di laurea. La centralità del grado si basa sul numero di collegamenti (cioè connessioni) a un nodo. Questa è una delle misure più semplici del “significato” di un nodo all'interno di una rete.

Ma anche senza quel livello di sofisticatezza, i risultati ottenuti con questo semplice proof-of-concept hanno fornito una dimostrazione convincente di un'efficace analisi predittiva utilizzando i dati di Twitter Trend Topic. C'è chiaramente il potenziale per portare ulteriormente l'analisi dei dati dei social media in futuro.


Ulteriori letture sul blog di Toptal Engineering:

  • Graph Data Science con Python/NetworkX