The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
A performance and flexibility release. The user-facing API of Bergm 5 is preserved (same functions, arguments and returned elements); new behaviour is opt-in through new arguments, except where noted under “Changed defaults”.
bergm() / bergmM(): every auxiliary
network is drawn by one call to ergm compiled sampler
on a network state built once per fit, instead of going through
ergm_MCMC_sample(); the Gaussian prior uses a cached
Cholesky factor and proposal noise is drawn in blocks.bergmC(): the pseudo-posterior is sampled by a compiled
random-walk Metropolis kernel, and the posterior mode is located by a
Newton-type stochastic approximation with a warm-started auxiliary chain
(map.method = "newton", default), which converges in about
ten iterations (instead of hundreds of Robbins-Monro steps).evidenceCJ() / evidencePP(): compiled
sampling of the (tempered) adjusted pseudo-posteriors and compiled,
vectorised evaluation of the adjusted pseudolikelihood and its gradient
for the estimators and the zero-variance control variates.ergmAPL(): bridge sampling from the dyad-independent
submodel needs far fewer simulated networks.bgof(): goodness-of-fit statistics are monitored inside
ergm sampler with optional parallel simulation
(cores).bergmM(): imputation steps act directly on compiled
network states instead of rebuilding networks and models with
simulate().bergm(): parallel chains (cores), burn-in
adaptation of the ADS move factor (adapt,
target.accept), delayed acceptance with a Gaussian
surrogate fitted on the burn-in population
(delayed.acceptance, da.inflate), user-defined
priors (log.prior, e.g. truncated or heavy-tailed priors),
reproducible runs (seed), and ... forwarded to
control.simulate.formula() to choose the network
proposal.gwesp(fixed = FALSE)) and
one-parameter models are now supported by bergm() and
bergmM().*.decay,
altkstar.lambda) are sampled on the log scale, so they are
always positive, with a log-normal prior set by the new argument
prior.decay (default meanlog = log(0.5),
sdlog = 0.75). prior.mean and
prior.sigma apply to the other parameters and can be given
for all parameters (decay entries ignored) or for the non-decay ones
only. A custom log.prior receives the decay on its natural
scale and the Jacobian of the log transformation is added
automatically.bergm()/bergmM() set ergm’s
gw.cutoff term option to n - 2 (at most
1000) unless it is given through term.options, so
geometrically weighted statistics are exact for every simulated network.
With the default cut-off of 30, a proposal in a near-degenerate region
could make the auxiliary simulation stop with an error, and a chain that
reached such a region could not leave it. Any remaining simulation that
exceeds an ergm limit counts as a rejected proposal; the number is
reported in $n.failed, with a warning.$chains, an
mcmc.list), per-chain acceptance rates, potential scale
reduction factors ($Rhat, also shown by
summary()) and the number of simulated networks
($n.sims).print(), coef(),
vcov(), as.mcmc(), as.mcmc.list()
and simulate() (posterior predictive networks or
statistics) for bergm objects; print() and
plot() for bgof objects; print()
for ergmAPL objects.ergmAPL() returns an ergmAPL object that
can be reused by evidenceCJ() / evidencePP()
through their new apl argument, e.g. to compare evidence
estimators without recomputing the adjustment. It also accepts a
precomputed MLE (mle).bgof() additionally returns the posterior predictive
distribution of the model statistics with p-values, and plotting can be
turned off (plot = FALSE).prior.sigma and V.proposal accept a
scalar, a vector (diagonal) or a matrix.plot() and bgof() draw in grayscale:
chains in shades of gray, observed statistics as a thick black line,
5%/95% posterior predictive bands dashed.bergm(): delayed.acceptance = TRUE. With a
burn-in shorter than 10 iterations it is switched off silently; set
delayed.acceptance = FALSE for the Bergm 5 kernel.bergm()/bergmM():
adapt = TRUE (the move factor gamma is tuned
during burn-in only), chains start overdispersed around the MPLE using
its covariance, cut.reject = FALSE and, for
bergmM(), imputeAllItr = TRUE. Set
adapt = FALSE to reproduce the Bergm 5 sampler kernel.bergmC(): map.method = "newton"; use
map.method = "rm" for the Bergm 5 Robbins-Monro
recursion.MCMCpack, mvtnorm,
matrixcalc, Matrix, Rglpk,
statnet.common and stringr are no longer
needed; Rcpp is used for the compiled kernels.These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.