Eksploracja danych do predykcyjnej analizy sieci społecznościowych
Opublikowany: 2022-03-11Sieci społecznościowe, w takiej czy innej formie, istnieją odkąd ludzie zaczęli wchodzić w interakcje. Rzeczywiście, połącz dwie lub więcej osób, a uzyskasz fundament sieci społecznościowej. Nie jest zatem niespodzianką, że w dzisiejszym świecie Internetu, który jest wszędzie, internetowe sieci społecznościowe stały się całkowicie wszechobecne.
W świecie internetowych sieci społecznościowych szczególnie fascynującym zjawiskiem ostatniej dekady był gwałtowny rozwój Twittera, często określanego jako „SMS z Internetu”. Uruchomiony w 2006 roku Twitter szybko zyskał popularność na całym świecie i stał się jedną z dziesięciu najczęściej odwiedzanych stron internetowych na świecie. Od maja 2015 r. Twitter może pochwalić się 302 milionami aktywnych użytkowników, którzy wspólnie tworzą 500 milionów tweetów dziennie. A te liczby stale rosną.
Biorąc pod uwagę tę ogromną ilość danych z mediów społecznościowych, analitycy uznali Twittera za wirtualną skarbnicę informacji do eksploracji danych, analizy sieci społecznościowych oraz informacji do wykrywania trendów opinii publicznej i poparcia dla (lub sprzeciwu) różnych polityków i inicjatywy społeczne. Firmy zajmujące się badaniem danych uważają, że tematy trendów na Twitterze są coraz bardziej przydatne jako wartościowe narzędzie do pomiaru opinii publicznej.
W tym artykule opisano techniki, które zastosowałem do weryfikacji koncepcji, które skutecznie przeanalizowały tematy trendów Twittera w celu przewidzenia, jako przykładowego przypadku testowego, regionalnych wzorców głosowania w brazylijskich wyborach prezydenckich w 2014 roku.
Wybory
5 października 2014 r. w Brazylii odbyły się powszechne wybory prezydenckie. Żaden kandydat nie otrzymał więcej niż 50% głosów, więc druga tura wyborów odbyła się 26 października.
W pierwszej turze Dilma Rousseff (Partido dos Trabalhadores) zdobyła 41,6% głosów, wyprzedzając Aecio Neves (Partido da Social Democracia Brasileira) z 33,6% i Marina Silva (Partido Socialista Brasileiro) z 21,3%. Rousseff i Neves zakwestionowali drugą turę 26 października, a Rousseff został ponownie wybrany z niewielką przewagą, 51,6% do 48,4% Nevesa. Analiza w tym artykule odnosi się konkretnie do drugiej tury wyborów 26 października.
Partido dos Trabalhadores (PT) to jedna z największych partii politycznych w Brazylii. Jest to partia polityczna dla obecnych i byłych prezydentów Dilmy Roussef i Luisa Inacio Luli da Silvy. Partido da Social Democracia Brasileira (PSDB) to partia polityczna poprzedniego prezydenta Fernando Henrique Cardoso.
Eksploracja danych i wyodrębnianie danych tematycznych na temat trendów na Twitterze
Rozpocząłem eksplorację danych w mediach społecznościowych od wyodrębnienia danych z Twitter Trend Topic dla 14 brazylijskich miast, dla których dane są dostarczane przez Twitter API, a mianowicie: Brasilia, Belem, Belo Horizonte, Curitiba, Porto Alegre, Recife, Rio de Janeiro, Salvador, Sao Paulo, Campinas, Fortaleza, Goiania, Manaus i Sao Luis.
Zapytałem API REST Twittera, aby uzyskać 10 najlepszych tematów trendów na Twitterze dla tych 14 miast w odstępie 20 minut (ograniczone pewnymi ograniczeniami, jakie Twitter ma w swoim API). Ograniczenie zapytania do tych 14 miast odbywa się poprzez określenie ich Yahoo! GeoPlanet WOEID (identyfikatory „Gdzie na ziemi”).
W tym celu wykorzystałem Pythona i bibliotekę Twittera (zręcznie nazywaną „twitterem”), aby uzyskać wszystkie dane z sieci społecznościowych z dnia drugiej tury wyborów (26 października), a także dwa dni przed (października). 24 i 25). Każdego dnia wykonywałem około 70 różnych zapytań, aby pomóc zidentyfikować aktualne tematy trendów.
Poniżej znajduje się przykład obiektu JSON zwróconego w odpowiedzi na każde zapytanie (ten przykład został oparty na zapytaniu o dane z 26 października o godzinie 12:40:00 i pokazuje tylko dane dla 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}] }]
Krótkie wprowadzenie do analizy sieci społecznościowych
Teoria sieci społecznościowych to badanie tego, w jaki sposób ludzie, organizacje lub grupy wchodzą w interakcję z innymi osobami w ich sieci. Istnieją trzy podstawowe typy sieci społecznościowych:
- Sieci egocentryczne są połączone z pojedynczym węzłem lub osobą (np. Ty i wszyscy Twoi przyjaciele i krewni).
- Sieci socjocentryczne są domyślnie sieciami zamkniętymi. Dwoma powszechnie używanymi przykładami tego typu sieci są dzieci w klasie lub pracownicy wewnątrz organizacji.
- Sieci systemu otwartego to sieci, w których linie graniczne nie są jasno określone, co sprawia, że tego typu sieci są zazwyczaj najtrudniejsze do zbadania. Rodzaj sieci społeczno-politycznej, który analizujemy w tym artykule, jest przykładem sieci systemu otwartego.
Sieci społecznościowe są uważane za sieci złożone, ponieważ wykazują nietrywialne cechy topologiczne, ze wzorami połączeń między ich elementami, które nie są ani czysto regularne, ani czysto losowe.

Analiza sieci społecznościowych bada strukturę relacji między podmiotami społecznymi. Podmiotami tymi są często ludzie, ale mogą to być również grupy społeczne, organizacje polityczne, sieci finansowe, mieszkańcy społeczności, obywatele kraju i tak dalej. Empiryczne badanie sieci odegrało kluczową rolę w naukach społecznych, a wiele narzędzi matematycznych i statystycznych używanych do badania sieci zostało po raz pierwszy opracowanych w socjologii.
Tworzenie sieci
Aby stworzyć sieć z wykorzystaniem Twitter Trend Topics, zdefiniowałem następujące zasady:
- Każde miasto jest wierzchołkiem (tj. węzłem) w sieci.
- Jeśli istnieje co najmniej jeden wspólny temat trendu między dwoma miastami, istnieje przewaga (tj. połączenie) między tymi miastami.
- Każda krawędź jest ważona zgodnie z liczbą tematów trendów wspólnych dla tych dwóch miast (tj. im więcej tematów trendów jest wspólnych dla dwóch miast, tym większa waga jest przypisywana powiązaniu między nimi).
Na przykład 26 października miasta Fortaleza i Campinas miały 11 wspólnych tematów, więc w sieci na ten dzień znalazła się przewaga między Fortalezą i Campinas o wadze 11:
Ponadto, aby wspomóc proces ważenia relacji między miastami, rozważyłem również tematy niezwiązane z samymi wyborami (założeniem jest, że miasta, które mają inne wspólne priorytety i interesy, mogą być bardziej skłonne do podzielania tych samych skłonności politycznych ).
Chociaż kolejność tematów trendu może mieć potencjalnie pewne znaczenie dla analizy, dla uproszczenia weryfikacji koncepcji, zdecydowałem się zignorować kolejność tematów na liście tematów trendu.
Topologia sieci
Topologia sieci to zasadniczo rozmieszczenie różnych elementów (łącza, węzły itp.) sieci. W przypadku sieci społecznościowej, którą analizujemy, topologia sieci nie zmienia się dramatycznie w ciągu 3 dni, ponieważ węzły sieci (tj. 14 miast) pozostają stałe. Można jednak wykryć różnice w wagach łączy między węzłami, ponieważ liczba wspólnych tematów trendów między miastami różni się w ciągu 3 dni, jak pokazano w poniższym porównaniu topologii sieci w dniu 24 i w dniu 25.
Przewidywanie wyników wyborów na podstawie danych tematycznych na temat trendów na Twitterze
Aby pomóc nam w przewidywaniu wyników wyborów, bierzemy pod uwagę nie tylko tematy trendów wspólne dla miast, ale także to, jak treść tych tematów odnosi się do prawdopodobnego poparcia dla każdej z dwóch głównych partii politycznych; tj. Partido dos Trabalhadores (PT) i Partido da Social Democracia Brasileira (PSDB).
Najpierw stworzyłem listę słów i wyrażeń postrzeganych jako wskazujące na pozytywne skłanianie się do lub wsparcie dla jednej ze stron. (Wypełnianie tej listy jest wprawdzie bardzo złożonym zadaniem. W kontekście tego dowodu koncepcji celowo przyjąłem uproszczone podejście. Jeśli już, to sprawia, że kaliber wyników jest jeszcze bardziej intrygujący, ponieważ bardziej dostrojona lista terminów i wyrażenia prawdopodobnie jeszcze bardziej poprawiłyby dokładność wyników).
Następnie dla każdego węzła liczę:
- liczba jego linków zawierających terminy wskazujące na wsparcie dla PT
- liczba jego linków zawierających terminy wskazujące na wsparcie dla PSDB
Używając ponownie miasta Fortazela jako przykładu, uzyskałem liczbę:
Fortaleza['PT'] = 56 Fortaleza['PDSB'] = 37
W ten sposób wyciągamy wniosek, że mieszkańcy Fortalezy ogólnie preferują Partido dos Trabalhadores (PT).
Wyniki i wnioski
Analiza oparta na tym algorytmie daje wyniki zaskakująco podobne do rzeczywistych wyników wyborów, zwłaszcza biorąc pod uwagę ogólną prostotę naszego podejścia. Oto porównanie przewidywanych wyników opartych na danych z Twitter Trend Topic w porównaniu z rzeczywistymi wynikami wyborów (czerwony jest używany do reprezentowania Partido dos Trabalhadores, a niebieski do reprezentowania Partido da Social Democracia Brasileira):
Ulepszony rygor naukowy, a także bardziej wyrafinowane algorytmy i metryki niewątpliwie poprawiłyby wyniki jeszcze bardziej.
Oto kilka metryk, których można na przykład użyć do wywnioskowania ważności lub wpływu węzła, co z kolei może określić rodzaj analizy predykcyjnej opisanej w tym artykule:
Centralność węzła. Istnieje wiele miar centralności węzłów, które można wykorzystać do identyfikacji najważniejszych lub najbardziej wpływowych węzłów w sieci. Na przykład centralność między węzłami uważa węzeł za bardzo ważny, jeśli tworzy mosty między wieloma innymi węzłami. Z drugiej strony centralność wartości własnej opierała ważność węzła na liczbie innych bardzo ważnych węzłów, które się z nim łączą.
Współczynnik klastrowania. Współczynnik grupowania węzła mierzy stopień, w jakim „sąsiedzi” węzła są ze sobą połączeni. Jest to kolejna miara, która może być istotna przy ocenie przypuszczalnego stopnia wpływu węzła na sąsiednie węzły.
Centralność stopnia. Centralność stopnia opiera się na liczbie łączy (tj. połączeń) z węzłem. Jest to jedna z najprostszych miar „znaczenia” węzła w sieci.
Ale nawet bez tego poziomu zaawansowania wyniki uzyskane za pomocą tego prostego sprawdzenia koncepcji dostarczyły przekonującej demonstracji skutecznej analizy predykcyjnej przy użyciu danych z Twitter Trend Topic. Wyraźnie widać potencjał, by w przyszłości jeszcze bardziej pogłębić analizę danych z mediów społecznościowych.
Dalsza lektura na blogu Toptal Engineering:
- Wykresy analizy danych za pomocą Python/NetworkX