NETWORK Procedure
Overview: NETWORK Procedure
The NETWORK procedure includes a number of graph theory and network analysis algorithms that can augment data mining and machine learning approaches. In many practical applications of data mining and machine learning models, pairwise interaction between the entities of interest in the model often plays an important role. For example, when you are modeling churn in a telecommunications network to support a retention campaign, the influence of individual customers on the other customers—such as friends and acquaintances that they regularly interact with—might contribute to the propensity of other customers to churn. You could likewise imagine a customer being able to influence the propensity of his or her acquaintances to acquire new products. Social networks such as Facebook and Twitter are obvious examples of networks that represent such interactions between individuals.
Networks also appear explicitly and implicitly in many other application contexts. Networks are often constructed from certain relationships that are based on natural co-occurrence; examples are relationships among researchers who coauthor articles, actors who appear in the same movie, words or topics that occur in the same document, items that appear together in a shopping basket, terrorism suspects who travel together or are seen in the same location, and so on. In these types of relationship, the strength or frequency of each interaction is modeled as a weight on the corresponding link of the resulting network.
To support the myriad ways in which networks appear in data mining, the NETWORK procedure makes no assumptions about the context or application from which the network arises. PROC NETWORK provides a number of network analysis algorithms (listed in Table 1) that take an abstract graph or network as input, help explain the network structure, and compute important network measures. Depending on the application, this type of network analysis can stand on its own and provide independent value, or it can support machine learning models—for example, by providing additional features that are derived from network measures such as node centrality.
Table 1: Algorithm Classes in PROC NETWORK
| Algorithm Class | PROC NETWORK Statement |
| Biconnected components | BICONNECTEDCOMPONENTS |
| Centrality | CENTRALITY |
| Clique enumeration | CLIQUE |
| Community detection | COMMUNITY |
| Connected components | CONNECTEDCOMPONENTS |
| Core decomposition | CORE |
| Cycle enumeration | CYCLE |
| Node similarity | NODESIMILARITY |
| Path enumeration | PATH |
| Pattern matching | PATTERNMATCH |
| Network projection | PROJECTION |
| Reach (ego) networks | REACH |
| Shortest path | SHORTESTPATH |
| Graph summary | SUMMARY |
| Topological sorting | TOPOLOGICALSORT |
| Transitive closure | TRANSITIVECLOSURE |
As input, the NETWORK procedure expects graph , which is defined over a set N of nodes and a set E of links. A node is an abstract representation of some entity (or object), and a link defines a relationship (or connection) between two nodes. The terms node and vertex are interchangeable in describing an entity. The term link is interchangeable with the term edge or arc in describing a connection. Similarly, the terms graph and network are interchangeable.