# A function to generate simulated networks from the General Temporal (GT) model

### Description

This function generates networks from the GT model, a generative temporal network model that includes many well-known models such as the Barabasi-Albert model or the fitness model as special cases. The number of edges of the new node at each time-step can be specified to be fixed, or followed a Poisson distribution. In the latter case, the mean of the Poisson distribution is either held fixed or increased with time.

### Usage

1 2 3 4 5 6 7 | ```
GenerateNet (
N=1000 , m = 1 , mode = c(1,2,3) , alpha = 1,
beta = 1 , sat_at = 100 , offset = 1 , rate = 0 ,
shape = 0 , mode_f = c("gamma") , num_seed = 2 , prob_m = FALSE ,
meanlog = 0 , sdlog = 1 , scale_pareto = 0.6,
shape_pareto = 2.5, increase = FALSE , multiple_node = 1, specific_start = NULL,
log = FALSE , custom_PA = NULL)
``` |

### Arguments

`N` |
Integer. Total number of nodes in the network (including the nodes in the seed graph). Default value is |

`m` |
Integer. The number of edges of the new node. Default value is |

`mode` |
Integer. Indicates the attachment function to be used in generating the network. If mode == 1, the attachment function is |

`alpha` |
Numeric. If mode == 1, this is the attachment exponent in the attachment function |

`beta` |
Numeric. This is the beta in the attachment function |

`sat_at` |
Integer. This is the saturation position sat_at in the attachment function |

`offset` |
Numeric. The attachment value of degree |

`rate` |
Numeric. The rate parameter in the Gamma prior for node fitness. If either rate or shape is |

`shape` |
Numeric. The shape parameter in the Gamma prior for node fitness. If either rate or shape is 0, node fitness |

`mode_f` |
String. Indicates the true distribution for node fitness. "gamma" = gamma distribution, "log_normal" = log-normal distribution. "power_law" = power-law (pareto) distribution. Default value is "gamma". |

`meanlog` |
Numeric. Mean of the log-normal distribution in log scale. Default value is |

`sdlog` |
Numeric. Standard deviation of the log-normal distribution in log scale. Default value is |

`scale_pareto` |
Numeric. The scale parameter of the Pareto distribution. Default value is |

`shape_pareto` |
Numeric. The shape parameter of the Pareto distribution. Default value is |

`num_seed` |
Integer. The number of nodes of the seed graph (the initial state of the network). Default value is |

`prob_m` |
Logical. Indicates whether we fix the number of edges of a new node as a constant, or let it follows a Poisson distribution. If prob_m == TRUE, the number of edges of a new node follows a Poisson distribution. The mean of this distribution depends on the value of increase and log. Default value is FALSE. |

`increase` |
Logical. Indicates whether we increase the mean of the Poisson distribution over time. If increase == FALSE, the mean is fixed at m. If increase == TRUE, the way the mean increases depends on the value of |

`multiple_node` |
Numeric. The number of new nodes at each time-step. Default value is |

`specific_start` |
Numeric. If |

`log` |
Logical. Indicates how to increase the mean of the Poisson distribution. If log == TRUE, the mean increases logarithmically with the number of current nodes. If log == FALSE, the mean increases linearly with the number of current nodes. Default value is FALSE. |

`custom_PA` |
Numeric vector. This is the user-input PA function. If |

### Value

The output is a List contains the following two fields:

`graph` |
a 3-column matrix, where each row contains information of one edge, in the form of (from_id, to_id, time_stamp). From_id is the id of the source, to_id is the id of the destination. |

`fitness` |
fitness values of nodes in the network. The name of each value is the ID of the node. |

### Author(s)

Thong Pham thongpham@thongpham.net

### References

1. Pham, T., Sheridan, P. & Shimodaira, H. (2016). Nonparametric Estimation of the Preferential Attachment Function in Complex Networks: Evidence of Deviations from Log Linearity, Proceedings of ECCS 2014, 141-153 (Springer International Publishing) (http://dx.doi.org/10.1007/978-3-319-29228-1_13).

2. Pham, T., Sheridan, P. & Shimodaira, H. (2015). PAFit: A Statistical Method for Measuring Preferential Attachment in Temporal Complex Networks. PLoS ONE 10(9): e0137796. doi:10.1371/journal.pone.0137796 (http://dx.doi.org/10.1371/journal.pone.0137796).

3. Pham, T., Sheridan, P. & Shimodaira, H. (2016). Joint Estimation of Preferential Attachment and Node Fitness in Growing Complex Networks. Scientific Reports 6, Article number: 32558. doi:10.1038/srep32558 (www.nature.com/articles/srep32558).

### Examples

1 2 3 | ```
library("PAFit")
#Generate a network from the original BA model with alpha = 1, N = 100, m = 1
data <- GenerateNet(N = 100,m = 1,mode = 1, alpha = 1, shape = 0, rate = 0)
``` |