Analiza sieci społecznych

Analiza sieci społecznych

Marketing „szeptany” oraz marketing „influencerów” stanowi ważny element wielu kampanii marketingowych. Rozpowszechnienie informacji o produkcie w konkretnych grupach ma znacznie większą siłę przebicia niż reklama kierowana do losowo wybranych osób. Wyszukanie takich grup może nastąpić poprzez portale takie jak na przykład Facebook czy LinkedIn, jednak istnieje także inny sposób na wyszukiwanie grup. Co więcej, można wyszukać grupy, które nie są formalnie zdefiniowane.

Każda społeczność podzielona jest na mikrospołeczności. Ich członkowie posiadają konkretne role. Wszystko powstaje w sposób naturalny, poprzez kontaktowanie się z różnymi osobami, odwiedzanie stron, publikowanie treści czy komentowanie. Członkowie mikrospołeczności wpływają na siebie nawzajem, jednakże niektórzy wywierają większy wpływ niż inni. Nazywani są oni influencerami. Przekazanie informacji do influencera, który opublikuje treść, wiąże się z zyskaniem rozgłosu w mikrospołeczności do której on należy.

W AdvancedMiner Analiza Sieci Społecznych składa się z następujących etapów:

  • budowanie sieci
  • filtrowanie sieci (opcjonalne)
  • analiza sieci
  • wizualizacja sieci (opcjonalne)

Do wykonania powyższych etapów niezbędna jest tabela bazodanowa przechowująca dane o strukturze sieci. Poniższy przykład wykonany został przy użyciu bazy danych z kontaktami użytkowników YouTube’a dostępnej na stronie: Arizona State University.

Budowanie sieci

Po wybraniu w Workflow tabeli i połączeniu jej z opcją Build Network z zakładki SNA należy w ustawieniach wybrać pola z identyfikatorami węzłów źródłowych (source) oraz węzłów decelowych (target), ewentualnie wagą połączenia (domyślnie wszystkie połączenia mają wagę 1).

Analiza sieci społecznych - 1

Filtrowanie sieci

Zdarza się, że konieczne może okazać się filtrowane, aby uzyskać sieć mniejszych rozmiarów. Moduł SNA umożliwia wykonanie tej czynności. Potrzebna do tego jest tabela bazodanowa zawierająca pola z numerami węzłów używanych do budowy sieci.

W polu Filter podajemy warunek, według którego sieć ma być filtrowana. Może on zawierać elementy takie jak:

  • porównania atrybutów
  • sprawdzenie numeru węzła – funkcja id(id1, id2, id3, id4, …) – zwrócone zostanie TRUE dla wartości zapisanych w zbiorze, na przykład dla id(1, 2, 3, 4) dla węzłów o innych numerach niż podane w nawiasie zostanie zwrócone FALSE
  • przynależność do sąsiedztwa – funkcja neigh(expression, radius) – zwraca TRUE dla węzłów, które znajdują się w sąsiedztwie rzędu radius oraz spełniają warunek expression
  • ustalenie przynależności – funkcja attribute in [value1, value2 …] – zwraca TRUE dla atrybutu, który jest równy jednej z wartości podanych w nawiasie

Warunki mogą być łączone operatorami AND i OR.

Algorytmy do analizy sieci w AdvancedMiner

Analiza sieci jest najważniejszą częścią pracy z sieciami. Aby ją wykonać należy wybrać Network Analysis z zakładki SNA i połączyć z tabelą oraz zbudowaną siecią. Do analizy danych używane są wbudowane algorytmy. Można użyć jednego lub wielu algorytmów na raz.

  • Louvain community finder – algorytm służący do szybkiego wyszukiwania społeczności sieci. Używa maksymalnej miary modularności w celu określenia optymalnych podziałów na społeczności. Dodatkowo umożliwia równiez znalezienie hierarchii zagnieżdżonych społeczności.
  • Modularity – miara mierząca połączenia wewnątrz społeczności w porównaniu do połączeń między społecznościami. Przyjmuje wartości od -1 do 1.
  • Size constrained community finder – algorytm umożliwiający wyszukiwanie społeczności sieci przy określonej przez użytkownika jej maksymalnej wielkości.
  • Community statistics – oblicza podstawowe statystyki dla społeczności czyli liczbę węzłów, liczbę połączeń wewnątrz, liczbę połączeń z innymi społecznościami, stosunek liczby połączeń wewnątrz do całkowitej sumy połączeń, sumę wag wewnątrz społeczności, sumę wag połączeń z innymi społecznościami.
  • Role Finder – algorytm określający rolę węzła w sieci poprzez znalezienie podobieństw połączeń między węzłami. Zakłada się, że węzeł pełniący określoną rolę ma określony schemat powiązań z innymi węzłami. Wyliczane są dwie statystyki: wskaźnik przywództwa oraz wskaźnik udziału. Na podstawie ich wartości definiowane są role. Węzły z wysokim wskaźnikiem przywództwa zostają nazwani liderami, z niskim – uczniami. Węzły posiadające niską wartość wskaźnika udziału określone są jako peryferyjne.

    PL – Peripheral leader – Lider peryferyjny
    CL – Connecting leader – Lider łączący
    KL – Kinless leader – Lider związany z wieloma społecznościami
    UPF – Ultra-peripheral follower – Skrajnie peryferyjny uczeń
    PF – Peripheral follower – Peryferyjny uczeń
    CF – Connecting follower – Uczeń łączący
    KF – Kinless follower – Uczeń związany z wieloma społecznościami

  • Aggregator – algorytm wyliczający, dla węzła w sieci, statystyki oparte na danych węzłach z jego otoczenia na podstawie danych opisujących powiązania węzłów oraz danych sieci i dodatkowych atrybutów opisujących każdy węzeł. Obliczane są między innymi statystyki opisujące pozycję węzła w otoczeniu, długości ścieżek z węzła do węzłów.
  • Triad statistics – wyznacza, do ilu różnych typów triad należy węzeł.
  • Equivalence – pojęcie równoważności jest często używane do opisu podobieństwa polączeń z innymi węzłami sieci. Przyjęte jest, że w pełni równoważne sieci mają bezpośrednie połączenia z tymi samymi węzłami sieci.
  • Community equivalence – równoważność w stosunku węzłów należących do społeczności.
  • Page Rank Algorithm – algorytm używany przez Google Search do oceny stron internetowych (ale może być użyty też do innych danych opisujących sieć). Wyznacza znaczenie danego węzła na podstawie jakości węzłów z nim połączonych.
  • HITS Algorithm (Hyperlink-Induced Topic Search) – algorytm zbliżony do algorytmu Page Rank. Służy do oceny stron internetowych. Ocenia, do jakiego stopnia węzeł pełni rolę centrum lub autorytetu.
  • Spreading Activation Algorithm – algorytm symulujący rozchodzenie się informacji w sieci. Zaczyna się od jednego węzła początkowego, który przekazuje energię do węzłów, z którymi jest powiązany. W kolejnych iteracjach węzły, które mają poziom energii powyżej danego poziomu, przekazują energię do węzłów z nimi powiązanych.

Analiza sieci

W menu edycji analizy wybieramy kolumnę zawierającą identyfikatory, które są wierzchołkami w sieci. Następnie dodajemy odpowiedni algorytm oraz uzupełniamy dane niezbędne do jego wykonania.

Analiza sieci społecznych - 2

Analiza sieci społecznych - 3

Analiza sieci społecznych - 4

Po naciśnięciu F6 otrzymujemy nową tabelę zawierającą kolumnę z wybranym identyfikatorem (wierzchołek) oraz kolumny zawierające informacje zwracane przez wybrane algorytmy.

Analiza sieci społecznych - 5

Wizualizacja sieci

W celu zwizualizowania sieci należy wybrać Network Visualization. Może zostać połączone z ze zbudowaną siecią lub z wykonanym filtrowaniem.

Analiza sieci społecznych - 6

Wizualizacja, oprócz przedstawiania sieci, może prezentować także różne rodzaje zmiennych i statystyki związane z węzłami sieci lub podsieciami, jak na przykład społeczności, role. W celu zaprezentowania dodatkowych informacji do obiektu wizualizacji należy dodać atrybuty zawarte w innych tabelach.

Analiza sieci społecznych - 7

Po załadowaniu wizualizacji można zmieniać wygląd prezentowanego grafu suwakami znajdującymi się na dole okna. Pasek narzędzi na górze okna umożliwia filtrowanie węzłów, dodawanie danych uzupełniających, uruchomienie narzędzia Freq czy wykonania zrzutu ekranu z okna wizualizacji.

Analiza sieci społecznych - 7

Zwizualizowana duża sieć bez użycia nawigatora.

Wciśnięcie Ctrl+7 uruchamia nawigator. Umożliwia on dostosowanie zawartości wizualizacji.

Analiza sieci społecznych - 8

W zakładce Layout można dostosować rozmieszczenie. Dostępne są trzy sposoby rozmieszczania: ForceDirected, OpenOrd i Random.

Partition umożliwia dokonanie podziału sieci. Sieć może być podzielona zgodnie z wartościami zmiennych nominalnych lub zmiennych całkowitoliczbowych. Węzły o różnych wartościach mają nadawane różne kolory.

Ranking służy do wizualizacji dodatkowych numerycznych atrybutów węzłów. Można zmienić wielkość węzłów, kolory czy nawet ich nasycenie.

Label jest zakładką, dzięki której możliwe jest dodanie etykiet z wybranymi wartościami wybranych atrybutów sieci.

Przykłady zastosowania nawigatora

Analiza sieci społecznych - 10 - Sieć

Zastosowane rozmieszczenie ForceDirected oraz podział sieci na społeczności.

Analiza sieci społecznych - 11 - OpenOrd

Zastosowane rozmieszczenie OpenOrd oraz podział sieci na społeczności.

Analiza sieci społecznych - 12

Zastosowanie rozmieszczenia ForceDirected, podziału na społeczności oraz rankingu ze zmienieniem wielkości węzłów.

Analiza sieci społecznych - 13

Zastosowanie rozmieszczenia ForceDirected, rankingu ze zmienieniem wielkości węzłów oraz nasycenia koloru.

Analiza sieci społecznych - 14

Zastosowanie rozmieszczenia ForceDirected, rankingu ze zmienieniem wielkości węzłów oraz etykiet z nazwami ról.

Podsumowując, po wykonaniu kilku operacji, będziemy wiedzieć, jak kształtują się mikro-społeczności. Dowiemy się, jaka osoba sprawi, że kampania zostanie szybko rozpowszechniona. Stosując wiele algorytmów, poznamy liczne statystyki dotyczące każdego z członków danej sieci, społeczności i powiązań między węzłami.


Informacja dotycząca zbioru danych:

R. Zafarani and H. Liu, (2009). Social Computing Data Repository at ASU [http://socialcomputing.asu.edu]. Tempe, AZ: Arizona State University, School of Computing, Informatics and Decision Systems Engineering

Pin It on Pinterest