NetworkStatic: Degree-corrected multilinear tensor model

View source: R/NetworkStatic.R

NetworkStaticR Documentation

Degree-corrected multilinear tensor model

Description

NetworkStatic implements a degree-corrected Bayesian multilinear tensor decomposition method

Usage

NetworkStatic(
  Y,
  R = 2,
  mcmc = 100,
  burnin = 100,
  verbose = 0,
  thin = 1,
  reduce.mcmc = NULL,
  degree.normal = "eigen",
  UL.Normal = "Orthonormal",
  plotUU = FALSE,
  plotZ = FALSE,
  constant = FALSE,
  b0 = 0,
  B0 = 1,
  c0 = NULL,
  d0 = NULL,
  u0 = NULL,
  u1 = NULL,
  v0 = NULL,
  v1 = NULL,
  marginal = FALSE,
  DIC = FALSE,
  Waic = FALSE
)

Arguments

Y

Reponse tensor

R

Dimension of latent space. The default is 2.

mcmc

The number of MCMC iterations after burnin.

burnin

The number of burn-in iterations for the sampler.

verbose

A switch which determines whether or not the progress of the sampler is printed to the screen. If verbose is greater than 0 the iteration number, the β vector, and the error variance are printed to the screen every verboseth iteration.

thin

The thinning interval used in the simulation. The number of MCMC iterations must be divisible by this value.

reduce.mcmc

The number of reduced MCMC iterations for marginal likelihood computations. If reduce.mcmc = NULL, mcmc/thin is used.

degree.normal

A null model for degree correction. Users can choose "NULL", "eigen" or "Lsym." "NULL" is no degree correction. "eigen" is a principal eigen-matrix consisting of the first eigenvalue and the corresponding eigenvector. " Lsym" is a modularity matrix. Default is "eigen."

UL.Normal

Transformation of sampled U. Users can choose "NULL", "Normal" or "Orthonormal." "NULL" is no normalization. "Normal" is the standard normalization. "Orthonormal" is the Gram-Schmidt orthgonalization. Default is "NULL."

plotUU

If plotUU = TRUE and verbose > 0, then the plot of the latent space will be printed to the screen at every verboseth iteration. The default is plotUU = FALSE.

plotZ

If plotZ = TRUE and verbose > 0, then the plot of the degree-corrected input matrix will be printed to the screen with the sampled mean values at every verboseth iteration. The default is plotUU = FALSE.

constant

If constant = TRUE, constant parameter is sampled and saved in the output as attribute bmat. Default is constant = FALSE.

b0

The prior mean of β. This must be a scalar. The default value is 0.

B0

The prior variance of β. This must be a scalar. The default value is 1.

c0

= 0.1

d0

= 0.1

u0

u_0/2 is the shape parameter for the inverse Gamma prior on variance parameters for U. The default is 10.

u1

u_1/2 is the scale parameter for the inverse Gamma prior on variance parameters for U. The default is 1.

v0

v_0/2 is the shape parameter for the inverse Gamma prior on variance parameters for V. The default is 10.

v1

v_1/2 is the scale parameter for the inverse Gamma prior on variance parameters for V. The default is the time length of Y.

marginal

If marginal = TRUE, the log marignal likelihood is computed using the method of Chib (1995).

DIC

If DIC = TRUE, the deviation information criterion is computed.

Waic

If Waic = TRUE, the Watanabe information criterion is computed.

Value

An mcmc object that contains the posterior sample. This object can be summarized by functions provided by the coda package. The object contains an attribute Waic.out that contains results of WAIC and the log-marginal likelihood of the model (logmarglike).

References

Jong Hee Park and Yunkyun Sohn. 2020. "Detecting Structural Change in Longitudinal Network Data." Bayesian Analysis. Vol.15, No.1, pp.133-157.

Peter D. Hoff 2011. "Hierarchical Multilinear Models for Multiway Data." Computational Statistics \& Data Analysis. 55: 530-543.

Sumio Watanabe. 2010. "Asymptotic equivalence of Bayes cross validation and widely applicable information criterion in singular learning theory." Journal of Machine Learning Research. 11: 3571-3594. Siddhartha Chib. 1995. “Marginal Likelihood from the Gibbs Output.” Journal of the American Statistical Association. 90: 1313-1321.

See Also

NetworkChange

Examples


   ## Not run: 
   set.seed(1973)

   \## generate an array with three constant blocks
   Y <- MakeBlockNetworkChange(n=10, shape=10, T=10, type ="constant")
   G <- 100 ## Small mcmc scans to save time
   out0 <- NetworkStatic(Y, R=2, mcmc=G, burnin=G, verbose=G)

   \## recovered latent blocks
   Kmeans(out0, n.cluster=3, main="Recovered Blocks")

   \## contour plot of latent node positions
   plotContour(out0)

   \## plot latent node positions
   plotU(out0)

   \## plot layer-specific network connection rules
   plotV(out0)
   
## End(Not run)


NetworkChange documentation built on March 18, 2022, 7:52 p.m.