| ergm.exact {ergm} | R Documentation |
ergm.exact calculates the exact loglikelihood, evaluated at eta,
for the
statnet exponential-family random graph model represented by
formula.
ergm.exact (eta, formula, statmat=NULL, weights=NULL, ...)
eta |
vector of canonical parameter values at which the loglikelihood should be evaluated. |
formula |
an R |
statmat |
if NULL, call |
weights |
In case |
... |
further arguments; not currently used. |
ergm.exact should only be used for small networks, since the number of
possible networks grows extremely fast with the number of nodes.
An error results if it is used on a directed network of more than 6 nodes or
an undirected network of more than 8 nodes; use force=TRUE to override
this error.
In case this function is to be called repeatedly, for instance by an
optimization routine, it is preferable to call ergm.allstats
first, then pass statmat and weights explicitly to avoid
repeatedly calculating these objects.
Returns the value of the
exact loglikelihood, evaluated at eta,
for the
statnet exponential-family random graph model represented by
formula.
# Count by brute force all the edge statistics possible for a 7-node # undirected network mynw <- network(matrix(0,7,7),dir=FALSE) unix.time(a <- ergm.allstats(mynw~edges)) # Summarize results rbind(t(a$statmat),a$weights) # Each value of a$weights is equal to 21-choose-k, # where k is the corresponding statistic (and 21 is # the number of dyads in an 7-node undirected network). # Here's a check of that fact: as.vector(a$weights - choose(21, t(a$statmat))) # Simple ergm.exact outpuf for this network. # We know that the loglikelihood for my empty 7-node network # should simply be -21*log(1+exp(eta)), so we may check that # the following two values agree: -21*log(1+exp(.1234)) ergm.exact(.1234, mynw~edges, statmat=a$statmat, weights=a$weights)