Learn R Programming

ergm (version 3.9.4)

fix.curved: Convert a curved ERGM into a corresponding "fixed" ERGM.

Description

The generic fix.curved converts an ergm object or formula of a model with curved terms to the variant in which the curved parameters are fixed. Note that each term has to be treated as a special case.

Usage

fix.curved(object, ...)

# S3 method for ergm fix.curved(object, ...)

# S3 method for formula fix.curved(object, theta, response = NULL, ...)

Arguments

object

An ergm object or an ERGM formula. The curved terms of the given formula (or the formula used in the fit) must have all of their arguments passed by name.

Unused at this time.

theta

Curved model parameter configuration.

response

Name of the edge attribute whose value is to be modeled in the valued ERGM framework. Defaults to NULL for simple presence or absence, modeled via a binary ERGM.

Value

A list with the following components:

formula

The "fixed" formula.

theta

The "fixed" parameter vector.

Details

Some ERGM terms such as gwesp and gwdegree have two forms: a curved form, for which their decay or similar parameters are to be estimated, and whose canonical statistics is a vector of the term's components (esp(1), esp(2), … and degree(1), degree(2), …, respectively) and a "fixed" form where the decay or similar parameters are fixed, and whose canonical statistic is just the term itself. It is often desirable to fit a model estimating the curved parameters but simulate the "fixed" statistic.

This function thus takes in a fit or a formula and performs this mapping, returning a "fixed" model and parameter specification. It only works for curved ERGM terms included with the ergm package. It does not work with curved terms not included in ergm.

See Also

ergm, simulate.ergm

Examples

Run this code
# NOT RUN {
# }
# NOT RUN {
options(ergm.eval.loglik=FALSE)

data(sampson)
gest<-ergm(samplike~edges+gwesp(decay=.5,fixed=FALSE),
           control=control.ergm(MCMLE.maxit=3, MCMC.burnin=1024, MCMC.interval=128))
summary(gest)
# A statistic for esp(1),...,esp(16)
simulate(gest,statsonly=TRUE)

tmp<-fix.curved(gest)
tmp
# A gwesp() statistic only
simulate(tmp$formula, coef=tmp$theta, statsonly=TRUE) 
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab