simu.RDPG {changepoints}R Documentation

Simulate a dot product graph (without change point).

Description

Simulate a dot product graph (without change point). The generated data is a matrix with each column corresponding to the vectorized adjacency (sub)matrix at a time point. For example, if the network matrix is required to be symmetric and without self-loop, only the strictly lower diagonal entries are considered.

Usage

simu.RDPG(x_mat, n, symm = TRUE, self = FALSE)

Arguments

x_mat

A numeric matrix representing the latent positions with horizontal axis being latent dimensions and vertical axis being nodes (each entry takes value in [0,1]).

n

A integer scalar representing the number of observations.

symm

A logic scalar indicating if adjacency matrices are required to be symmetric.

self

A logic scalar indicating if adjacency matrices are required to have self-loop.

Value

A list with the following structure:

obs_mat

A matrix, with each column be the vectorized adjacency (sub)matrix. For example, if "symm = TRUE" and "self = FALSE", only the strictly lower triangular matrix is considered.

graphon_mat

Underlying graphon matrix.

Author(s)

Haotian Xu

Examples

p = 20 # number of nodes
n = 50 # sample size for each segment
lat_dim_num = 5 # number of latent dimensions
set.seed(1)
x_mat = matrix(runif(p*lat_dim_num), nrow = p, ncol = lat_dim_num)
x_tilde_mat = matrix(runif(p*lat_dim_num), nrow = p, ncol = lat_dim_num)
y_mat = rbind(x_tilde_mat[1:floor(p/4),], x_mat[(floor(p/4)+1):p,])
rdpg1 = simu.RDPG(x_mat, n, symm = TRUE, self = FALSE)
rdpg2 = simu.RDPG(y_mat, n, symm = TRUE, self = FALSE)
data1_mat = rdpg1$obs_mat
data2_mat = rdpg2$obs_mat
data_mat = cbind(data1_mat, data2_mat)

[Package changepoints version 1.1.0 Index]