ergm-terms: Temporally-Sensitive Operator and Durational Terms used in...

Description Operator Terms included in the tergm package Terms to represent network statistics included in the tergm package References See Also

Description

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.

Operator Terms included in the tergm package

Form(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.

Terms to represent network statistics included in the tergm package

degrange.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.ages

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.

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.

References

See Also

ergm-terms (from the ergm package), ergm, network, %v%, %n%


tergm documentation built on July 28, 2021, 5:10 p.m.