| NEWS | R Documentation |
ergm packageThis is a technical bugfix release. There are no user-visible changes or changes in package behavior.
Suggestion dependency on
latentnet has been removed.
Parallel computing with PVM (via rpvm) has been
removed, since the package in question is no longer maintained.
A variety of fixes have been applied to make the package
comply with more stringent package standards. In particular,
ergm.update.formula no longer uses the “forbidden”
.Internal() call.
A number of miscellaneous R CMD check warnings have
been addressed.
Some nonstandard behavior exposed by changes in
R-devel has been addressed.
Some parallel capabilities had to be disabled in 3.0-1 due to R's handling of package environments. They have been reenabled.
Facilities for fitting and simulating Separable Temporal
ERGMs (STERGMs) of Krivitsky (2009) and, Krivitsky and Handcock
(2010) have been added. See stergm and
smulate.
ergm MCMLE will now test if the optimization
has converged to the MLE and stop if it detects convergence.
ergm Now checks if a constraint specified in
the constraints argument fixes any statistics in the
model (e.g., ergm(y~edges, constraints=~edges)). It issues a
warning, and fixes their parameters at 0.
simulate functions now take an argument
monitor, a one-sided formula for additional statistics to
be returned. This allows one to easily simulate from an
ergm or stergm fit statistics that
were not in the fitted model.
ergm can now optionally detect when a burn-in
is insufficient and retry it until it is sufficient. See
control.ergm argument MCMC.burnin.retries for
details.
ergm MCMLE now stores "history" of
θ and simulated statistics.
ergm extreme statistics detection (if
control.ergm(drop=TRUE)) can now detect both extremely high
and extremely low values, setting the coefficients to +Inf and
-Inf respectively. Direction of "dropping" is retruned.
An initial method "zeros" has been, to use a vector
of zeros as starting parameters.
A number of new ERGM terms have been added.
ergm, simulate,
and other functions now enforce a conceptual separation between
what to fit, which is controlled by arguments to the
function and how to fit it, which is controlled by the
control lists, generated by control.ergm and
control.simulate, respectively. (Old arguments for
ergm and simulate still work with a warning, and
they may be removed later.)
The data structure returned by
simulate is now a list of networks
with attr-style attributes describing how it was
generated. The list has print and summary methods, and it can be
used in the left-hand side of a
summary formula.
Matrices of sample statistics returned by ergm
are mcmc objects (or
mcmc.list objects, for parallel computing).
Arguments theta have been renamed to
coef. Arguments meanstats have been renamed to
target.stats. Many control parameters have also been
renamed and reorganized. (Old parameters still work with a
warning, and they may be removed later.)
A number of arguments to control.ergm,
control.simulate, and others, have been renamed.
ergm now uses bridge sampling evaluate the
log-likelihood by default. (Before, the default was to not
evaluate it.)
mcmc.diagnostics has been
rewritten:
Raftery-Lewis diagnostic has been replaced with several others, including tests of (non)convergence.
For fits with missing data, diagnostics for both the constrained and the unconstrained sample are printed and plotted.
Plots now use lattice graphics, if available.
Handling of networks with many edges has been improved somewhat.
The following control parameters have been removed or
renamed:
maxedges, prop.weights, prop.args,
packagename, summarizestats, nr.maxit,
nr.reltol, maxNumDyadTypes, maxedges,
steplength, initialfit, style,
obs.MCMCsamplesize, obs.interval, obs.burnin,
compress, metric, force.mcmc,
adaptive.trustregion, adaptive.epsilon,
mcmc.precision, method, MPLEtype,
check.degeneracy, maxMPLEsamplesize,
MPLEsamplesize, phase1_n, nsubphases,
RobMon.phase1n_base, RobMon.phase2n_base,
RobMon.phase2sub, RobMon.init_gain,
RobMon.phase3n, trustregion, stepMCMCsize,
steppingmaxit, gridsize, sequential,
returnMCMCstats, calc.mcmc.se, hessian,
prop.weights, prop.args, and packagenames.
The following arguments to functions have been moved to the
corresponding control functions, removed or renamed:
burnin, MCMCsamplesize, interval,
maxit, seed, and theta0.
Fixed some errors in log-likelihood calculation, especially in models with missing data and/or offset terms.
Parallel processing has been made more robust. In
particular, ergm now checks to make
sure that the version it finds on slave nodes is the same as the
version on the master. Also, although ergm will
start its own cluster as needed, it will also detect if an MPI
cluster has already been started and use that.
Several bugs relating to handling models with with offset terms have been fixed.
Miscellaneous robustification and bug fixes.
The "news" feature has been implemented. Type
news(package="ergm") to see the version's updates.
A function ergm.allstats was added to
calculate all possible network statistics for a given ERGM and
network. The number of possible networks grows on the order of 2^{n^2}, so this should only be used for small networks. Related function ergm.exact calculates exact log-likelihood for a particular canonical parameter and a particular ergm.
A cutoff argument has been added to specify maximum shared partner
count or degree to be evaluated to the following model terms:
gwb1degree, gwb2degree, gwdegree, gwdsp, gwesp, gwidegree, gwnsp,
gwodegree. This significantly speeds up fitting
curved ERGMs on large, sparse networks.
The logLik method for
ergm objects, with the attendant AIC
and BIC methods, has been implemented.
Calculation of loglikelihoods for MCMC-based ergm fits has
been reengineered to use bridge sampling for dyad-dependent
models. (See logLik.ergm,
ergm.bridge.llr, and
ergm.bridge.dindstart.llk.)
A generic function is.dyad.independent to test
whether an ERGM fit or formula is dyad-independent has been added.
A generic function fix.curved to convert
curved exponential family models to variants in which the curved
parameters are fixed has been added. See the function
documentation for usage scenarios.
A generic function enformulate function to
work around a current limitation in the ergm
function to substitute curved parameters from a model fit into the
model formula, allowing them to be used as initial values (the
theta0 argument). See the function documentation for usage
scenarios.
The following new models terms have been added: degcrossprod and degcor.
For version 2.4-3, a new dataset has been added: kapferer, the well-known
tailor shop network dataset of Kapferer (1972).
Log-likelihood calculation for dyad-dependent models has been fixed.
Some errors in estimating parameters in curved exponential family models have been fixed.
gof now automatically selects the
right goodness-of-fit statistics for the network type (directed
vs. undirected) given.
Bug in is.inCH in 2.4-2 fixed in 2.4-3.