qpClique               package:qpgraph               R Documentation

_C_o_m_p_l_e_x_i_t_y _o_f _t_h_e _r_e_s_u_l_t_i_n_g _q_p-_g_r_a_p_h_s

_D_e_s_c_r_i_p_t_i_o_n:

     Calculates and plots the size of the largest maximal clique (the
     so-called clique number or maximum clique size) as function of the
     non-rejection rate.

_U_s_a_g_e:

     qpClique(nrrMatrix, N=NA, threshold.lim=c(0,1), breaks=5, plot=TRUE,
              exact.calculation=TRUE, approx.iter=100,
              qpCliqueOutput=NULL, density.digits=0,
              logscale.clqsize=FALSE,
              titleclq="maximum clique size as function of threshold",
              verbose=FALSE)

_A_r_g_u_m_e_n_t_s:

nrrMatrix: matrix of non-rejection rates.

       N: number of observations from where the non-rejection rates
          were estimated.

threshold.lim: range of threshold values on the non-rejection rate.

  breaks: either a number of threshold bins or a vector of threshold
          breakpoints.

    plot: logical; if TRUE makes a plot of the result; if FALSE it does
          not.

exact.calculation: logical; if TRUE then the exact clique number is
          calculated; if FALSE then a lower bound is given instead.

approx.iter: number of iterations to be employed in the calculation of
          the lower bound (i.e., only applies when
          'exact.calculation=FALSE').

qpCliqueOutput: output from a previous call to 'qpClique'. This allows
          one to plot the result changing some of the plotting
          parameters without having to do the calculation again.

density.digits: number of digits in the reported graph densities.

logscale.clqsize: logical; if TRUE then the scale for the maximum
          clique size is logarithmic which is useful when working with
          more than 1000 variables; FALSE otherwise (default).

titleclq: main title to be shown in the plot.

 verbose: show progress on calculations.

_D_e_t_a_i_l_s:

     The estimate of the complexity of the resulting qp-graphs is
     calculated as the area enclosed under the curve of maximum clique
     sizes.

     The maximum clique size, or clique number, is obtained by calling
     the function 'qpCliqueNumber' The calculation of the clique number
     of an undirected graph is an NP-complete problem which means that
     its computational cost is bounded by an exponential running time
     (Pardalos and Xue, 1994). Therefore, giving breakpoints between
     0.95 and 1.0 may result into very dense graphs which can lead to
     extremely long execution times. If it is necessary to look at that
     range of breakpoints it is recommended either to use the lower
     bound on the clique number ('exact.calculation=FALSE') or to look
     at 'qpGraphDensity'.

_V_a_l_u_e:

     A list with the maximum clique size and graph density as function
     of threshold, an estimate of the complexity of the resulting
     qp-graphs across the thresholds, the threshold on the
     non-rejection rate that provides a maximum clique size strictly
     smaller than the sample size N and the resulting maximum clique
     size.

_A_u_t_h_o_r(_s):

     R. Castelo and A. Roverato

_R_e_f_e_r_e_n_c_e_s:

     Castelo, R. and Roverato, A. A robust procedure for Gaussian
     graphical model search from microarray data with p larger than n.
     _J. Mach. Learn. Res._, 7:2621-2650, 2006.

     Pardalos, P.M. and Xue, J. The maximum clique problem. _J. Global
     Optim._, 4:301-328, 1994.

_S_e_e _A_l_s_o:

     'qpCliqueNumber' 'qpGraphDensity'

_E_x_a_m_p_l_e_s:

     nVar <- 50 # number of variables
     maxCon <- 5  # maximum connectivity per variable
     nObs <- 30 # number of observations to simulate

     I <- qpRndGraph(n.vtx=nVar, n.bd=maxCon)
     K <- qpI2K(I)

     X <- qpSampleMvnorm(K, nObs)

     # the higher the q the less complex the qp-graph

     nrr.estimates <- qpNrr(X, q=1, verbose=FALSE)

     qpClique(nrr.estimates, plot=FALSE)$complexity

     nrr.estimates <- qpNrr(X, q=5, verbose=FALSE)

     qpClique(nrr.estimates, plot=FALSE)$complexity

