make_Null_canonical {netcom}R Documentation

Mechanism Null Distributions

Description

Creates a null distribution for a mechanism and parameter combination.

Usage

make_Null_canonical(
  input_network,
  net_kind,
  process,
  parameter,
  net_size,
  iters,
  method,
  neighborhood,
  DD_kind,
  DD_weight,
  directed,
  resolution_min = 0.01,
  resolution_max = 0.99,
  power_max = 5,
  connectance_max = 0.5,
  divergence_max = 0.5,
  best_fit_sd = 0,
  cores = 1,
  size_different = FALSE,
  cause_orientation = "row",
  max_norm = FALSE,
  verbose = FALSE
)

Arguments

input_network

The network for which to create a null distribution.

net_kind

If the network is an adjacency matrix ("matrix") or an edge list ("list"). Defaults to "matrix".

process

Name of mechanism. Currently only "ER", "PA", "DD", "DM" "SW", and "NM" are supported. Future versions will accept user-defined network-generating functions and associated parameters. ER = Erdos-Renyi random. PA = Preferential Attachment. DD = Duplication and Divergence. DM = Duplication and Mutation. SW = Small World. NM = Niche Model.

parameter

Parameter in the governing mechanism.

net_size

Number of nodes in the network.

iters

Number of replicates in the null distribution. Note that length(null_dist) = ((iters^2)-iters)/2.

method

This determines the method used to compare networks at the heart of the classification. Currently "DD" (Degree Distribution) and "align" (the align function which compares networks by the entropy of diffusion on them) are supported. Future versions will allow user-defined methods.

neighborhood

The range of nodes that form connected communities. Note: This implementation results in overlap of communities.

DD_kind

A vector of network properties to be used to compare networks.

DD_weight

A vector of weights for the relative importance of the network properties in DD_kind being used to compare networks. Should be the same length as DD_kind.

directed

Whether the target network is directed.

resolution_min

The minimum parameter value to consider. Zero is not used because in many processes it results in degenerate systems (e.g. entirely unconnected networks). Currently process agnostic. Future versions will accept a vector of values, one for each process. Defaults to 0.01.

resolution_max

The maximum parameter value to consider. One is not used because in many processes it results in degenerate systems (e.g. entirely connected networks). Currently process agnostic. Future versions will accept a vector of values, one for each process. Defaults to 0.99.

power_max

Defaults to 5. The maximum power of attachment in the Preferential Attachment process (PA).

connectance_max

Defaults to 0.5. The maximum connectance parameter for the Niche Model.

divergence_max

Defaults to 0.5. The maximum divergence parameter for the Duplication and Divergence/Mutation mechanisms.

best_fit_sd

Defaults to 0.01. Standard Deviation used to simulate networks with a similar but not identical best fit parameter. This is important because simulating networks with the identical parameter artificially inflates the false negative rate by assuming the best fit parameter is the true parameter. For large resolution and reps values this will become true, but also computationally intractable for realistically large systems.

cores

Defaults to 1. The number of cores to run the classification on. When set to 1 parallelization will be ignored.

size_different

If there is a difference in the size of the networks used in the null distribution. Defaults to FALSE.

cause_orientation

The orientation of directed adjacency matrices. Defaults to "row".

max_norm

Binary variable indicating if each network property should be normalized so its max value (if a node-level property) is one. Defaults to FALSE.

verbose

Defaults to FALSE. Whether to print all messages.

Details

Produces ground-truthing network data.

Value

A list. The first element contains the networks. The second contains their corresponding parameters.

References

Langendorf, R. E., & Burgess, M. G. (2020). Empirically Classifying Network Mechanisms. arXiv preprint arXiv:2012.15863.

Examples

# Import netcom
library(netcom)

make_Systematic(net_size = 10)


[Package netcom version 2.1.7 Index]