NEWS | R Documentation |
NEWS file for the tergm
package
Changes in version 4.2.1
NEW FEATURES
-
In TERGM simulation, space for toggle history is now dynamically allocated; this is mainly visible in more efficient memory usage.
BUG FIXES
-
Calloc()
,Realloc()
, andFree()
C calls now use theirR_
-prefixed counterparts. -
tergm()
with CMLE fornetworkDynamic
now stops with an informative error message iftimes=
is not passed. -
Some corner cases in the discordant bounded-degree stratified TNT proposal have been fixed.
-
General documentation fixes and improvements.
OTHER USER-VISIBLE CHANGES
-
Error messages in TERGM MCMC sampling are now more informative.
Changes in version 4.2.0
NEW FEATURES
Operators
Form()
,Persist()
,Diss()
,Cross()
, andChange()
can now specify time-varying network-level covariates using the syntax ofN
.-
tergm()
now supports abasis=
argument likeergm()
does. -
tergm's functions now support networkLite objects in place of network objects.
BUG FIXES
-
tergm()
's term options are now propagated correctly. -
tergm's
simulate_formula.network()
no longer propagatesdynamic
argument onto the ergm's back-end whendynamic=FALSE
.
OTHER USER-VISIBLE CHANGES
-
tergm now relies on ergm.multi for much of its back-end.
Changes in version 4.1.1
BUG FIXES
-
networkDynamic
now handles dimnames more consistently.
OTHER USER-VISIBLE CHANGES
Documentation improvements.
Terms
edgecov.mean.age()
andedgecov.ages()
now handle their arguments more consistently withedgecov()
and stop with error if the network does not have the specified attribute.
DEPRECATED & DEFUNCT
-
stergm()
and related facilities have been deprecated. Some vestigial files have been removed.
Workaround storing
ergm::simulate_formula()
is no longer needed.
Changes in version 4.1.0
NEW FEATURES
Term documentation has been ported to the ergm 4.2 documentation API.
New term operator
EdgeAges
.Term and proposal keyword/concept
durational
is registered by tergm.
BUG FIXES
Fixes to handling of
networkDynamic
objects.Fixes to documentation URLs.
OTHER USER-VISIBLE CHANGES
Miscellaneous speed-ups.
Documentation for some arguments and control parameters is now more standardized and detailed.
Dissolution parameter estimation in the simple (EDApprox) case is a bit more accurate.
DEPRECATED & DEFUNCT
-
stergm()
has been deprecated in favor of [tergm()], whose special case it is. It, and its associated functions may be removed in a future release.
Changes in version 4.0.2
BUG FIXES
-
Fixes to acommodate
ergm
'sBDStratTNT
API changes (which were not as backwards-compatible as hoped). -
Better error checking in
simulate()
calls. -
Some memory leaks fixed.
OTHER USER-VISIBLE CHANGES
-
Cross()
operator term now labels its coefficient names as such.
Changes in version 4.0.1
NEW FEATURES
The package has undergone a major rewrite, making use of operator terms introduced in ergm 4.0 to facilitate model specification. See the “Conversions for tergm version 4.0” vignette for some examples.
-
stergm
has been superseded bytergm
, which can fit non-separable discrete temporal ERGMs as well as separable. In temporal estimation and simulation, operator terms
Form()
,Persist()
, andDiss()
can be used to specify STERGMs, withForm()
evaluating statistics on a post-formation network,Persist()
on post-dissolution (i.e., persistence) network, andDiss()
on the post-dissolution network, but with statistics negated for convenience.Change()
andCross()
can be used to specify models for changes (i.e., a “virtual” network that has edges where the previous network differs from the current one) and models for cross-section.-
NetSeries()
constructor can be used to specify network series for conditional estimation and simulation (thoughtergm
does it automatically for appropriate input). Constraints applied via
constraints=
argument fortergm()
andsimulate.tergm()
are now applied to the sampled or estimated networks rather than to formation and dissolution phases separately.Control parameters in tergm's functions can now be specified using
snctrl()
.
DEPRECATED & DEFUNCT
-
stergm
and its family of functions has been deprecated.
Changes in version 3.7.0
BUG FIXES
Durational terms
edges.ageinterval
(s_
function) andedgecov.mean.age
(s_
andd_
functions) had bugs fixed.A bug involving assumptions based on the first entry of the
lasttoggle
vector has been corrected.A number of broken links has been fixed.
OTHER USER-VISIBLE CHANGES
The package no longer (incorrectly) requires R 3.6.0 or the very-very latest version of
nlme
.Progress reports are now printed to
stderr
rather thanstdout
.
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
'seval.loglik=
argument's default can now be controlled by aoptions
-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
andstergm.mcmcslave
have been deprecatedin favor ofstergm_MCMC_sample
andstergm_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 ofstergm.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 byginv
.
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
andlibrary
calls with requireNamespace()Updated
CITATION
file to deal with CRAN check warnings (packageDescription
is no longer used).Added S3 method registration in
NAMESPACE
for all S3 functions.Handling of
networkDynamic
inputs has been improved.
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 theNAMESPACE
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 https://statnet.org/Workshops/tergm_tutorial.html 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 onsnow
package is removedAddition of bipartite formation and dissolution Metropolis-Hastings proposals
Addition of a TNT dissolution proposal constraint
Inclusion of a Stergm vignette
-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
IfNULL
(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 ofduration.dependent
parameter to control 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.
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
andsimulate.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
andsimulate.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
andsimulate.networkDynamic
have been removed and replaced with observation spells recorded as anet.obs.period
network attribute.-
MCMC.burnin
andMCMC.interval
arguments tocontrol.stergm
,control.simulate.network
, andcontrol.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 andedges
dissolution with only oneedges
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
, andedges.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 anetworkDynamic
, calculating statistics at discrete time points along the way.-
tergm
now implements a formula-basedsummary
method fornetworkDynamic
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
andcontrol.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 anetworkDynamic
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 thesimulate.stergm
and related functions has been deprecated in favor ofoutput
.
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.