Open krivit opened 1 year ago
I don't have a strong opinion on this one. I see the benefit of the cleanup, but also the downside of breaking code. That said, in general I lean more than @CarterButts does towards accepting some long-term breaking for the value of cleaning, especially when it involves features that I suspect are not that commonly used.
This is loosely related to https://github.com/statnet/ergm/issues/532. Since https://github.com/statnet/ergm/issues/485,
cutoff=
behaviour forgw*()
terms when encountering a network whose statistic of interest (degree, SP, etc.) exceeds thecutoff
is to stop immediately with an error (as opposed to silently returning incorrect results).cutoff
is set in one of two ways: as an argument to the term, (e.g.,gwesp(cutoff=50)
) or as a term option, which can, in turn, be set as a control parameter (e.g.,control.ergm(term.options=list(gw.cutoff=50))
) or as a global option for all subsequent runs (e.g.,options(ergm.term=list(gw.cutoff=50))
).I wonder if as a part of a general term cleanup, it might make sense to deprecate
cutoff=
argument as well, to rely on the global setting. This has two possible benefits:gwesp(.1, type="OSP")
becomesgwesp(.1, "OSP")
, thoughtype=
is still required ifdecay
is not given (though we could handle that too, if we anted to).Encouraging to separate "what to fit" from "how to fit it": the model
ergm()
would actually when the observed or simulated network feature of interest exceededcutoff
were always poorly defined, and now it will refuse to fit them at all, socutoff
is not a part of the model specification but a computational tuning setting like MCMC sample size.@drh20drh20 , @handcock , @mbojan , @sgoodreau , @CarterButts , @martinamorris ?