Narzędzia użytkownika

Narzędzia witryny


laboratorium-ucinet-1

Analiza sieci społecznościowych w narzędziu UCI*Net (część I)

Celem pierwszej części ćwiczenia jest zapoznanie się z narzędziem UCI*Net i wykonanie prostych analiz przy jego wykorzystaniu. W pierwszej części zapoznajemy się ze sposobami wprowadzania danych i ogólnym interfejsem narzędzia. UCI*Net (https://sites.google.com/site/ucinetsoftware/home) to program do analizy sieci społecznościowych, przygotowany i napisany przez Steve'a Bograttiego, Lindona Freemana oraz Martina Everetta. Program jest napisany dla platform Windows, ale można go uruchomić na platformach Mac i Linux korzystając z BootCamp, Wine, lub VMFusion Ware. Program składa się z głównego modułu analitycznego oraz zintegrowanego programu do wizualizacji sieci o nazwie NetDraw.

wprowadzanie danych

Pierwsza część ćwiczenia pokazuje sposób wprowadzania danych do UCI*Net za pomocą edytora DL. DL to edytor pozwalający wprowadzać dane bezpośrednio lub przez kopiowanie z arkusza kalkulacyjnego. Edytor DL pozwala na wprowadzenie danych w wielu różnych formatach, z których przetestujemy macierz 1-modalną, macierz 2-modalną, 1-modalną listę krawędzi, 1-modalną listę wierzchołków i 1-modalną macierz krawędzi. Dodatkowo, zaimportujemy też pliki z atrybutami wierzchołków.

1. Uruchom program UCI*Net i zlokalizuj ikonę uruchamiającą edytor DL.

2. Pierwszym analizowanym formatem jest 1-modalna macierz sąsiedztwa. Załóżmy, że sieć składa się z 8 osób które się ze sobą komunikują, gdzie 0 oznacza brak komunikacji, a 1-3 oznaczają różne poziomy częstotliwości komunikacji.

3. Otwórz edytor DL i wybierz Full Matrix jako format danych. Upewnij się, że każdy element nagłówka jest zaznaczony (macierz ma wiersze i kolumny). Kliknij zakładkę Data.

4. Wprowadź do edytora macierz opisującą sieć.

5. Kliknij na ikonę Grid Resize aby pozbyć się nadmiarowych komórek. Wykorzystaj pole Title u dołu ekranu aby nazwać macierz Communication_Frequency.

6. Zapisz macierz jako zbiór UCI*Net. Kliknij na ikonę zapisywania w pasku ikon lub wybierz z menu File opcję Save UCINET data set. Nazwij ten zbiór danych T1_Comm. Aby obejrzeć swój zbiór danych kliknij na ikonę Display w pasku ikon.

7. W następnym kroku wprowadzimy macierz 2-modalną. Wiersze i kolumny w tym zbiorze danych będą reprezentowały różne obiekty. W naszym zbiorze wiersze (nazywane przypadkami) odpowiadają osobom, natomiast kolumny (nazywane afiliacjami) reprezentują wydarzenia. Macierze 2-modalne nie muszą być macierzami kwadratowymi. Poniżej znajduje się przykładowy zbiór danych:

8. W tej macierzy 1 oznacza, że dana osoba uczestniczyła w danym wydarzeniu. Proces importowania danych jest bardzo podobny do poprzedniego procesu. Uruchom edytor DL i wprowadź dane, pamiętając, aby zaznaczyć pola wyboru dla etykiet wierszy i kolumn. Po wprowadzeniu danych dopasuj rozmiar macierzy. Format danych to Full Matrix. Nazwij macierz Event_Attendance. Zapisz zbiór danych pod nazwą T1_Events i kliknij na przycisk Display aby upewnić się, że zbiór został poprawnie zapisany.

9. W kolejnym kroku wprowadzimy dane w postaci listy wierzchołków. Ten format jest odpowiedni dla niewielkich grafów homogenicznych.

10. W tym formacie wierzchołek w pierwszej kolumnie reprezentuje ego, a pozostałe wierzchołki to wierzchołki incydentne z danym wierzchołkiem. Otwórz edytor DL i wprowadź graf, wybierając jako format Nodelist (1-mode). Koniecznie pamiętaj o dostosowaniu wielkości macierzy do zbioru danych. Nazwij macierz Friendship i zapisz zbiór danych pod nazwą T1_Friendship. Wyświetl zbiór danych w UCI*Net:

11. Kolejny przykład to załadowanie danych w formacie listy krawędzi. Poniżej znajduje się przykładowy graf zdefiniowany jako 1-modalna lista krawędzi.

12. W powyższym przykładzie istnienie krawędzi między dwoma osobami oznacza, że te dwie osoby grają ze sobą w tenisa. Wprowadź powyższą sieć do UCI*Net wykorzystując edytor DL. Nazwij macierz Tennis, a jako format danych wybierz Edgelist (1-mode). Zaznacz pole wyboru Force symmetry i dopasuj wielkość macierzy do posiadanych danych. Wymuszenie symetrii oznacza, że każda krawędź będzie traktowana jako krawędź wzajemna. Zapisz zbiór danych pod nazwą T1_Tennis i wyświetl macierz. Upewnij się, że wygląda następująco:

13. Ostatnim formatem danych jest macierz krawędzi. Różnica między macierzą krawędzi i listą krawędzi polega na tym, że macierz krawędzi może zawierać więcej niż jeden typ związku w pojedynczym pliku.

14. W powyższym przykładzie pracownicy są powiązani zarówno związkiem Works_With, jak i Advice_Freq (drugi związek oznacza, jak często dany pracownik zwraca się po pomoc do pierwszego pracownika). Brakujące dane zostaną zinterpretowane jako 0. Wprowadź powyższy zbiór danych do UCI*Net za pomocą edytora DL, wybierając jako format Edgearray (1-mode), zaznacz chęć dodania nagłówków kolumn. Nie wprowadzaj nazwy dla macierzy, zostanie ona odczytana z nagłówka każdej kolumny.

15. Zapisz zbiór danych pod nazwą T1_Workflow_Advice i wyświetl zbiór danych. Upewnij się, że UCI*Net poprawnie rozpoznaje dwie macierze reprezentujące oba typy związków wiążących pracowników.

16. Załóżmy, że każdy pracownik jest opisany za pomocą trzech atrybutów: płci, wieku i wagi. Atrybuty są podane w postaci relacyjnej:

17. Dane w tym formacie mogą być łatwo wprowadzone do UCI*Net poprzez wbudowany w środowisko arkusz kalkulacyjny. Kliknij na wskazanej ikonie aby otworzyć arkusz i wprowadź dane do arkusza kalkulacyjnego. UCI*Net przetwarza jedynie atrybuty numeryczne. Atrybuty nominalne muszą zostać przetłumaczone na atrybuty numeryczne przed ich użyciem w UCI*Net.

18. Zapisz zbiór danych jako T1_Attributes. Wyświetl zawartość zbioru danych:

wizualizacja danych 1-modalnych

W tym ćwiczeniu zobaczymy, jak można posłużyć się mechanizmami wizualizacji w UCI*Net. Posłużymy się zbiorem Krack-High-Tech dostarczanym z narzędziem UCI*Net.

Zbiór danych Krack-High-Tech powstał na podstawie analizy przeprowadzonej w jednej z firm technologicznych w Krzemowej Dolinie w USA. Firma zatrudnia około 100 osób, w tym 21 osób na stanowiskach kierowniczych. Każda z tych osób została zapytana o wskazanie innej kierowniczki/innego kierownika do którego dana osoba zgłosiłaby się po poradę (zmienna ADVICE), wskazanie przyjaciółki/przyjaciela (zmienna FRIENDSHIP oraz wskazanie osoby, której przekazałaby w pierwszej kolejności informację o kradzieży firmowych dokumentów (zmienna REPORTS TO). Osoby zajmujące kierownicze stanowiska podały też swój wiek, staż pracy w latach, numer departamentu oraz poziom w hierarchii (1-CEO, 2-ViceManager, 3-Manager).

1. Wyświetl własności zbioru danych Krack-High-Tech (ikona D w pasku ikon). Zbiór danych zostanie wyświetlony w postaci trzech macierzy: ADVICE, FRIENDSHIP i REPORTS_TO opisujących związki między pracownikami jednej z firm w krzemowej dolinie. Wyświetl też zbiór atrybutów opisujących wierzchołki (użyj zbioru danych High-Tec-Attributes). Zobaczysz macierze AGE, TENURE, LEVEL i DEPT.

2. Uruchom narzędzie NetDraw klikając na zaznaczoną poniżej ikonę na pasku ikon.

3. Otwórz zbiór Krack-High-Tech. W prawym górnym rogu na zakładce Rels możesz wybierać między różnymi związkami które są aktualnie wyświetlane. Jako pierwszą wybierz sieć FRIENDSHIP.

4. Ikona z błyskawicą służy do automatycznego rozłożenia wierzchołków. Sprawdź efekt działania.

5. Kliknij na ikonę folderu z literą A (ładowanie pliku z atrybutami). Wybierz plik High-Tec-Attributes i kliknij Open. W prawym górnym rogu na zakładce Nodes pojawiła się lista atrybutów. Obejrzyj wartości atrybutów.

6. Z menu Properties wybierz opcję Nodes→Symbols→Size→Attribute-based. Wybierz atrybut TENURE. Nie zmieniaj pozostałych parametrów i kliknij OK. Wielkość wyświetlanego wierzchołka reprezentuje teraz wartość atrybutu TENURE:

7. Kliknij na wskazaną poniżej ikonę aby zmienić kolor wyświetlanych węzłów.

8. W okienku pop-up wskaż, że atrybutem wykorzystywanym do kolorowania węzłów ma być atrybut DEPT. Twoja sieć powinna wyglądać następująco:

9. Jeśli nie odpowiadają Ci domyślne kolory, możesz kliknąć na kolorowy prostokąt przy wartości każdego atrybutu i z palety kolorów wybrać inny kolor. Spróbuj zmienić kolor reprezentujący Departament 4.

10. W ostatnim kroku zmienimy kształt wierzchołków w zależności od wartości atrybutu LEVEL. Kliknij na wskazaną poniżej ikonę na pasku ikon.

11. W prawym dolnym rogu ekranu znajduje się niewielkie menu. Zaznacz w nim pole Shape. W wyświetlanej sieci kształt węzła zależy teraz od wartości atrybutu LEVEL.

12. Przejdź do zakładki Rels w prawym górnym rogu i zaznacz wszystkie trzy związki. Dokonaj automatycznego rozmieszczenia wierzchołków. W menu Properties wybierz Color→Relation. Okienko pop-up zawiera informacje o kolorach przypisanych do związków oraz kolorze i grubości linii użytej w przypadku, gdy dwa węzły współdzielą więcej niż jeden związek.

13. Zmień kolory przypisane do związków i kliknij Apply:

zadanie samodzielne

Kliknij na przycisk służący do tworzenia nowego grafu. Otwórz ponownie zbiór Krack-High-Tech oraz plik z atrybutami High-Tec-Attributes. Wykonaj ćwiczenie na związku REPORTS_TO. Pokoloruj węzły zgodnie z wartościami atrybutu LEVEL. Postaraj się uzyskać poniższy wynik.

wizualizacja danych 2-modalnych

Niniejsze ćwiczenie pokazuje możliwości wizualizacji danych dwudzielnych za pomocą narzędzi UCI*Net i NetDraw. W ćwiczeniu zostanie wykorzystany zbiór danych Davis Southern Club Women.

Oryginalny zbiór danych Davis Southern Club Women jest grafem dwudzielnym, w którym wierzchołki są podzielone na rozłączne zbiory osób i wydarzeń. Zbiór reprezentuje udział 18 kobiet w 14 wydarzeniach społecznych w niewielkiej miejscowości na południu Stanów Zjednoczonych. Zbiór powstał na podstawie obserwacji przeprowadzonych w latach 30-tych XX wieku i odzwierciedla głębokie podziały na tle rasowym.

1. Otwórz zbiór danych w UCI*Net i wyświetl go (ikona z literą D).

2. Uruchom narzędzie NetDraw i otwórz zbiór Davis w celu jego wizualizacji. Twój graf powinien wyglądać następująco:

3. Niebieskie węzły reprezentują wydarzenia a czerwone węzły reprezentują kobiety. Nie ma w grafie żadnych krawędzi między wydarzeniami lub między kobietami, każda krawędź prowadzi od kobiety do wydarzenia. To charakterystyczna cecha grafów dwudzielnych. Odwróć graf przez transpozycję wydarzeń i kobiet. W tym celu wybierz z menu opcję Transform→Transpose i wskarz zbiór Davis jako zbiór wejściowy. UCI*Net zapisze zbiór wynikowy pod domyślną nazwą Davis-Transp. Wyświetl wynikowy graf w trybie tekstowym:

4. Graf dwudzielny można także zamienić na zwykły graf poprzez wyznaczenie afiliacji. Wybierz z menu opcję Data→Affiliations (2-mode to 1-mode). Wskaż Davis jako zbiór wejściowy, wybierz tryb Row agregacji i metodę agregacji Cross-Product (co-occurrence). Zapisz wynik jako Davis-Aff i wyświetl zbiór na konsoli. Graf zawiera tylko informacje o kobietach, a wagą krawędzi jest liczba wspólnych wydarzeń, w których dwie kobiety wzięły udział.

5. Samodzielnie przetłumacz zbiór Davis do postaci zbioru 1-modalnego, w którym będą występowały jedynie wydarzenia a wagą krawędzi między dwoma wydarzeniami będzie liczba kobiet, które wspólnie wzięły udział w obu wydarzeniach.

6. Wróć do zbioru Davis-Aff przedstawiającego związki towarzyskie między kobietami i wyświetl ten graf w narzędziu NetDraw. Włącz wyświetlanie wagi krawędzi klikając na wskazanej ikonie w pasku narzędzi.

7. W kolejnym kroku ograniczymy wyświetlanie krawędzi jedynie do krawędzi o określonej wadze. Przejdź na zakładkę Rels i kliknij w przycisk (+). Wyświetl jedynie krawędzie o wadze większej niż 3 i uruchom autorozkład wierzchołków. Możesz także wybrać z menu opcję Properties→Lines→Size→Tie Strength aby mocniej zaznaczyć krawędzie o dużej wadze. Twój wynik powinien wyglądać mniej więcej tak:

8. Na koniec zapoznamy się z możliwością skalowania wielowymiarowego grafów. Wybierz z menu opcję Tools→Scaling/Decomposition→Non-metric MDS. Wskaż zbiór Davis-Aff jako zbiór wejściowy, pozostawiając pozostałe domyślne wartości parametrów. Kliknij przycisk OK i obejrzyj wynik w postaci współrzędnych MDS oraz wizualizację zbioru po translacji.

zadanie samodzielne

Pobierz plik movies.net potrzebny do wykonania ćwiczenia. Plik zawiera informacje o 40 kompozytorach i 62 producentach filmowych współpracujących w Hollywood w latach 1964-1976. W zbiorze danych uwzględniono jedynie producentów którzy wyprodukowali co najmniej 5 filmów w tym okresie. Waga krawędzi reprezentuje liczbę filmów w których dany producent korzystał z usług danego kompozytora. Zbiór został skompilowany przez Roberta R. Faulknera z University of Massachusetts i przystosowany do formatu Pajek przez W. de Nooya w 2001.

1. Zaimportuj plik do narzędzia UCI*Net korzystając z menu Data→Import text file→Pajek. Dokonaj wizualizacji zbioru danych

2. Sprawdź, czy wśród kompozytorów występują „kliki”, tzn. grupy kompozytorów, którzy byli często wykorzystywani przez tych samych producentów. Zweryfikuj analogiczną hipotezę w odniesieniu do producentów.

3. Dokonaj rzutowania producentów na przestrzeń dwuwymiarową zgodnie z ich wzajemnym podobieństwem. Czy zauważasz producentów, którzy wyraźnie odstają od reszty?

4. Wyznacz stopień i pośrednictwo w sieci afiliacyjnej kompozytorów (Network→Multiple measures→Node level (e.g. centrality))

5. Otwórz sieć afiliacyjną kompozytorów w narzędziu NetDraw. Następnie, otwórz zbiór z wartościami atrybutów dla węzłów (ikona z folderem i literą A). Ogranicz zbiór wyświetlanych kompozytorów jedynie do kompozytorów o stopniu powyżej 30. Zmień sposób wyświetlania węzłów w taki sposób, aby wielkość węzła odpowiadała jego pośrednictwu. Wynikowa sieć powinna wyglądać podobnie do poniższej:

laboratorium-ucinet-1.txt · ostatnio zmienione: 2017/05/10 20:33 przez mmorzy

Narzędzia strony