Wizualizacja sieci społecznościowych w narzędziu Visone

Celem ćwiczenia jest zapoznanie studentek i studentów z możliwościami przeprowadzenia analizy i wizualizacji sieci społecznościowych w narzędziu Visone. W ramach ćwiczenia uczymy się tworzyć grafy ręcznie, importować grafy w formacie CSV i GraphML, oraz budować różne wizualizacje sieci.

ręczne tworzenie sieci

W ćwiczeniu utworzymy sieć pokazującą powiązania między osobami aktywnymi na politycznej mapie Polski, odnotowując ich wzajemne relacje oraz zapisując dodatkowe atrybuty węzłów.

1. Pobierz plik visone-2.9.jar i uruchom program. Utwórz nową sieć i zapisz ją pod nazwą politycy.graphml. Upewnij się, że jesteś w trybie edycji (ikona ołówka powinna mieć kolor czerwony, jeśli nie, naciśnij ikonę lub wybierz view→modes→edit mode)

2. Kilknij w głównym polu programu aby utworzyć wierzchołek. Następnie dodawaj kolejne wierzchołki aż do uzyskania sześciu wierzchołków. Następnie otwórz narzędzie Attribute Manager (piąta ikona z lewej w pasku narzędziowym). Kliknij przycisk node aby zacząć pracować z wierzchołkami, a następnie kliknij configure. Utwórz atrybuty: name,age,sex,party i kliknij przycisk apply.

3. Powróć do sieci i przejdź do edycji wierzchołków, aby reprezentowały następujące osoby:

4. Przejdź na zakładkę Visualization (lewa strona ekranu), wybierz kategorię mapping, ustaw typ na label i wskaż atrybut name jako atrybut zawierający etykietę wierzchołka. Kliknij na przycisk visualize umieszczony na samym dole zakładki.

5. Ponownie uruchom narzędzie Attribute Manager, kliknij na przycisk link i dodaj do każdej krawędzi numeryczny atrybut attitude (nie zapomnij kliknąć przycisk apply). Dodaj krawędzie między politykami starając się przyjąć wartości atrybutu attitude, jakie Twoim zdaniem występują w rzeczywistości (-10 oznacza nienawiść, +10 oznacza uwielbienie). Utworzone krawędzie są domyślnie nieskierowane. Zaznacz wszystkie krawędzie (menu links→select all), wyświetl ich własności (menu links→properties) i zmień krawędzie na łuki. Po skończeniu edycji wierzchołków kliknij na ikonę quick layout położoną w prawym górnym rogu. W tej chwili Twoja sieć powinna wyglądać następująco:

6. Zmień sposób wyświetlania wierzchołka reprezentującego Tuska: ustaw kolor wierzchołka na czerwony, zwiększ czcionkę i ustaw etykietę w pozycji north-west (ustawiając wcześniej model 8-pos). Zaaplikuj zmiany. Na podstawie wprowadzonych zmian utwórz szablon i zaaplikuj ten szablon do pozostałych polityków będących liderami swoich partii.

analiza i wizualizacja zbioru danych

W ćwiczeniu wykorzystamy dane o sieciach ego imigrantów przybywających do Stanów Zjednoczonych, zebrane w ramach projektu Egoredes. Zbiór danych zawiera następujące atrybuty:

7. Otwórz plik egonet_ties.csv wskazując, że plik ma format macierzy sąsiedztwa. Okno importu pliku powinno wyglądać tak:

8. Visone interpretuje macierz sąsiedztwa zawsze jako graf skierowany, natomiast semantyka związków w zbiorze reprezentuje symetryczną znajomość. Przejdź na zakładkę transformation, wskaż krawędzie jako poziom operacji, a jako operację wskaż merge. Aby wykonać operację kliknij przycisk transform u dołu zakładki.

9. Otwórz narzędzie Attribute Manager, wybierz pracę z wierzchołkami, i kliknij import & export. Wskaż lokalizację pliku z atrybutami i zaimportuj dane. Pamiętaj, aby jako atrybut połączeniowy koniecznie wskazać atrybut 'id'.

10. Przejdź na zakładkę visualization i wybierz jako kategorię odwzorowanie (mapping). Wskaż, że będziesz modyfikować kolor wierzchołków. Jako atrybut do kolorowania posłuży nam kraj pochodzenia (Afrm). Jako sposób kolorowania wybierz opcję color table (pozostałe opcje bardziej nadają się do kolorowania na podstawie atrybutów numerycznych). W tej chwili Twoja sieć powinna wyglądać następująco:

11. Przejdź na zakładkę analysis i wyznacz stopień każdego wierzchołka (odznacz pole percentage %). W tym celu wskaż jako zadanie indeksowanie w celu wyznaczenia centralności wierzchołków, a jako kryterium wskaż właśnie stopień. Wróć do zakładki visualization i dokonaj odwzorowania wyznaczonego właśnie stopnia na wyświetlany rozmiar wierzchołka. Obejrzyj wizualizację sieci. Następnie zmień kategorię na layout i zobacz, jakie inne sposoby rozmieszczenia wierzchołków są dostępne. W szczególności wypróbuj:

12. Otwórz sieć egonet.graphml i zauważ, że jest to graf pełny. Twoim zadaniem jest usunąć wszystkie krawędzie, które w rzeczywistości nie reprezentują bezpośredniej znajomości między osobami. W tym celu otwórz Attribute Manager, przejdź do wyboru krawędzi i zaznacz krawędzie, dla których atrybut rating przyjmuje wartości Maybe i Not at all likely, a następnie usuń te krawędzie (menu links→delete links i ponownie zastosuj algorytm szybkiego rozłożenia wierzchołków.

analiza i wizualizacja zbioru danych

W ćwiczeniu posłużymy się zbiorami newcomb-fraternity.zip oraz newcomb-fraternity-top3.zip. Zbiory reprezentują dane zbierane przez 15 tygodni w trakcie jednego z kursów akademickich na University of Michigan i pokazują zmieniające się relacje sympatii między uczestnikami kursu. Każdy uczestnik kursu co tydzień przygotowywał ranking znajomych, od najlepszych do najgorszych. Zbiór newcomb-fraternity-top3 zawiera, dla każdego uczesnika, trzech najbliższych przyjaciół.

13. Zaimportuj pierwszą macierz ze zbioru newcomb-fraternity (newfrat01.csv) do narzędzia. Wskaż, że format w pliku to macierz sąsiedztwa a pola są od siebie odseparowane za pomocą spacji.

14. Otwórz narzędzie Attribute Manager i zmień nazwę atrybut krawędzi z csv value na rank (jest to możliwe po przyciśnięciu przycisku configure). Następnie przejdź do okna wyboru krawędzi i zaznacz wszystkie krawędzie o wartości atrybutu rank większej niż 3 (w tym celu kliknij na przycisk filter). Usuń zaznaczone krawędzie aby sieć zawierała jedynie wskazania na najbliższych znajomych. W tej chwili Twoja sieć powinna wyglądać tak:

15. Dla sieci utworzonej w poprzednim punkcie wylicz stopień wejściowy każdego wierzchołka. Po wyznaczeniu tej miary przejdź do zakładki z wizualizacją i wyświetl sieć korzystając z rozkładu status layout (jako miarę statusu wskaż atrybut zawierający stopień wejściowy). Twoja sieć powinna wyglądać następująco:

16. Ponownie wróć do narzędzia Attribute Manager i wskaż chęć transformacji atrybutów opisujących krawędzie. Wybierz przyciski link i manipulate, jako rodzaj manipulacji wskaż manipulate values, jako operację podaj odwrócenie wartości atrybut (reverse), i zapisz nowy atrybut pod nazwą rank reversed.

17. Jeszcze raz wyznacz stopnie wejściowe wierzchołków, tym razem wskazując na konieczność ważenia krawędzi przez atrybut rank reversed. Zapisz stopnie wejściowe jako atrybut indegree weighted i ponownie wyświetl wizualizację statusu każdego wierzchołka. Czy obserwujesz zmiany między poprzednią i aktualną wizualizacją?

sieci dynamiczne

18. Otwórz jednocześnie wszystkie sieci rozpakowane ze zbioru newcomb-fraternity-top3.

19. Otwórz menedżera kolekcji sieci (szósta ikona w pasku narzędziowym), utwórz nową kolekcję, nazwij ją newcomb-fraternity-collection i dodaj do niej wszyskie dostępne sieci.

20. Uruchom narzędzie do animacji sieci i zobacz, jak wygląda ewolucja w czasie kolekcji newcomb-fraternity-collection. Jak widać, efekt nie jest zadowalający.

21. Przejdź do zakładki visualization i wyznacz wizualizację dynamiczną (kategoria layout, rozkład wierzchołków zgodnie z metodą dynamic layout, metoda aggregated layout). Po wyliczeniu rozkładu kliknij w ikonę która identycznie dopasuje wszystkie sieci (czwarta ikona w pasku narzędziowym). Ponownie uruchom animację i porównaj wyniki. Następnie zmień metodę dynamicznego rozkładu na anchored layout z parametrem stabilności ustawionym na 0.8 i jeszcze raz przygotuj animację.

zadanie samodzielne

Otwórz plik twittercrawl.dot.zip potrzebny do wykonania ćwiczenia. Plik zawiera informacje o wybranych użytkownikach Twittera oraz o tweetach i re-tweetach. W pliku zamieszczono informacje o 3600 użytkownikach i 19000 związkach. Załaduj plik do narzędzia VisOne i wykonaj następujące analizy:

1. usuń wszystkie krawędzie o wadze mniejszej niż 10

2. usuń wszystkie krawędzie stanowiące pętle

3. usuń wszystkie wierzchołki o stopniu wejściowym 0

4. znajdź wizualizację która pozwoli Ci zidentyfikować najważniejsze wierzchołki w sieci