Learn R Programming

GGMselect (version 0.1-12.7)

selectQE: Estimate a graph in a Gaussian Graphical Model: Quasi Exhaustive search

Description

Select a graph within the family of graphs QE

Usage

selectQE(X, dmax=min(3,nrow(X)-3,ncol(X)-1), K=2.5,
   min.ev=10**(-8), max.iter=10**6, max.nG=10**8, max.size=10**8,
   verbose=FALSE)

Value

Neighb

array of dimension p x max(dmax) x length(K) or, when length(K) equals 1, matrix of dimension p x max(dmax). Neighb[a, , k ] contains the indices of the nodes connected to node a for K[k].

crit.min

vector of dimension length(K). The minimal values of the selection criterion for each value of K.

G

array of dimension p x p x length(K) or, when length(K) equals 1, matrix of dimension p x p. G[,,k] gives the adjacency matrix for K[k].

Arguments

X

n x p matrix where n is the sample size and p the number of variables. n should be greater than 3 and p greater than 1.

dmax

integer or p-dimensional vector of integers smaller or equal to min(n-3, p-1). When dmax is a scalar, it gives the maximum degree of the estimated graph. When dmax is a vector, dmax[a] gives the maximum degree of the node a.

K

scalar or vector with values greater than 1. Tuning parameter in the penalty function.

min.ev

minimum eigenvalue for matrix inversion.

max.iter

integer. Maximum number of stepwise iterations.

max.nG

integer. Maximum number of graphs considered in the exhaustive search. Stepwise procedure beyond.

max.size

integer. Maximum number of calculations of the residuals sums of squares. Execution stopped beyond.

verbose

logical. If TRUE a trace of the current process is displayed in real time.

Author

Bouvier A, Giraud C, Huet S, Verzelen N.

Details

More details are available on ../doc/Notice.pdf

References

Please use citation("GGMselect").

See Also

selectFast, selectMyFam, simulateGraph, penalty, convertGraph

Examples

Run this code
p=30
n=30
# simulate graph
eta=0.11
Gr <- simulateGraph(p,eta)
# simulate data
X <- rmvnorm(n, mean=rep(0,p), sigma=Gr$C)
# estimate graph
if (FALSE) GQE <- selectQE(X)

# plot the result
if (FALSE) library(network)
if (FALSE) par(mfrow=c(1,2))
if (FALSE) gV <- network(Gr$G)
if (FALSE) plot(gV,jitter=TRUE, usearrows = FALSE, label=1:p,displaylabels=TRUE)
if (FALSE) gQE <- network(GQE$G)
if (FALSE) plot(gQE, jitter=TRUE, usearrows = FALSE,  label=1:p,displaylabels=TRUE)

Run the code above in your browser using DataLab