| ergm-terms {tergm} | R Documentation |
The terms described here are unique to temporal networks: each summarizes some type of change or durational information.
The operator terms include: Form(), Persist(), Diss(),
Cross() and Change(). These are used to specify how the
ergm-terms in a formula are evaluated across a network
time-series. Note, you cannot use an operator within another operator, so
Cross(~Form(~edges)) is not a valid specification.
The durational terms are distinguished either by their name, mean.age, or
their name extensions: <name>.ages,
<name>.mean.age, and <name>.age.interval. In contrast to their named
ergm-terms counterparts, these durational terms take into account
the elapsed time since each (term-relevant) dyad in the network was last toggled.
As currently implemented, the package does not support use of durational terms during estimation. But durational terms may be used as targets, monitors, or summary statistics. The ability to use these terms in the estimation of models is under development.
All terms listed here currently work with binary-valued ties only.
tergm packageForm(formula)The Formation Operator Term: This term accepts a model formula
formula and produces the corresponding model for the post-formation network:
effectively a network containing both previous time step's ties and ties just formed,
the union of the previous and current network. This is the equivalent of the
old-style formation model.
Persist(formula)The Persistence Operator Term: This term accepts a model formula
formula and produces the corresponding model for the
post-dissolution/persistence network: effectively the network containing
ties that persisted since the last time step.
This is the equivalent of the old-style dissolution model. So
a larger positive coefficient for Persist() operator means
less dissolution. It
produces the same results as the new Diss() operator, except the
signs of the coefficients are negated.
Diss(formula)The Dissolution Operator Term: This term accepts a model formula
formula and produces the corresponding model for the post-dissolution
network (same as Persist()), but with all statistics negated.
Note: This is not the equivalent of the old style dissolution model,
because the signs of the coefficients are reversed. So a larger positive
coefficient for Diss() operator means more dissolution.
Cross(formula)The Crossection Operator Term: This term accepts a model formula
formula and produces the corresponding model for the cross-sectional
network. It is mainly useful for CMLE estimation, and has no effect (i.e.,
Cross(~TERM) == ~TERM) for EGMME and dynamic simulation.
Change(formula)The Change Operator Term: This term accepts a model formula
formula and produces the corresponding model for a network constructed
by taking the dyads that have changed between time steps.
tergm packagedegrange.mean.age(from, to=+Inf, byarg=NULL, emptyval=0)
Average age of ties incident on nodes having
degree in a given range:
The from and to arguments are vectors of distinct
integers or +Inf, for to. If one of the vectors has
length 1, it is recycled to the length of the other. Otherwise, they
must have the same length. This term adds one
network statistic to the model for each element of from (or to); the ith
such statistic equals the average, among all ties incident on nodes
with degree greater than or equal to
from[i] but strictly less than to[i], of the amount of time elapsed
since the tie's formation. The optional argument
byarg specifies a vertex attribute (see
Specifying Vertex Attributes and Levels
for details). If specified, then separate degree
statistics are calculated for nodes having each separate
value of the attribute.
Because this average is undefined for a network that does not have
any actors with degree in the specified range, the
argument emptyval can be used to specify the value returned
if this is the case. This is, technically, an arbitrary value, but it should
not have a substantial effect unless a non-negligible fraction of
networks at the parameter configuration of interest has no actors
with specified degree.
degree.mean.age(d, byarg=NULL,
emptyval=0)Average age of ties incident
on nodes having a given degree:
The d argument is a vector of distinct integers. This term adds one
network statistic to the model for each element in d; the ith
such statistic equals the average, among all ties incident on nodes
with degree exactly d[i], of the amount of time elapsed
since the tie's formation. The optional argument
byarg specifies a vertex attribute (see
Specifying Vertex Attributes and Levels
for details). If specified, then separate degree
statistics are calculated for nodes having each separate
value of the attribute.
Because this average is undefined for a network that does not have
any actors with degree d[i], the
argument emptyval can be used to specify the value returned
if this is the case. This is, technically, an arbitrary value, but it should
not have a substantial effect unless a non-negligible fraction of
networks at the parameter configuration of interest has no actors
with specified degree.
edges.ageinterval(from, to=+Inf)Number of edges
with age falling into a specified range:
This term counts the number of edges in the network for
which the time elapsed since formation is greater than or equal to
from but strictly less than to. In other words, it
is in the semiopen interval [from, to). from and
to may be scalars, vectors of the same length, or one of
them must have length one, in which case it is recycled.
edge.agesSum of ages of extant ties: This term adds one statistic equaling sum, over all ties present in the network, of the amount of time elapsed since formation.
Unlike mean.age, this statistic is well-defined on
an empty network. However, if used as a target, it appears to
produce highly biased dissolution parameter estimates if the goal
is to get an intended average duration.
edgecov.ages(x, attrname=NULL)Weighted sum of ages of extant
ties:
This term adds one statistic equaling sum, over all ties
present in the network, of the amount of time elapsed since
formation, multiplied by a dyadic covariate. See the help for the
edgecov term for details for
specifying the covariate.
"Weights" can be negative.
Unlike edgecov.mean.age, this statistic is well-defined on
an empty network. However, if used as a target, it appears to
produce highly biased dissolution parameter estimates if the goal
is to get an intended average duration.
edgecov.mean.age(x, attrname=NULL,
emptyval=0)Weighted average age of an extant
tie:
This term adds one statistic equaling the average, over all ties
present in the network, of the amount of time elapsed since
formation, weighted by a (nonnegative) dyadic covariate. See the help for the
edgecov term for details for
specifying the covariate.
The behavior when there are negative weights is undefined.
Because this average is undefined for an empty network (or a
network all of whose extant edges have been weighted 0), the
argument emptyval can be used to specify the value returned
if this is the case. This is, technically, an arbitrary value, but it should
not have a substantial effect unless a non-negligible fraction of
networks at the parameter configuration of interest is empty
and/or if only a few dyads have nonzero weights.
mean.age(emptyval=0, log=FALSE)Average age of an extant tie: This term adds one statistic equaling the average, over all ties present in the network, of the amount of time elapsed since formation.
Because this average is undefined for an empty network, the
argument emptyval can be used to specify the value returned
if it is. This is, technically, an arbitrary value, but it should
not have a substantial effect unless a non-negligible fraction of
networks at the parameter configuration of interest is empty.
To get mean log age instead of mean age, set log=TRUE.
nodefactor.mean.age(attr, levels=NULL, emptyval=0, log=FALSE)Average ages of extant half-ties incident on nodes of specified attribute levels:
This term adds one statistic for each level of attr,
equaling the average, over all half-ties incident on nodes of that level,
of the amount of time elapsed since formation.
To control what levels are included, use the levels argument. Note that the default
levels value for nodefactor.mean.age retains all levels, unlike the default
for nodefactor, which omits the first level.
See Specifying Vertex Attributes and Levels for details on specifying vertex attributes and levels.
The argument emptyval functions like it does for mean.age,
except that a different value may be specified for each level of attr.
The length of emptyval should either be 1 (in which case that value is
used for every level of attr) or should be equal to the number of retained
levels of attr, in which case the ith value in emptyval is used
for the ith retained level of attr.
To get mean log age instead of mean age, set log=TRUE; this is applied to all levels.
nodemix.mean.age(attr, b1levels=NULL, b2levels=NULL, levels=NULL, levels2=NULL, emptyval=0, log=FALSE)Average ages of extant ties of specified mixing types:
This term adds one statistic for each mixing type of attr,
equaling the average, over all ties of that mixing type,
of the amount of time elapsed since formation.
The levels-related arguments function just like they do for the ordinary nodemix term.
See Specifying Vertex Attributes and Levels
for details on specifying vertex attributes and levels.
The argument emptyval functions like it does for mean.age,
except that a different value may be specified for each mixing type of attr.
The length of emptyval should either be 1 (in which case that value is
used for every mixing type of attr) or should be equal to the number of retained
mixing types of attr, in which case the ith value in emptyval is used
for the ith retained mixing type of attr.
To get mean log age instead of mean age, set log=TRUE; this is applied to all mixing types.
Handcock M. S., Hunter D. R., Butts C. T., Goodreau S. G., Krivitsky P. N. and Morris M. (2012). _Fit, Simulate and Diagnose Exponential-Family Models for Networks_. Version 3.1. Project home page at <URL: https://statnet.org>, <URL: CRAN.R-project.org/package=ergm>.
Krivitsky, P.N. (2012). Modeling of Dynamic Networks based on Egocentric Data with Durational Information. Pennsylvania State University Department of Statistics Technical Report, 2012(2012-01). https://web.archive.org/web/20170830053722/https://stat.psu.edu/research/technical-report-files/2012-technical-reports/TR1201A.pdf
Krivitsky, P.N. (2012). Modeling Tie Duration in ERGM-Based Dynamic Network Models. Pennsylvania State University Department of Statistics Technical Report, 2012(2012-02).
ergm-terms (from the ergm package), ergm, network, %v%, %n%