R: Auxiliary for Controlling SAN

control.san {ergm} | R Documentation

## Auxiliary for Controlling SAN

### Description

Auxiliary function as user interface for fine-tuning simulated annealing algorithm.

### Usage

    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.prop = trim_env(~sparse),
      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,
      parallel.inherit.MT = FALSE
    )

### Arguments

`SAN.maxit` | Number of temperature levels to use.
`SAN.tau` | 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)`.
`SAN.invcov` | 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. In either case, during subsequent runs, it is estimated empirically.
`SAN.invcov.diag` | Whether to only use the diagonal of the covariance matrix. It seems to work better in practice.
`SAN.nsteps.alloc` | Either a numeric vector or a function of the number of runs giving a sequence of relative lengths of simulated annealing runs.
`SAN.nsteps` | Number of MCMC proposals for all the annealing runs combined.
`SAN.samplesize` | Number of realisations' statistics to obtain for tuning purposes.
`SAN.prop` | Specifies the proposal (directly) and/or a series of "hints" about the structure of the model being sampled. The specification is in the form of a one-sided formula with hints separated by `+` operations. If the LHS exists and is a string, the proposal to be used is selected directly. A common and default "hint" is `~sparse`, indicating that the network is sparse and that the sample should put roughly equal weight on selecting a dyad with or without a tie as a candidate for toggling.
`SAN.prop.weights` | 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.
`SAN.prop.args` | An alternative, direct way of specifying additional arguments to proposal.
`SAN.packagenames` | 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.
`SAN.ignore.finite.offsets` | Whether SAN should ignore (treat as 0) finite offsets.
`term.options` | A list of additional arguments to be passed to term initializers. See `? term.options`.
`seed` | Seed value (integer) for the random number generator. See `set.seed`.
`parallel` | Number of threads in which to run the sampling. Defaults to 0 (no parallelism). See the entry on parallel processing for details and troubleshooting.
`parallel.type` | API to use for parallel processing. Supported values are `"MPI"` and `"PSOCK"`. Defaults to using the `parallel` package with PSOCK clusters. See `ergm-parallel`
`parallel.version.check` | Logical: If TRUE, check that the version of `ergm` running on the slave nodes is the same as that running on the master node.
`parallel.inherit.MT` | Logical: If TRUE, slave nodes and processes inherit the `set.MT_terms()` setting.

### Details

This function is only used within a call to the `san` function. See the `usage` section in `san` for details.

### Value

A list with arguments as components.

### See Also

`san`

[Package ergm version 4.2.2 Index]