Social Network Analysis

Social Network Analysis in AdvancedMiner consists of the following stages:

Building networks

Loading data

In order to build a network for analysis or visualization, a PhysicalData object is required, pointing to a database table in which the network structure is stored.

Each row in the network structure table corresponds to one edge (connection between nodes) in the network. Each network node is assumed to have a unique identifier value. By default a directed network is created. The table must contain two variables, one with the identifier of the source node, and one with the identifier of the target node. Optionally, a variable with edge weight can also be specified. By default, all adges are assumed to have the same weight equal to 1.0.

To add a PhysicalData object to the Metadata Repository, select New->Physical Data... from the context menu of the Metadata Repository in the Projects window. Next select an alias and a table from the database.

Adding and configuring SNA build settings

To add an SNABuildSettings object to the Metadata Repository select New->Other... from the context menu of the Metadata Repository. Next select the SNABuildSettings object.

The SNABuildSettings requires a LogicalData object referencing the PhysicalData object for the table which specifies the network structure. To add LogicalData, select Add LogicalData from the settings object's context menu

Finally, it is necessary to select the columns with source and target node identifiers, and (optionally) the weight column. This can through in the SNABuildSettings object's Properties window.

Adding, configuring, and executing SNA build task

To add a SNABuildTask object to the Metadata Repository select New->Task... from the context menu of the Metadata Repository. Next select SNABuildTask object.

The SNABuildTask requires

  • a PhysicalData object pointing to the table with network's edges,
  • an SNABuildSettings object,
  • aNetwork object, which will be used to store created network in a format suitable for further analysis or visualization.

Adding PhysicalData Select Add->physicalData from the SNABuildTask object's context menu and select the PhysicalData object pointing to the table with the network's edges.

Adding SNABuildSettings Select Add->settings from the SNABuildTask object's context menu and select the SNABuildSettings object.

Adding Network Select Add->network from the SNABuildTask object's context menu and type in the name of the object in which the network will be saved.

To build the network, execute the SNABuildTask object.

Filtering networks

In some scenarios it may be necessary to filter down a network object so as to obtain a network of smaller size. AdvancedMiner's SNA module provides a network filtering mechanism designed especially for this purpose.

To filter a network, a database table is required. Each row of this table corresponds to one node of the input network and it must contain a column with a node identifier. Node identifiers must be the same as those used for building the input network. Filtering is performed by evaluating a boolean expression for each node of the input network. This expression uses attributes from the provided table.

Loading data

Data used for filtering is provided using a PhysicalData object.

To add a PhysicalData object to the Metadata Repository, select New->Physical Data... from the context menu of the Metadata Repository in the Projects window. Next select an alias and a table from the database.

Adding and configuring SNA filter settings

To add a SNAFilterSettings object to the Metadata Repository select New->Other... from the context menu of the Metadata Repository. Next select SNAFilterSettings object.

The SNAFilterSettings requires a LogicalData object referencing the PhysicalData object for the table with node data. To add LogicalData, select Add LogicalData from the settings object's context menu.

Next open the attributeUsageSet node attached to the SNAFilterSettings and select NODE ID as the usage for the attribute with node identifiers. It is also possible to select appropriate logical attribute classes for other columns in the data table. The attribute's logical class determines the type of filtering expressions in which it can be used.

Finally, enter the filtering expression as the value for the Filter in the SNAFilterSettings object's Properties window.

See the Network filtering / Usage section for details on configuring the SNAFilterSettings object.

Adding, configuring and executing SNA filter task

To add an SNAFilterTask object to the Metadata Repository select New->Task... from the context menu of the Metadata Repository. Next select the SNAFilterTask object.

The SNAFilterTask object requires the follwoing components:

  • a Network object in which the input network is stored,
  • a outputNetwork object in which the output network will be stored
  • an SNAFilterSettings object.

Optionally, it is possible to provide the following elements:

  • a PhysicalData object refering to a table which will store filtered records from the input data table,
  • a PhysicalData object refering to a table which will store edges of the output network.

After the SNAFilterTask is properly set up, it can be executed. The specified output network and data tables will be created.

Analysing networks

Network analysis is the core part of working with Social Networks in AdvancedMiner. The SNA module offers numerous algorithms dedicated to analysing data associated with individual network nodes in the context of their network neighbourhood, community or the network as a whole.

Adding and configuring SNA settings

The SNASettings object is used to configure all the analysis algorithms which will be applied to the network.

To add a SNASettings object to the Metadata Repository select New->Other... from the context menu of the Metadata Repository. Next select SNASettings object and enter the name for the object to create.

It is possible to configure the SNASettings object with a LogicalData object which represents a table with data to use for analysis and an array of analysis algorithms.

To add an algorithm, select Add element from the algorithms node's context menu and choose the algorithm to add. Any number of algorithms can be added; it is also possible to add multiple algorithms of the same kind with differnt settings.

Each of the algorithms has its own set requirements. See the Method description and Usage / Network analysis sections in the chapter devoted to the SNA module for more information about the available algorithms and how they are configured.

Adding, configuring and execting SNA task

The SNATask object is responsible for executing the analysis algorithms according to the settings provided with the SNASettings object.

To add an SNATask object to the Metadata Repository select New->Task... from the context menu of the Metadata Repository. Next select the SNATask object.

The SNATask object requires the follwoing components:

  • a Network object in which the input network is stored,
  • an SNASettings object,
  • a PhysicalData object refering to a database table in which the results of the analysis will be stored.

Optionally, it is possible to provide the following elements:

  • a PhysicalData object refering to a table with input data for the network's nodes

Visualising networks

Creating and configuring visualization

In order to create a visualization for a network, make sure that the corresponding Network object is loaded and select Create visualization from its context menu. A VisualizationTask and VisualizationStatiscs object will be created in the metadata repository.

Visualization is capable not only of displaying the network itself, but also representing in various forms variables and statistics associated with network nodes or subnetworks, such as communities, node roles or other nominal or numerical variables. In order to display this additional information attributes from complementary data tables can be added to the VisualizationTask. The rows of these tables should correspond to nodes in the network and each table should have an attribute with node's identifier, which should be identical to the identifiers used in building the network.

To add data from complementary table to the visualization, select Add from the context menu of the Attributes node under the NetworkVisualtion node. A dialog window will open, in which it is possible to select the database alias, table, attribute with node identifiers, as well as classes for variables in the table.

Working with visualization

To open the visualization load and open the VisualizationTask which has been created in the repository by clicking on it twice.

  • The appearance of the network graph can be customized using the controls at the bottom of the window.
  • The toolbar at the top of the visualization window contains controls for filtering nodes, adding complementary data, exporting data, launching Freq, and taking screenshots of the visualization.
  • Visualization content can be controlled using the Navigator component.

Adjusting visualization content

Adjusting layout.  To adjust the layout select the Layout tab in the navigator. Three types of layout are available: ForceDirected, OpenOrd and Random. To apply a given layout, select the appropriate option from the Layout combo box, set the available parameters and click the Run button.

Partitioning the network.  To configure network partition select the Partition tab in the navigator. The network can be partitioned according to the values of a NOMINAL or INTEGER attribute. Nodes with different nominal value are displayed with different colors. To apply partitioning, select an attribute from the Attribute combo box and click the Run button.

Ranking nodes.  It is possible to visualize the ranking of nodes according to the values of a numerical attribute. Ranking can be displayed as node size or node color. It is also possible to adjust how the displayed ran changes by modifing the growth curve in the tab's chart box. To rank nodes, select an attribute from the Attribute combo box, adjust the curve in the chart box, and (in case of color ranking) select colors corresponding to minimal and maximal values, and click the Run button.

Adding labels.  It is possible to display the values of a selected attribute on network nodes. To display the labels, select an attribute from the Attribute combo box, adjust label size and click the Run button.