NEWS file for the tergm package

Changes in version 3.6.1

OTHER USER-VISIBLE CHANGES

The package no longer (incorrectly) requires R 3.6.0 or the very-very latest version of nlme.

Changes in version 3.6.0

NEW FEATURES

Compatibility with ergm 3.10 API changes.

Optimizations to make use of ergm 3.10 APIs and parallel facilities.

Improved utilization of san.

stergm's eval.loglik= argument's default can now be controlled by a options-style option.

BUG FIXES

Miscellaneous compiler warnings fixed.

Changes in version 3.5.2

NEW FEATURES

Compatibility with ergm
3.9 API changes.

BUG FIXES

Documentation fixes.

A number of methods are no longer called directly but
through generics.

DEPRECATED & DEFUNCT

stergm.getMCMCsample and
stergm.mcmcslave have been deprecatedin favor of
stergm_MCMC_sample and
stergm_MCMC_slave, respectively.

Changes in version 3.4.1

NEW FEATURES

Development has been migrated to GitHub.

BUG FIXES

Constraint violations in dynamic MCMC are now handled
correctly.

Native C routine registration has been added.

OTHER USER-VISIBLE CHANGES

By request from Sam Jennes,
stergm.getMCMCsample.slave has been split out of
stergm.getMCMCsample and exported.

Changes in version 3.4.0

BUG FIXES

Miscellaneous bugfixes.

The list of functions exported is now explicitly defined.

robust.inverse has been replaced by
ginv.

Changes in version 3.3.1

NEW FEATURES

STERGM conditional MLE can now be fit to series of more
than two bipartite networks. (Previously, for bipartite networks,
only a series of two (i.e., one transition) could be fit.)

BUG FIXES

Miscellaneous CMLE bug fixes.

Some low-priority warnings are no longer printed by
default.

A bug in formation TNT proposals has been fixed. The only
analyses that may be affected are those on tiny (about 8 nodes) or
extremely dense (i.e., high probability of a complete graph)
networks.

Changes in version 3.3

NEW FEATURES

A new control parameter, SA.par.eff.pow, now controls the degree to which the magnitude of the gradient afects the rescaling of the estimating functions (see help): higher means that "stronger" parameters effectively get lower gain, making the optimization more stable.

Running with verbose=TRUE now prints gc output periodically.

Most durational functions can now take a binary option log=, which will result in them using log-ages instead of raw ages. (In a discrete-time model, there are no 0-age ties, so log transformation is safe.)

tergm.godfather example now tests for a few more terms, degrange ages in particular.

Implemented reference to MH_listTNT in applicable constraints in tergm as well.

Durational statistics can now take NULL as their "role", disabling role testing.

BUG FIXES

Running STERGM EGMME with parallel > 0 no longer causes it to eat up all the memory.

Namespace prefixing has been added to some functions called
from external packages to deal with CRAN check warnings, replaced
require and library calls with
requireNamespace()

OTHER USER-VISIBLE CHANGES

Changed CMLE MCMC default parameters to match those of ergm.

Additions and corrections to documentation

Most formerly undocumented 'internal' functions have been made internal by the NAMESPACE. As far as we know, this avoids functions in use by reverse-Depending packages. These currently appear as commented items in the NAMESPACE file.

Changes in version 3.2.4

BUG FIXES

Some potential memory issues revealed by Valgrind have been fixed.

Changes in version 3.2

NEW FEATURES

Speed improvements. Internal data handling has been modified to avoid allocating (and passing around) a large matrix of tie ages unless the formula/model explicitly requires tie duration information. This increases speed of model initialization, which is especially helpful when simulating a network where the model must be re-initialized at each timestep (i.e. models with vital dynamics).

Simplified specification of offset values in formation model, when using stergm.EGMME with target statistics. Edges dissolution approximation is used to initialize the coefficients for estimation when there is an offset. See http://statnet.csde.washington.edu/trac/wiki/tergmUsage for examples.

Offset terms in the target formula are automatically removed. This includes the case where the target is set equal to formation: targets = "formation"

The simulate.networkDynamic and related function now make use of networkDynamics persistant id (PID) functionality. If the network does not have any persistent.ids defined for vertices, a vertex.pid will be attached in a vertex attribute named 'tergm_pid' to facilitate 'bookkeeping' between the networkDynamic argument and the simulated network time step.

Parallel functionality: tergm can take user-created clusters as the control.stergm(parallel) control parameter. This is the recommended method for using tergm on a high-performance computing cluster. See ergm-parallel. Functionality is now implemented via the parallel package, direct dependence on snow package is removed

-Inf offsets are recoded to a large negative number to be compatible with C code. The fitted coefficients will show the large negative number instead of the -Inf offset.

BUG FIXES

Namespace prefixing has been added to some functions called from external packages to deal with CRAN check warnings

Bug fix where stergm constraints were not being passed from all the way down into san

OTHER USER-VISIBLE CHANGES

Changes to control.stergm parameters:

init.method If NULL (the default), the initial values
are computed using the edges dissolution approximation (Carnegie et al.) when appropriate.
If set to "zeros", the initial values are set to zeros.

SA.oh.memory = 100000 Absolute maximum number of data points per thread to store in the full optimization history.

Changes to simulate.stergm parameters: addition of duration.dependent parameter: Logical: Whether the model terms in formula or model are duration dependent. E.g., if a duration-dependent term is used in estimation/simulation model, the probability of forming or dissolving a tie may dependent on the age the dyad status. If TRUE, the matrix of tie ages will be allocated.

Changes in version 3.1.3

BUG FIXES

Some Metropolis-Hastings proposal functions would sometimes
return incorrect acceptance probabilities when combined with the
bd constraint. This has been
fixed.

In simulate.networkDynamic, an error in which
vertices were queried and updated in the simulation has been
fixed.

OTHER USER-VISIBLE CHANGES

simulate.networkDynamic and
simulate.network functions now take an additional
argument, time.offset. See help for those functions for
details.

Changes in version 3.1.2

NEW FEATURES

The Tie-NonTie (TNT) proposal has been implemented for
dissolution phase models. This should improve mixing and inference
for these models.

stergm and simulate.stergm now determine the
number of Metropolis-Hastings steps per time step adaptively,
stopping when the formation/dissolution process appears to have
converged.

DEPRECATED & DEFUNCT

The previously deprecated start and end attr values attached
to networks returned by simulate.network and
simulate.networkDynamic have been removed and
replaced with observation spells recorded as a
net.obs.period network attribute.

MCMC.burnin and MCMC.interval arguments to
control.stergm, control.simulate.network, and
control.simulate.stergm have been replaced by a different
mechanism. See the help for the respective control functions for
more information.

BUG FIXES

No longer generates deprecation warnings about start and end
attrs when various internal functions use as.data.frame. Resolved
by replacing start and end with a net.obs.period
object.

A bug in the check for whether terms were amenable to being
fit using STERGM CMLE for multiple transitions has been fixed.

Some minor documentation typos have been fixed.

Changes in version 3.1.1

Version 3.1.1 has been skipped to ease upgrading for those using a
preview release.

Changes in version 3.1

THIS IS AN INITIAL RELEASE

This package consists of the dynamic network modeling code that has been
split out of the ergm package.

Changes listed in the following sections are relative to
ergm version 3.0.

NEW FEATURES

Although fitting the EGMME for dissolution was possible
before, it was impractical due to nonidentifiability: for example,
one cannot fit both edges formation and
edges dissolution with only one edges
target statistic. Four new statistics have been added and
documented that focus on targeting observed and hazard:
mean.age, edgecov.mean.age,
degree.mean.age, degrange.mean.age,
edge.ages, edgecov.ages, and
edges.ageinterval. This allow jointly fitting
formation and dissolution.

In addition to the progress plot, EGMME fitting routines can
now plot the estimated gradient matrix and the matrix of
correlations among the target statistics.

EGMME fitting is now more adaptive when determining when to
stop the optimization and return the result.

EGMME fitting can now take advantage of multiple CPUs,
cores, or cluster nodes for faster and more robust fitting.

EGMME and CMLE fitting can now accommodate a
constraints argument. However, note that the constraints
apply to post-formation (y^+=y^0\cup\y^1) and
post-dissolution (y^-=y^0\cap\y^1) networks, not to the
final network (y^1). This may change in the future.

CMLE can now be fit to more than two networks. (Not all ERGM
terms and constraints can be used in this mode, however.)

A new (sort of) function, tergm.godfather has
been fixed and documented; it can be used to apply a specific set
of changes to a network, returning statistics of interest as it
evolves. In particular, it can be used to “retrace” the evolution
of a networkDynamic, calculating statistics at
discrete time points along the way.

tergm now implements a
formula-based summary
method for networkDynamic LHS, to compute dynamic
network statistics at specified time points.

Fitting CMLE to network series with transitioned-from
networks having missing dyads is now possible, using automatic
imputation. See impute.network.list and
control.tergm.

STERGM simulate can now be used
for CMLE fits, takes a number of new arguments, and can be used to
“resume” a simulation from a networkDynamic
object.

gof methods have been implemented for CMLE fits.

OTHER USER-VISIBLE CHANGES

stergm EGMME initial fitting code has been
vastly improved.

The EGMME fitting algorithm has been vastly improved and is
now a lot more adaptive and able to recover from problems. Many
bugs have also been fixed.

DEPRECATED & DEFUNCT

A number of control.stergm parameters had been
renamed and otherwise changed.

Argument statsonly to the
simulate.stergm and related functions has been
deprecated in favor of output.

BUG FIXES

The conditional MPLE (CMPLE) for formation and dissolution
is now fit correctly. This also means that the starting values for
the CMLE are much better.

Bugs in EGMME code related to handling of bipartite networks
have been fixed.