Data Mining pentru analiza predictivă a rețelelor sociale
Publicat: 2022-03-11Rețelele sociale, într-o formă sau alta, au existat de când oamenii au început să interacționeze. Într-adevăr, puneți doi sau mai mulți oameni împreună și aveți fundația unei rețele de socializare. Prin urmare, nu este surprinzător faptul că, în lumea actuală a internetului, peste tot, rețelele sociale online au devenit complet omniprezente.
În această lume a rețelelor sociale online, un fenomen deosebit de fascinant din ultimul deceniu a fost creșterea explozivă a Twitter, adesea descrisă drept „SMS-ul Internetului”. Lansat în 2006, Twitter a câștigat rapid popularitate la nivel mondial și a devenit unul dintre cele mai vizitate zece site-uri web din lume. În mai 2015, Twitter se mândrește cu 302 milioane de utilizatori activi care produc în mod colectiv 500 de milioane de Tweets pe zi. Și aceste cifre sunt în continuă creștere.
Având în vedere acest volum enorm de date din rețelele sociale, analiștii au ajuns să recunoască Twitter ca o comoară virtuală de informații pentru extragerea de date, analiza rețelelor sociale și informații pentru detectarea tendințelor opiniei publice și a valuri de sprijin pentru (sau opoziție față de) diverse politici și inițiative sociale. Companiile din domeniul științei datelor găsesc subiectele de tendințe Twitter din ce în ce mai utile ca un proxy valoros pentru măsurarea opiniei publice.
Acest articol descrie tehnicile pe care le-am folosit pentru o dovadă de concept care a analizat eficient Twitter Trend Topics pentru a prezice, ca exemplu de caz de testare, modelele regionale de vot în alegerile prezidențiale din Brazilia din 2014.
Alegerile
Alegerile prezidențiale generale au avut loc în Brazilia pe 5 octombrie 2014. Niciun candidat nu a primit mai mult de 50% din voturi, așa că un al doilea tur de scrutin a avut loc pe 26 octombrie.
În primul tur, Dilma Rousseff (Partido dos Trabalhadores) a câștigat 41,6% din voturi, în fața lui Aecio Neves (Partido da Social Democracia Brasileira) cu 33,6% și Marina Silva (Partido Socialista Brasileiro) cu 21,3%. Rousseff și Neves au contestat turul din 26 octombrie, Rousseff fiind reales cu o marjă îngustă, 51,6% față de 48,4% a lui Neves. Analiza din acest articol se referă în mod specific la scrutinul din 26 octombrie.
Partido dos Trabalhadores (PT) este unul dintre cele mai mari partide politice din Brazilia. Este partidul politic pentru actualii și foștii președinți, Dilma Roussef și Luis Inacio Lula da Silva. Partido da Social Democracia Brasileira (PSDB) este partidul politic al fostului președinte Fernando Henrique Cardoso.
Exploatarea datelor și extragerea datelor despre tendințe Twitter
Am început extragerea datelor din rețelele sociale prin extragerea datelor Twitter Trend Topic pentru cele 14 orașe braziliene pentru care datele sunt furnizate prin intermediul API-ului Twitter, și anume: Brasilia, Belem, Belo Horizonte, Curitiba, Porto Alegre, Recife, Rio de Janeiro, Salvador, Sao Paulo, Campinas, Fortaleza, Goiania, Manaus și Sao Luis.
Am întrebat API-ul Twitter REST pentru a obține primele 10 subiecte de tendințe Twitter pentru aceste 14 orașe într-un interval de 20 de minute (limitat de unele restricții pe care Twitter le are asupra API-ului său). Limitarea interogării la aceste 14 orașe se face prin specificarea lor Yahoo! GeoPlanet WOEID-uri (Where On Earth ID-uri).
Pentru această dovadă de concept, am folosit Python și o bibliotecă Twitter (numită inteligent „twitter”) pentru a obține toate datele rețelei sociale pentru ziua scrutinului (26 octombrie), precum și cele două zile dinainte (oct. 24 și 25). Pentru fiecare zi, am efectuat aproximativ 70 de interogări diferite pentru a ajuta la identificarea subiectelor de tendințe instantanee.
Mai jos este un exemplu de obiect JSON returnat ca răspuns la fiecare interogare (acest exemplu s-a bazat pe o interogare de date pe 26 octombrie la ora 12:40:00 și arată numai datele pentru 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}] }]
Scurtă introducere în analiza rețelelor sociale
Teoria rețelelor sociale este studiul modului în care oamenii, organizațiile sau grupurile interacționează cu alții în rețeaua lor. Există trei tipuri principale de rețele sociale:
- Rețelele egocentrice sunt conectate cu un singur nod sau individ (de exemplu, tu și toți prietenii și rudele tale).
- Rețelele socio-centrice sunt rețele închise în mod implicit. Două exemple frecvent utilizate de acest tip de rețea sunt copiii dintr-o sală de clasă sau lucrătorii din cadrul unei organizații.
- Rețelele cu sistem deschis sunt rețele în care liniile de delimitare nu sunt clar definite, ceea ce face ca acest tip de rețea să fie de obicei cel mai dificil de studiat. Tipul de rețea socio-politică pe care îl analizăm în acest articol este un exemplu de rețea în sistem deschis.
Rețelele sociale sunt considerate rețele complexe, deoarece prezintă caracteristici topologice non-triviale, cu modele de conexiune între elementele lor care nu sunt nici pur regulate, nici pur aleatorii.

Analiza rețelelor sociale examinează structura relațiilor dintre entitățile sociale. Aceste entități sunt adesea persoane, dar pot fi și grupuri sociale, organizații politice, rețele financiare, rezidenți ai unei comunități, cetățeni ai unei țări și așa mai departe. Studiul empiric al rețelelor a jucat un rol central în știința socială, iar multe dintre instrumentele matematice și statistice utilizate pentru studierea rețelelor au fost dezvoltate pentru prima dată în sociologie.
Stabilirea Rețelei
Pentru a crea o rețea folosind Twitter Trend Topics, am definit următoarele reguli:
- Fiecare oraș este un vârf (adică, nod) în rețea.
- Dacă există cel puțin un subiect comun de tendință între două orașe, există o margine (adică, o legătură) între acele orașe.
- Fiecare margine este ponderată în funcție de numărul de subiecte de tendință comune dintre cele două orașe (adică, cu cât două orașe au mai multe subiecte de tendință în comun, cu atât ponderea care este atribuită legăturii dintre ele este mai mare).
De exemplu, pe 26 octombrie, orașele Fortaleza și Campinas aveau 11 subiecte de trend în comun, așa că rețeaua pentru ziua respectivă include o margine între Fortaleza și Campinas cu o pondere de 11:
În plus, pentru a ajuta procesul de ponderare a relațiilor dintre orașe, am luat în considerare și subiecte care nu aveau legătură cu alegerile în sine (premisa fiind că orașele care împărtășesc alte priorități și interese comune pot fi mai înclinate să împărtășească aceleași înclinații politice). ).
Deși ordinea subiectelor de tendință ar putea avea o anumită semnificație pentru analiză, în scopul simplificării probei de concept, am ales să ignor ordonarea subiectelor în lista de subiecte de tendință.
Topologie de rețea
Topologia rețelei este în esență aranjarea diferitelor elemente (legături, noduri etc.) ale unei rețele. Pentru rețeaua de socializare pe care o analizăm, topologia rețelei nu se schimbă dramatic pe parcursul celor 3 zile, deoarece nodurile rețelei (adică cele 14 orașe) rămân fixe. Cu toate acestea, pot fi detectate diferențe în ponderea legăturilor dintre noduri, deoarece numărul de subiecte de tendințe comune între orașe variază de-a lungul celor 3 zile, așa cum se arată în comparația de mai jos a topologiei rețelei din Ziua 24 față de Ziua 25.
Prezicerea rezultatelor alegerilor folosind datele despre subiecte de tendințe Twitter
Pentru a ne ajuta în prezicerea rezultatelor alegerilor, luăm în considerare nu numai subiectele de tendință comune între orașe, ci și modul în care conținutul acestor subiecte se leagă de susținerea probabilă pentru fiecare dintre cele două partide politice principale; adică Partido dos Trabalhadores (PT) și Partido da Social Democracia Brasileira (PSDB).
În primul rând, am creat o listă de cuvinte și expresii percepute pentru a indica o înclinație pozitivă față de una dintre părți sau un sprijin pentru aceasta. (Popularea acestei liste este, desigur, o sarcină extrem de complexă. În contextul acestei dovezi de concept, am adoptat în mod deliberat o abordare simplificată. În orice caz, acest lucru face ca calibrul rezultatelor să fie cu atât mai intrigant, cu cât o listă de termeni mai bine reglată și frazele ar îmbunătăți probabil și mai mult acuratețea rezultatelor.)
Apoi, pentru fiecare nod, număr:
- numărul legăturilor sale care includ termeni care indicau suport pentru PT
- numărul legăturilor sale care includ termeni care indicau suport pentru PSDB
Folosind din nou orașul Fortazela ca exemplu, am ajuns să am un număr de:
Fortaleza['PT'] = 56 Fortaleza['PDSB'] = 37
Prin urmare, tragem concluzia că locuitorii Fortalezei au o preferință generală pentru Partido dos Trabalhadores (PT).
Rezultate și concluzii
Pe baza acestui algoritm, analiza dă rezultate care sunt surprinzător de similare cu rezultatele reale ale alegerilor, mai ales când se ia în considerare simplitatea generală a abordării noastre. Iată o comparație a rezultatelor predictive bazate pe datele Twitter Trend Topic în comparație cu rezultatele reale ale alegerilor (roșul este folosit pentru a reprezenta Partido dos Trabalhadores și albastru este folosit pentru a reprezenta Partido da Social Democracia Brasileira):
O rigoare științifică îmbunătățită, precum și algoritmi și metrici mai sofisticați, ar îmbunătăți, fără îndoială, rezultatele și mai mult.
Iată câteva valori, de exemplu, care ar putea fi utilizate pentru a deduce importanța sau influența unui nod, care ar putea, la rândul lor, să informeze tipul de analiză predictivă descrisă în acest articol:
Centralitatea nodului. Există numeroase măsuri de centralitate a nodurilor care pot fi folosite pentru a ajuta la identificarea celor mai importante sau influente noduri dintr-o rețea. Centralitatea între intermedii, de exemplu, consideră un nod foarte important dacă formează punți între multe alte noduri. Centralitatea valorilor proprii, pe de altă parte, a bazat importanța unui nod pe numărul de alte noduri extrem de importante care se leagă de acesta.
Coeficientul de grupare. Coeficientul de grupare al unui nod măsoară măsura în care „vecinii” unui nod sunt conectați unul la altul. Aceasta este o altă măsură care poate fi relevantă pentru evaluarea gradului presupus de influență al unui nod asupra nodurilor învecinate.
Centralitatea gradului. Centralitatea gradului se bazează pe numărul de legături (adică, conexiuni) la un nod. Aceasta este una dintre cele mai simple măsuri ale „semnificației” unui nod în cadrul unei rețele.
Dar chiar și fără acest nivel de sofisticare, rezultatele obținute cu această simplă dovadă de concept au oferit o demonstrație convingătoare a analizei predictive eficiente folosind datele Twitter Trend Topic. Există în mod clar potențialul de a duce analiza datelor din rețelele sociale și mai departe în viitor.
Citiți suplimentare pe blogul Toptal Engineering:
- Graph Data Science cu Python/NetworkX