# Temporally-Sensitive Terms used in Exponential Family Random Graph Models

### Description

Unlike ordinary `ergm-terms`

, which take only a single
network as an argument, the terms documented here also take into
account the "ages" of extant ties in the network: the time elapsed since
their formation.

As implemented, many of these terms cannot be used to "drive" the process
of network evolution, but they can be used as target statistics to
infer the terms that do. More concretely, they may appear in
`targets=`

or `monitor=`

formulas of
`stergm`

, `simulate.stergm`

, or
`summary`

(with an ERGM formula), but they may
not appear in their `formation=`

and
`dissolution=`

formulas. These terms are marked with
"(target-only)".

All terms listed here are binary.

### Terms to represent network statistics included in the
`tergm`

package

`degrange.mean.age(from, to=+Inf, byarg=NULL, emptyval=0)`

(target-only)*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*i*th 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`by`

is a character string giving the name of an attribute in the network's vertex attribute list. 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, by=NULL, emptyval=0)`

(target-only)*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*i*th 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`by`

is a character string giving the name of an attribute in the network's vertex attribute list. 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)`

(dissolution- and target-only)*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.When used in the dissolution formula of a STERGM, it can be used to model a non-Markovian dissolution process, controlling the hazard function in the interval directly.

`edge.ages`

(target-only)*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)`

(target-only)*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)`

(target-only)*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)`

(target-only)*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.

### References

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: http://www.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). http://stat.psu.edu/research/technical-report-files/2012-technical-reports/modeling-of-dynamic-networks-based-on-egocentric-data-with-durational-informationKrivitsky, P.N. (2012). Modeling Tie Duration in ERGM-Based Dynamic Network Models.

*Pennsylvania State University Department of Statistics Technical Report*, 2012(2012-02). http://stat.psu.edu/research/technical-report-files/2012-technical-reports/TR1201A.pdf

### See Also

`ergm-terms`

(from the `ergm`

package), `ergm`

, `network`

, `%v%`

, `%n%`

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker. Vote for new features on Trello.