Auxiliary function as user interface for fine-tuning simulated annealing algorithm.
control.san(
SAN.maxit = 4,
SAN.tau = 1,
SAN.invcov = NULL,
SAN.invcov.diag = FALSE,
SAN.nsteps.alloc = function(nsim) 2^seq_len(nsim),
SAN.nsteps = 2^19,
SAN.samplesize = 2^12,
SAN.init.maxedges = 20000,
SAN.max.maxedges = 2^26,
SAN.prop.weights = "default",
SAN.prop.args = list(),
SAN.packagenames = c(),
SAN.ignore.finite.offsets = TRUE,
term.options = list(),
seed = NULL,
parallel = 0,
parallel.type = NULL,
parallel.version.check = TRUE
)
Number of temperature levels to use.
Tuning parameter, specifying the temperature of the
process during the penultimate iteration. (During the last
iteration, the temperature is set to 0, resulting in a greedy
search, and during the previous iterations, the temperature is
set to SAN.tau*(iterations left after this one)
.
Initial inverse covariance matrix used to
calculate Mahalanobis distance in determining how far a proposed
MCMC move is from the target.stats
vector. If NULL
,
initially set to the identity matrix, then during subsequent runs
estimated empirically.
Whether to only use the diagonal of the covariance matrix. It seems to work better in practice.
Either a numeric vector or a function of the number of runs giving a sequence of relative lengths of simulated annealing runs.
Number of MCMC proposals for all the annealing runs combined.
Number of realisations' statistics to obtain for tuning purposes.
Maximum number of edges expected in network.
Hard upper bound on the number of edges in the network.
Specifies the proposal
distribution used in the SAN Metropolis-Hastings algorithm. Possible
choices depending on selected reference
and constraints
arguments of the ergm()
function, but often include "TNT"
and "random"
, and the "default"
is to use the one with the
highest priority available.
The TNT
(tie / no tie) option puts roughly equal weight on selecting
a dyad with or without a tie as a candidate for toggling, whereas the
random
option puts equal weight on all possible dyads, though the
interpretation of random
may change according to the constraints in
place. When no constraints are in place, the default is TNT, which appears
to improve Markov chain mixing particularly for networks with a low edge
density, as is typical of many realistic social networks.
An alternative, direct way of specifying additional arguments to proposal.
Names of packages in which to look for change statistic functions in addition to those autodetected. This argument should not be needed outside of very strange setups.
Whether SAN should ignore (treat as 0) finite offsets.
A list of additional arguments to be passed to term initializers. It can also be set globally via option(ergm.term=list(...))
.
Seed value (integer) for the random number generator. See
set.seed
.
Number of threads in which to run the sampling. Defaults to 0 (no parallelism). See the entry on parallel processing for details and troubleshooting.
API to use for parallel processing. Supported values
are "MPI"
and "PSOCK"
. Defaults to using the parallel
package with PSOCK clusters. See ergm-parallel
Logical: If TRUE, check that the version of
ergm
running on the slave nodes is the same as
that running on the master node.
A list with arguments as components.
This function is only used within a call to the san
function.
See the usage
section in san
for details.