gof
calculates \(p\)-values for geodesic
distance, degree, and reachability summaries to
diagnose the goodness-of-fit of exponential family random graph
models. See ergm
for more information on these models.
# S3 method for default
gof(object,…)
# S3 method for formula
gof(object,
…,
coef=NULL,
GOF=NULL,
constraints=~.,
control=control.gof.formula(),
unconditional=TRUE,
verbose=FALSE)
# S3 method for ergm
gof(object,
…,
coef=NULL,
GOF=NULL,
constraints=NULL,
control=control.gof.ergm(),
verbose=FALSE)
Additional arguments, to be passed to lower-level functions in the future.
When given either
a formula or an object of class ergm, coef
are the parameters
from which the sample is drawn. By default set to a vector of 0.
formula; an R formula object, of the form
~ <model terms>
specifying the
statistics to use to diagnosis the goodness-of-fit of the model.
They do not need to be in the model formula specified in
formula
, and typically are not.
Currently supported terms are the degree distribution (“degree”
for undirected graphs, or “idegree” and/or “odegree” for
directed graphs), geodesic distances (“distance”), shared partner
distributions (“espartners” and “dspartners”), the triad
census (“triadcensus”), and the terms of the original model
(“model”). The default formula for undirected networks is
~ degree + espartners + distance + model
, and the default formula for
directed networks is ~ idegree + odegree + espartners + distance + model
.
By default a “model” term is added to the formula.
It is a very useful overall validity check and a reminder of the statistical variation in
the estimates of the mean value parameters.
To omit the “model” term, add “- model” to the formula.
A one-sided formula specifying one or more constraints
on the support of the distribution of the networks being
modeled. See the help for similarly-named argument in
ergm
for more information. For
gof.formula
, defaults to unconstrained. For gof.ergm
,
defaults to the constraints with which object
was fitted.
A list to control parameters, constructed using
control.gof.formula
or control.gof.ergm
(which have different defaults).
logical; if TRUE
, the simulation is unconditional on the observed dyads.
if not TRUE
, the simulation is conditional on the observed dyads. This is primarily
used internally when the network has missing data and a conditional GoF is produced.
Provide verbose information on the progress of the simulation.
gof
, gof.ergm
, and gof.formula
return an object of class gofobject
.
This is a list of the tables of statistics and \(p\)-values.
This is typically plotted using plot.gofobject
.
A sample of graphs is randomly drawn from the specified model.
The first argument is typically
the output of a call to ergm
and the model
used for that call is the one fit.
A plot of the summary measures is plotted.
More information can be found by looking at the documentation of
ergm
.
For GOF = ~model
, the model's observed sufficient statistics are plotted
as quantiles of the simulated sample. In a good fit, the observed statistics should
be near the sample median (0.5).
For gof.ergm
and gof.formula
, default behavior depends on
the directedness of the network involved; if undirected then degree,
espartners, and distance are used as default properties to examine. If
the network in question is directed, “degree” in the above is replaced
by idegree and odegree.
ergm, network, simulate.ergm, summary.ergm, plot.gofobject
# NOT RUN {
data(florentine)
gest <- ergm(flomarriage ~ edges + kstar(2))
gest
summary(gest)
# test the gof.ergm function
gofflo <- gof(gest)
gofflo
summary(gofflo)
# Plot all three on the same page
# with nice margins
par(mfrow=c(1,3))
par(oma=c(0.5,2,1,0.5))
plot(gofflo)
# And now the log-odds
plot(gofflo, plotlogodds=TRUE)
# Use the formula version of gof
gofflo2 <-gof(flomarriage ~ edges + kstar(2), coef=c(-1.6339, 0.0049))
plot(gofflo2)
# }
Run the code above in your browser using DataLab