NetMiner: Difference between revisions
No edit summary |
No edit summary |
||
Line 27: | Line 27: | ||
}} |
}} |
||
NetMiner is an innovative software tool for exploratory analysis and visualization of large network data. It can be used for general research and teaching in social networks. This tool allows researchers to explore their network data visually and interactively, helps them to detect underlying patterns and structurres of the network.<ref>Borko Furht (2010). Handbook of Social Network Technologies and Applications. Springer Press. P.19. ISBN 978-1-4419-7141-8</ref> |
|||
NetMiner is test |
|||
=='''What is NetMiner?'''== |
=='''What is NetMiner?'''== |
Revision as of 05:06, 30 October 2012
This article, NetMiner, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |
This article, NetMiner, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |
This article, NetMiner, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |
Developer(s) | Cyram Inc. |
---|---|
Initial release | December 21, 2001 |
Stable release | 4
/ July 27, 2011 |
Written in | Java |
Operating system | Windows |
Available in | English |
Type | Social Network Analysis / Visualization |
Website | www |
NetMiner is an innovative software tool for exploratory analysis and visualization of large network data. It can be used for general research and teaching in social networks. This tool allows researchers to explore their network data visually and interactively, helps them to detect underlying patterns and structurres of the network.[1]
What is NetMiner?
NetMiner is a software tool for exploratory analysis and visualization of large network data. NetMiner 4 embed internal Python-based script engine which equipped with the automatic Script Generator for unskilled users. Then the users can operate NetMiner 4 with existing GUI or programmable script language.[2]
Key Features
- Expressive Network Data Model: NetMiner has data structure that can express various types of nodes, links, node attributes and link attributes. In this flexible data structure, almost any social events and research topics can be modelled for network analysis.
- Large Scale Network Data Processing: With proper license, computing power, and some algorithmic limitation, NetMiner can handle over 1,000,000 nodes and 10,000,000 links.
- Comprehensive Network Measures and Methods: In NetMiner, about 140 analysis modules are mounted. There are 26 modules for data transformation, 66 modules for network analysis, 19 modules for statistical analysis, and 37 modules for network visualization and chart.
- Standardized Option and Output Process: All of the analysis sessions in NetMiner are composed of five common analysis components that support standardized analysis process: input, pre-process, main-process, post-process, and output.
- Intuitive User Interface: NetMiner is driven by GUI and provides intuitive workflow management interface for complicated analysis.
- NetMiner Script Environment: NetMiner provides a python-based script environment. This can access most functions of NetMiner including data management, network analysis, and visualization. Users can create his or her own custom plugins by NetMiner script.
- Mix and Match of Numerical and Graphical Output: Exploratory analysis based on the results is available on the graphical output panel. With this visual exploration, intuitive and dynamic interpretation of network analysis results is available.
- Integrated Environment for Statistical Analysis: NetMiner provides built-in methods for statistical analysis and visualization.
Screenshots
File Formats
NetMiner data file format
- .NMF
Importable/Exportable formats
- Plain text data: .TXT, .CSV
- MS-Excel data: .XLS, .XLSX
- NetMiner 2 data: .NTF
- UCINet data: .DL, .DAT
- Pajek data: .NET, .VEC, .CLU, .PER
- StOCNET data file: .DAT
- Graph Modelling Language data: .GML(importing only)
Data Structure
Overview: Hierarchy of NetMiner Data Structure
A DataSet, composed of individual data items, is a basic unit for analysis and visualization in NetMiner. A DataSet is used as an input data for all the analysis and visualization Modules in NetMiner. A DataSet is composed of four types of data items: Main Nodeset, Sub Nodeset, 1-mode Network data and 2-mode Network data. A DataSet contains only one Main Nodeset. But multiple 1-mode Network data can be contained in a DataSet. A DataSet contains multiple Sub Nodesets and multiple 2-mode Network data for each Sub Nodeset can be contained in a DataSet. ProcessLogs which are generated in the analysis and visualization process can be managed with the DataSet that is used for these analysis and visualization processes in a Workfile. A Project contains independent multiple Workfiles. Number of Main Nodes in each Workfile does not need to be the same. In this way, the hierarchy of NetMiner data structure is as follow:
Project > Workfile > Dataset > Data items
Even if you perform a data analysis in NetMiner using only one data item, you need to recognize the hierarchy of data structure in NetMiner. The basic data file extension ‘NMF’ represents the Project which is in the highest level in the hierarchy of data structure. If you ‘open’ a NMF file, you need to select a Workfile to use in the analysis and then select data item(s) for each analysis and visualization module. Each level in the hierarchy of data structure in NetMiner will be covered in the following topics.
[ Data Item ]
Main Nodeset and Sub Nodeset
Nodesets refer to a group of nodes that share some common attribute. In NetMiner, nodesets are broken up into two types: main nodesets and sub nodesets. If there are multiple nodesets in a single workfile, a single nodeset can be defined as the main nodeset; the rest will be defined as sub nodesets. The main nodeset is a standard nodeset. Relationships within a nodeset can be defined only for a main nodeset. For relationship between two nodesets, it is defined between a main nodeset and a sub nodeset. This is to simplify user selection and processing by expressing multiple nodesets in a single dataset and yet focusing on a single nodeset for analysis.
Attribute of Nodeset
In NetMiner, multiple attributes can be defined for a node. Attributes can be number, text, datetime, time, and even missing value. Node attributes are used for network data analysis or visualization. Specific modules of NetMiner require attributes as input data when a network is analyzed. Using the attributes, only links that are above a specific value can be extracted to reorganize the network. The attributes can also be considered to be groups, so that a network of attributes can be built as well.
1-mode Network and 2-modeNetwork
A network refers to a group of links of a specific nodeset or those of between nodesets. A network is defined by using a specific nodeset as the reference, which is called the reference nodeset for a particular network. A 1-mode network or a 2-mode network can be explained according to the type of the reference nodeset. In 1-mode network, the group is among nodes that are in the same nodeset, and only one nodeset is involved. In NetMiner, networks that are based on a main nodeset are defined as 1-mode networks.
2-mode networks are composed of a group of relationships among nodes that belong to two different nodesets. They are based on two different nodesets. In NetMiner, networks that are based on a main nodeset and a sub nodeset are defined as 2-mode networks.
Representing a Network
A network can be represented as a Matrix Type or as a Link List Type. In Matrix Type, all nodes in a network can be represented including isolates. In Link List Type, only the nodes with links are represented. So the isolate nodes cannot be represented in Link List Type. But for this respect, Link List Type is more efficient to represent a network. In Matrix Type, the weight for each link is given by a value filled in matrix cell. In Link List Type, a link is represented as a row, each of which is composed of source node, target node and the weight. Multiple Links in NetMiner are links (represented as multiple rows in Link List Type) which have identical source node and target node as follows. Multiple Links cannot be represented as a Matrix Type. In Matrix Type, a weight for a link from source node to target node can be represented only in a cell in the matrix. So, in NetMiner, a network data including Multiple Link can be represented only as a Link List Type. User can select whether or not to merge the weights of the Multiple Links in the importing process using some methods as “Sum, Average, Max and Min”. And this network data can be represented in both representation types. Even if you imported a network data including Multiple Links without merge option, you need to merge the weights of the Multiple Links while running analysis and visualization process.
Attribute of Link
Multiple attributes can be defined for a link besides weight. The attribute of link is given to each link not to the two nodes of the link. The link attribute cannot be assigned to any node of each link. The attribute of link must be assigned to each link itself. Links can be set not only in terms of weight but multiple attributes, which include various types such as number, text, datetime, time, and even missing value. Arbitrary link attribute values of number type can be specified as weight.
[ Data Set ]
Multiple Sub Nodeset
In a NetMiner dataset, there can be multiple nodesets. Only a single nodeset can be defined as the main nodeset and the rest are defined as sub nodesets. This is to simplify user selection and processing by expressing multiple nodesets in a single dataset and yet focusing on a single nodeset for analysis.
Layer
In NetMiner datasets, multiple networks that are based on the same reference nodeset but have different relationships can abe defined. For example, in a nodeset composed of six nodes {A, B, C, D, E, F}, the following two 1-mode network data can be represented.
1-mode Network 1 (Fighting) = {(A,B), (A,C), (B,D), (C,E)}
1-mode Network 2 (Love) = {(A,C), (B,C), (D,E), (A,E)}
A group of networks that share a reference nodeset is called a network layer. There can be 1-mode network layers where the main nodeset is used as the reference nodeset and 2-mode network layers where the main nodeset and a specific sub nodeset are used as the reference nodeset. If the reference nodeset is different, it can’t be defined as a layer. Therefore supposing that there are multiple sub nodesets and 2-mode networks that are connected to each sub nodeset, the number of layers that can be defined is the number of sub nodesets. That is, you can’t group everything together and define as a layer just because it’s a 2-mode network. Multiple network data in a nodeset can be integrated in the analysis and visualization process. For example, you can extract the common links from the two 1-mode Networks and perform analysis with only that links or merge the weights of each network for analysis.
[ Workfile]
Workfiles are composed of a dataset and a process log. NetMiner uses the concept of a workfile to manage a dataset as well as analysis process using the dataset simultaneously. A process log shows traces of process execution, and is composed of Session, QuerySets, and Selections. For Session, when a module is selected, a session is created and added to the list. For QuerySets and Selections, when a query or a selection is saved, it is added to the list. Query and Select are used when extacting only the parts in the current dataset that meet the criteria for analysis.
[ Project ]
In NetMiner, a single data file (.nmf) corresponds to a single project, a 1-to-1 correspondence. In a single project, there can be many workfiles. There are two reasons for grouping multiple workfiles in a single project file. First is that in NetMiner, there can be only one main nodeset in a workfile. In NetMiner, although a 1-mode network that represents relationships among the nodes can be defined for a main nodeset, the same is not possible for sub nodesets. In addition, when it comes to a main nodeset, although a 2-mode network that represents relationships with a sub nodeset can be defined, for a sub nodeset, the same is not possible. For sub nodesets, only 2-mode networks that represent relationships with a main nodeset can be defined. Because of this characteristic, for cases in which a 1-mode network that represents relationships of nodes in a specific sub nodeset is needed or when a 2-mode network that represents relationships between the sub nodeset and another sub nodeset is needed, a new workfile is created in which the sub nodeset is made as the main nodeset. As for the second reason, by managing multiple workfiles in a single project file, management of similar data is made easier. Workfiles are managed in a tree structure. A new workfile is created when changes occur with a main nodeset or when a data item to change is linked with a previously executed process. To reflect changes with the dataset in a new workfile, by default it is set as a child of the current workfile. The relationships between the parents and the childs form the tree structure. The user can track history of data changes using the tree structure.
Analytical Metrics
[ Modules for data transformation ]
- Direction: Symmetrize, Transpose
- Value: Dichotomize, Reverse, Normalize, Recode, Missing, Diagonal
- NodeSet: Ego Network, Reorder
- LinkSet: Incidence, Line Graph, Link Reduction
- Matrix: Vectorize (1-mode network), vectorize(2-mode network)
- Layer: Split, Merge, Multiplex
- Mode: 2-mode network, 1-mode network, Main Node Attribute, Tree Construction
- Random: Erdos-Renyi, Scale-Free, QAP Permutation, MCMC
[ Modules for network analysis ]
- Neighbor: Degree(Neighbor), Ego Networks, Structural Hole, Homophily, Assortativity, Equicentrality
- Subgraph: Dyad Census, Triad Census, Triad Combination
- Connection: Shortest Path, All Path Finding, Dependency, Node Connectivity, Link Connectivity, Maximum Flows, Pfnet, Minimum Cutset, Influence, Accessibility
- Cohesion: Component, Bi-Component, Clique, n-Clique, n-Clan, k-Plex, k-Core, Lambda Set, Community, Betweenness, Modularity, Eigenvector, Label Propagation, Cohesive Block, s-Clique
- Centrality: Degree, Coreness, Closeness, Node Betweenness, Link Betweenness, Flow Betweenness, Eigenvector, Status, Power, R.W.Betweenness, Information, Load, Effects, PageRank, HITS, Community
- Equivalence: Structural(Profile, CONCOR), Regular(REGGE, CatRE), Role(Triad, Local), Sim Rank
- Position: Blockmodel(Conventional), Brokerage, Bow-Tie Model
- Properties: Multiple Network, Group, Modularity
- Models: Dyadic Interaction(P1), ERGM(P), Blockmodel(Generalized), Influence Network(Effects, Sequence)
- Two Mode: Degree, Eigenvector Centrality, Collaborative Filtering, Maximum Matching
[ Modules for statistic analysis ]
- Frequency, Gini Coefficient, Power Law, Descriptives, Crosstabs, ANOVA, Correlation, Autocorrelation, Regression, Logistic Regression
- Multivariate Analysis: MDS, Correspondence, Cluster, Decomposition(Eigenvector, Singular, Spectral), Covariance Matrix, Principal Component, Factor Analysis
[ Modules for network visualization ]
- Spring Layouts(2D/3D, 1-mode/2-mode): Kamada & Kawai, Stress Majorization, Eades, Fruchterman & Reingold, GEM, HDE(High-Dimensional Embedding)
- MDS (2D/3D): Classical MDS, Non-metric MDS, Kn-MDS
- Clustered Layouts (2D/3D): Clustered Eades, Clustered-CoLa
- Layered Layout (2D): Dig-Cola
- Circular Laytouts (2D): Circumference, Concentric, Radial
- Others (2D): Fixed, Random
[ Modules for charts ]
- Pie Chart, Matrix Diagram, Area Bar, Box Plot, Scatter Plot, Contour Plot, Surface Plot, Network Contour Plot, Network Surface Plot
Embedded Tools: NetMiner Script Workbench
What is NetMiner Script?
Based on the Python syntax, NetMiner Script provides an environment for performing analysis and visualization with respect to various aspects of NetMiner. Execution in NetMiner Script is exactly the same as execution through the GUI not only in terms of results but in terms of process as well. Therefore by looking at a script the user can easily understand what specific task is to be performed in the overall process. NetMiner Script supports the Python language constructs and modules by default and provides various functions for network analysis and visualization. With NetMiner Script you can automate analysis/visualization processes that have to be performed repeatedly as well as perform condition-based analysis. In addition, external modules written purely in Python can be used for application in a broader field. The Script Workbench is GUI program for more efficient use of NetMiner scripts. The script generator of the Script Workbench allows the use of user interfaces of control panels of an existing NetMiner session so that complex scripts of analysis and visualization can be more easily written. The Script Workbench provides a guide box for each NetMiner function as well as a list of functions.
Benefits of NetMiner Script
- Most features of NetMiner can be performed using a script rather than having to click with mouse so that complicated series of commands can be stored in scripts and executed repeatedly without additional work.
- Analysis flows, such as loops and conditional branching can be controlled by the user in a flexible way.
- Various existing math and statistics modules written in Python can be imported without modification for use, and ordinary data structures provided by Python can be defined.
- Simple algorithms can be written by the user in order to be used in combination with NetMiner features. In addition, user-written files can be added to the NetMiner menu to be used like internal processes which can be shared with other NetMiner users as well.
What differentiates NetMiner Script?
- Python-based scripting: Most analysis software packages with scripting feature use their own scripting language. This requires the user to learn the language, which limits the user base and consequently it’s not easy to find related material either. NetMiner Script uses Python, a programming language distributed free of charge and widely used all over the world. Non-computer majors often get cold feet when they hear the word programming language, but Python is especially so easy that even complete beginners who have little knowledge of programming can learn and use it without difficulties, provided they put in some effort. Also, Python has a wide user base, which means there are lots of easily-obtainable materials available on the Web for learning Python. To use analysis algorithms involving math, statistics or data mining for example, you go to a place on the Web where Python codes written by other people are shared and then, you can download and use the pertinent source codes. This is especially helpful for Python beginners. Therefore, learning NetMiner Script is not simply learning another script language – it is also a gateway to help you to enter the vast world of Python.
- WYSIWYG scripting: NetMiner is a GUI program and NetMiner Script is a GUI-based script, which means all tasks executed through the GUI can be controlled by the use of scripts. Although NetMiner is not the only analysis software that uses both GUI and script, it does differentiate itself from others in the following respects: Generally, in the case of analysis software that uses both of the interfaces, although the results of execution in GUI mode and scripting mode are the same, their processes are not exactly the same. In most of the analysis programs, scripts control data and processes in a way unrelated to the GUI. In contrast, the way of writing NetMiner scripts, is the same. Therefore, while writing a NetMiner Script, the user can see in their mind’s eye which task is corresponding to the execution in GUI. To make it more convenient in generating scripts, NetMiner enables users to utilize the script generator in the Script Workbench. By using it, scripts can be automatically generated according to items selected through the GUI, which helps to avoid the hassle of manual coding in each process. Because of this, NetMiner Script can be called a WYSIWYG (What You See Is What You Get) way of scripting.
Release History
The first version of NetMiner was released on Dec 21, 2001. And there have been four major updates from 2001 to 2012.
2001.12.21:NetMiner (Ver 1.0.0) Released
- Network analysis modules and network visualization modules were integrated to one package
- User interface for data analysis and management was added
- Generic data structure for multi-layer network was introduced
2003.4.9: NetMiner 2 (Ver 2.0.0) Released
- Modules for importing external data were introduced
- Some measures and methods for network analyses and statistical analyses are added and improved
- Some algorithms for visualization processes are added and improved
2007.5.15: NetMiner 3 (Ver 3.0.0) Released
- Data structure was improved for huge network analysis
- Analysis and visualization modules are integrated to support standardized analysis processes
- Data import modules to access external DB such as Oracle and MS SQL were introduced
- Environments for visualization and analysis were integrated to one
2011.5.10: NetMiner 4 (Ver 4.0.0) Released
- Python-based NetMiner Script was introduced
- Encryption module for nmf format was added
- Current(2012.6.25) version: 4.0.1.f.111222
About Cyram
Cyram Inc. is located in Seoul, Korea. Company mission is to deliver customers analytic value based on social network analysis methodology through solutions and consulting services. more