Personal networks (tutorial): Difference between revisions
Line 62: | Line 62: | ||
[[File:EgoNet2GraphML_number_of_classes.png]] | [[File:EgoNet2GraphML_number_of_classes.png]] | ||
The default class ensures that every alter does fit into one class (if nothing else fits the actor is put into the default class). For instance, if you want to define only two classes, say ''male'' and ''female'', you type a '''1''' (one) into the above dialog and subsequently you have to specify one of the classes (say ''male'') and the second class contains all actors that do not fit into the first class. Following the approach of Brandes et al., we want to specify four classes (''fellows'', ''origin'', ''host'', and ''transnationals''); that's why we type a '''3''' (three) into the above dialog box and press ''Enter'' (or the '''ok''' button). | The default class ensures that every alter does fit into one class (if nothing else fits, then the actor is put into the default class). For instance, if you want to define only two classes, say ''male'' and ''female'', you type a '''1''' (one) into the above dialog and subsequently you have to specify one of the classes (say ''male'') and the second class contains all actors that do not fit into the first class. Following the approach of Brandes et al., we want to specify four classes (''fellows'', ''origin'', ''host'', and ''transnationals''); that's why we type a '''3''' (three) into the above dialog box and press ''Enter'' (or the '''ok''' button). | ||
Subsequently we see four dialog boxes asking for the class labels (since class0, class1, ... is not very informative). | |||
[[File:EgoNet2GraphML_class_label_fellows.png]] | [[File:EgoNet2GraphML_class_label_fellows.png]] | ||
We type, for instance, ''fellows'' for class 0, press ''Enter''; then type ''origin''; then ''host''; and finally ''transnationals'' for the default class. | We type, for instance, ''fellows'' for class 0, press ''Enter''; then type ''origin''; then ''host''; and finally ''transnationals'' for the default class. | ||
After having set the class labels we see a dialog asking for the definition of each class (except the default class). This dialog has (in our example) four tabs, three for the definition of the classes ''fellows'', ''origin'', and ''host'' and one for the attributes defining the ties in the network. Let's turn first to the classes. | |||
[[File:EgoNet2GraphML_class_definition.png]] | |||
The tabs '''Attributes defining class: ...''' present a list of all alter attributes. The logic of the class specification is the following. | |||
* when an attribute is not selected (not checked), then this attribute has no impact on whether alters are put into the respective class or not; | |||
* when you select an attribute, then an alter can be in the respective class only if his/her value (of the attribute in question) matches one of several selected possible values; | |||
* finally an alter is in a particular class if he/she satisfies the conditions imposed by all selected attributes. | |||
This becomes clearer when we look at examples. | |||
The class ''fellows'' contains all migrants stemming from the same country of origin (as ego) and having migrated to the same host country. In our case, if we go to the tab for the ''fellows'' class and select the checkbox left of the attribute ''Residencia alter'' (meaning ''country of residence''), we are presented a list of all values that this attribute takes for any alter in any of the open networks. If we have open all 21 networks from the <code>chinese</code> folder, this list looks like the following. | |||
[[File:EgoNet2GraphML_specify_attribute_values.png]] | |||
=== Attributes of intra-class and inter-class tie weights === | === Attributes of intra-class and inter-class tie weights === |
Revision as of 14:12, 5 June 2012
EgoNet is a software to conduct interviews in which the personal networks of respondents are collected. This tutorial explains (1) how to load data collected with EgoNet into visone and (2) how to cluster, aggregate, and visualize collections of personal networks using the methodology proposed in: Ulrik Brandes, Juergen Lerner, Miranda J. Lubbers, Chris McCarty, and Jose Luis Molina "Visual Statistics for Collections of Clustered Graphs". Proc. IEEE Pacific Visualization Symp. (PacificVis'08), 2008 (link to pdf).
To follow the steps outlined in this tutorial you should download the Signos data and extract (unzip) the file on your computer. Furthermore you need the EgoNet2GraphML software to convert EgoNet interviews to GraphML files and apply the clustering and aggregation.
Converting EgoNet interviews into GraphML files
To open EgoNet interviews with visone you first have to convert these to GraphML with the EgoNet2GraphML software. When you have downloaded the file EgoNet2GraphML.jar from the EgoNet2GraphML website execute it (for instance by double-clicking). The main window opens as shown below.
To convert EgoNet interviews to GraphML you first have to open a study definition file (filename extension .ego
) and then one or more interview files (filename extension .int
) that have been collected with the selected study definition file. Click on the open study menu item, select the file signos.ego
in the previously downloaded signos_public_data
(see above) and click on the open button. Then click on the open networks menu item, navigate to the directory interviews/chinese
(for instance) and select the interview files to open. You may add the files one by one, or select several of them at once (by keeping the Control-key down while selecting), or select all .int
files in the current directory by typing Control-A. You get short messages about each file you opened as well as the total number of currently open networks (duplicates are automatically removed).
To convert the interview files to GraphML click on the export networks menu item, select a directory to save the files (you might, for instance, create a new directory graphml
as a subfolder of the chinese
directory), and click the Export! button. EgoNet2GraphML exports all currently open networks to GraphML files; the filenames are the ones of the interview files - just with the extension .int
replaced by .graphml
.
The GraphML files can be opened, analyzed, and visualized with visone (not with EgoNet2GraphML) as explained in the following. The networks have a node for each alter and store the questions about ego as network-level attributes and the questions about alters as node attributes. Typically, the respondent has to evaluate the relation between every undirected pair of alters; in this case the resulting network is complete and the alter-alter responses are encoded as link attributes.
Visual analysis of personal networks on the individual level
Visual analysis of the networks on the individual level is similar to the one presented in the tutorial on visualization and analysis which you might consult as well. When opening one of the newly generated GraphML files (for instance, chinese1.graphml
) with visone you see (in the lower left corner) that the network has 30 nodes and 435 links (it is a complete network). Most of the information is actually contained in node attributes, link attributes, and network attributes. Open the attribute manager to see what is there.
The questions (and answers) about ego are available as network attributes (see the image below). The name of the attribute is the title of the question, the attribute description gives the exact formulation of the question. The type is text for most attributes; for some (numerical) attributes it is decimal. The values give the responses to the respective question.
Similarly, the questions about alters are available as node attributes (see below). Note that for node attributes there is a (potentially) different value for each of the 30 alters (which can be shown by selecting the values radio button on the left-hand side of the attribute manager).
Similarly, the questions about the alter-alter pairs are available as link attributes (see below). Here we have a (potentially) different value for each of the 435 pairs of alters.
A typical approach to visually explore such a personal network is the following:
- define which actors are connected by a link, dependent on responses to the alter-alter questions;
- apply a network layout algorithm to reveal the structure of the network;
- map attributes of interest to graphical variables.
Exemplarily we illustrate these steps in the following.
To define which actors are connected by a link we actually have to decide which links we want to delete (because currently every pair of actors is connected). To do so we open visone's selection tab and choose the attribute Alter alter relacion (link) in the drop-down menu. We can see (also see the image on the right-hand side) that this attribute takes one of three values: Muy probablemente (very likely), No es probable (unlikely), or Podria ser (maybe); the wording of the question was Es probable que estas dos personas se relacionen independientemente de Usted?(Is it likely that these two persons meet each other independent of you?) We want to keep only those links that have been evaluated as very likely; therefore we select the two other values in the selection tab (this selects 373 links out of 435, as you can see in the lower left corner of the visone window). The selected links can be deleted via the links menu. Deleting them and then clicking on the quick layout button reveals the structure of the network. As this is often the case for personal networks, this network decomposes into densely connected clusters.
Mapping attributes to graphical variables can be done via the visualization tab (also see the image below). For instance, mapping the attribute Localidad residencia (city of residence) to color shows that the large cluster on the top is composed of actors living in the same (Chinese) city Suzhou; the others live in Spanish cities, most in Barcelona. You might continue to explore the other attributes.
Class-level analysis of personal networks
Especially when analyzing/visualizing collections of many personal networks, it is often not very informative to look at every individual node in every network. The work of Brandes et al. (2008) proposed to simplify networks by classifying actors dependent on attributes. The resulting class-level networks reveal the size of the various classes and how well are actors connected within classes and in-between classes. This information can be visually represented in a concise way so that dozens or hundreds of networks can be shown on the same page revealing typical networks as well as outliers. In addition, class-level networks can be averaged over (sub-)communities revealing systematic differences (or similarities) with respect to the typical personal network composition and structure.
To do such an analysis we go back to the EgoNet2GraphML converter and chose the export clustered networks option in the file menu. (We assume that you still have several networks open in the converter; for instance, all networks from Chinese respondents.)
When you chose this menu item a dialog is started in which EgoNet2GraphML asks you to specify how actors should be classified.
Specifying a network partition based on node attributes
The network partition is specified by the number of classes, the class labels, and a set of rules clarifying which (combinations of) attribute values should be put into which classes. The first dialog box asks for the number of classes (except the default class).
The default class ensures that every alter does fit into one class (if nothing else fits, then the actor is put into the default class). For instance, if you want to define only two classes, say male and female, you type a 1 (one) into the above dialog and subsequently you have to specify one of the classes (say male) and the second class contains all actors that do not fit into the first class. Following the approach of Brandes et al., we want to specify four classes (fellows, origin, host, and transnationals); that's why we type a 3 (three) into the above dialog box and press Enter (or the ok button).
Subsequently we see four dialog boxes asking for the class labels (since class0, class1, ... is not very informative).
We type, for instance, fellows for class 0, press Enter; then type origin; then host; and finally transnationals for the default class.
After having set the class labels we see a dialog asking for the definition of each class (except the default class). This dialog has (in our example) four tabs, three for the definition of the classes fellows, origin, and host and one for the attributes defining the ties in the network. Let's turn first to the classes.
The tabs Attributes defining class: ... present a list of all alter attributes. The logic of the class specification is the following.
- when an attribute is not selected (not checked), then this attribute has no impact on whether alters are put into the respective class or not;
- when you select an attribute, then an alter can be in the respective class only if his/her value (of the attribute in question) matches one of several selected possible values;
- finally an alter is in a particular class if he/she satisfies the conditions imposed by all selected attributes.
This becomes clearer when we look at examples.
The class fellows contains all migrants stemming from the same country of origin (as ego) and having migrated to the same host country. In our case, if we go to the tab for the fellows class and select the checkbox left of the attribute Residencia alter (meaning country of residence), we are presented a list of all values that this attribute takes for any alter in any of the open networks. If we have open all 21 networks from the chinese
folder, this list looks like the following.