Skip to content

Create a graphlet.null_model module for heterogeneous networks #6

@rjurney

Description

@rjurney

In order to determine whether a graphlet is a network motif, we need to compare its frequency versus a null model to determine if it is statistically significant. This means we need heterogeneous null models... and I can't find any libraries such as networkx that contain null models for heterogeneous networks.

Create a graphlet.null_model Module

We should create a module graphlet.null_model with networkx style generators that accept properties such as:

  • Total number of nodes of each node type
  • Summary of degrees of each edge type

Or whatever we find in the literature for various heterogeneous null models.

NetworkX Generators

While networkx Generators cover a range of randomly generated networks, they do not handle multiple types of nodes found in a property graph, also known as a heterogeneous network.

Literature Review

The null model of the heterogeneous networks refers to those network models that has the same set of types of nodes T, number of homogeneous nodes N, number of heterogeneous U, distribution of homogeneous node degree P(k) and distribution of heterogeneous node degree P(u) with the original network, while otherwise is taken to be an instance of the random network.

For each two types of the nodes, there is a distribution of heterogeneous node degree. Therefore, there are |T|2 − |T| distribution of heterogeneous node degree in a heterogeneous network, where T refers to the set of types of nodes.

Uses random walks - a Markov process - that considers the odds of walking across different edge types (source_type, dest_type) - reaches a steady state that incorporates homogeneous and heterogeneous degrees. Also includes modularity function using this null model.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions