forked from EpiModel/EpiModel
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
357 lines (308 loc) · 18.8 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
Version 1.1.4
------------------------------------------------------------------------------
NEW FEATURES
* A limited set of heterogeneous dissolution models now allowed for network
models (#184): edges + nodematch, nodemix, or nodefactor formulas now supported.
See help file for `dissolution_coefs` for examples.
* Network models now feature more consistent and flexible use of persistent IDs
for networkDynamic objects (#199). This involved adding a new control setting,
`use.pids` in `control.net`. See help("persistent.ids") in the `networkDynamic`
package for more background.
* Interventions are added to all model classes (#20). For DCMs, ICMs, and network
models, there are new parameters, inter.eff and inter.start, for the efficacy
and starting time of the intervention. This generic intervention has the effect
of reducing the probability of transmission given a contact between a susceptible
and infected person by the efficacy parameter.
BUG FIXES
* Fixed error in `births.net` module that set the default `entrTime` and
`exitTime` attributes twice for bipartite models (#205).
* Plotting for all model classes now allow setting `xlab` and `ylab` (#206).
* `get_sims` extraction now outputs correct data when object contains single
simulation.
OTHER
* More robust testing of functions.
* Updated hyperlinks within doc files to new github-based website.
Version 1.1.3
------------------------------------------------------------------------------
NEW FEATURES
* The `skip.check` argument for `control.net` is even more flexible, to allow
for passing different class elements into `netsim` with original models.
* New `param.error` argument for `merge.netsim` that allows bypassing the stop
error if the parameters and control settings from the two merged objects are
not identical.
* `control.net` has new `module.order` argument to provide control of the order
in which modules are evaluated within each time step. The default ordering is
maintained as explained in the updated help file.
BUG FIXES
* `netsim_parallel` now returns the correct object if used for single simulations
or on single cores.
* `plot.icm` removes NA values from the data when calculating `ylim` and the
quantile bands.
OTHER
* `netest` now implements an improved "Edges Dissolution Approximation" via the
`edapprox` argument.
* Several documentation updates.
Version 1.1.2
------------------------------------------------------------------------------
NEW FEATURES
* Implement `control.dcm` option `dede`, which if true allows for delayed
differential equations to be passed into a new model solved with `dcm`.
* New option for `netdx` to simulate static diagnostics from an ERGM, rather
than the temporal diagnostics (still the default). This will help better
diagnose poor dynamic model fit when using the edges dissolution approximation
(#175).
* Plot option added for `netdx`, with the `method` parameter, to plot boxplots of
the simulations against the target statistics. The default is still the line
plots (#191).
* Additional summary elements may now be plotted with `netdx` objects, similar
to epidemic data plots: mean lines and quantile bands. Additional arguments
added to allow toggling of these along with individual simulation lines and
target lines.
* Print method for `netdx` is updated, along with a new statistic for the percent
deviation between the simulation means and target statistics (#192).
* Added other epidemiological outcomes saved in user-defined modules to print
output with `print.netsim` (#183).
* New function `get_sims` will subset and extract entire simulations from `netsim`
objects with multiple simulations. A vector of simulation numbers may be
specified, or if set as "mean", the simulation with the infected prevalence
closest to the means across all simulations will be chosen.
BUG FIXES
* Object elements saved in stochastic network models with the `save.other`
parameter in `control.net` may now be merged with `merge.netsim` (#185).
* Quantile band is displayed in `plot` for ICMs and network models when the `y`
argument is specified (#188).
OTHER
* Package `deSolve` moved from import to depend (#194).
Version 1.1.1
------------------------------------------------------------------------------
NEW FEATURES
* Added dissolution diagnostics in `netdx`, for the proportion of edges that
dissolve per time step, as another diagnostic for the dissolution model (#53).
* Network plots with `plot.netsim` now allow specifying `"mean"`, `"min"`, or
`"max"` to plot the network at with the most average, maximum, and minumum
disease prevalence at the specified time step (#73).
* Network models may now use time-varying recovery rates, similar to the previous
time-varying infection probabilities and act rates. The documentation for the
`param.net` function has been updated with details (#65).
* New control setting for DCMs, `param.sens`, that allows bypassing the default
behavior of evaluating parameters with length greater than 1 as sensitivity
analyses. This should be used for single-run models if passing in parameters
with arbitrary form.
BUG FIXES
* Print functions for initial condition processing functions now handle list and
data frame structures (#135).
* Fix bug for new DCMs in which the initial condition names include standard
integrated initial condition names (#160).
* Several bugs fixes related to network diagnostics for models with offset terms
in the formation model. Also related formation diagnostics plots in
`plot.netsim` fixed (#164).
* Initialization of infection time for stochastic SIS/SIR models with two groups
or modes now fixed (#102).
* Edges population size correction module, `edges_correct`, now runs for any
dependent network simulations, not just if built-in vital dynamics modules are
called (#141).
OTHER
* The new website for the EpiModel project is http://epimodel.org/
* Added a new example of a SEIR Ebola DCM in the "Solving New DCMs with EpiModel"
tutorial.
* The shiny apps now use the single file method (#155).
* Exported and added documentation for the `verbose.icm` function (#71).
* Other elements saved in network simulations with the `save.other` control
setting in `control.net` are now printed as output in `print.netsim` (#174).
Version 1.1
------------------------------------------------------------------------------
NEW FEATURES
* Added three new extraction functions for network models (`get_network`,
`get_transmat`, and `get_nwstats`) which extract the network objects,
transmission matrices, and data frame of network statistics from a completed
`netsim` simulation. These functions also support extraction of network model
simulations with multiple networks (see API note).
* The plot function for `netsim` objects now has an argument, network, for
plotting network statistics and static networks (`type = "formation"` and
`"network"`, respectively) in simulations with multiple networks.
* For stochastic epidemic plots, added an option `mean.smooth`. If `TRUE`, this
uses a lowess smoother on the outcome variables of interest. This is helpful
in visualization of low-count outcomes like disease incidence.
* Automatic parallelization of network models is now possible with the
`netsim_parallel` function. Note that this is experimental and has not been
tested extensively across platforms, so bug reports are welcome. Two parallel
methods are supported: `doParallel` for multiple cores on a single node, and
`doMPI` for multiple cores across multiple nodes. The latter requires an MPI
installation on a linux-based cluster.
* Network diagnostics in `netdx` also accepts a new `ncores` argument, which will
run the diagnostic simulations and calculations on those simulations in
parallel on a specified number of cores (single node only).
* Added an argument, `skip.check`, for the control settings in both ICM and
network model classes, which overrides the default error checking of
parameters, initial conditions, and control settings. This should only be used
for original models with new modules that may unnecessarily trigger a check
error.
* Added an argument, `save.other`, for the control settings in network models,
which is a character vector of other elements from the master data list, `dat`,
to save out in the simulation.
* Added an argument, `start`, for the control settings in network models, which
is a starting time step to resume simulations. In this case, the `x` argument
in `netsim` is a previously saved `netsim` object rather than a `netest`
object. The `start` argument should be one integer higher than the `nsteps` in
that earlier `netsim` object. The `nsteps` argument should now be the final
steps for the simulation. Note that this requires specifying
`save.other = "attr"` in the control settings, as well as saving the networks.
* Added progress bars for `netdx` diagnostic simulations for computationally
intensive parts of the simulations.
* Network model estimation with `netest` now provides an output argument. When
using the edges dissolution approximation (`edapprox = TRUE`), one may set
output to `"sim"` to save a static simulation network instead of the `ergm`
object as an element of the `netest` output. This is mainly for file size
efficiency.
USER INTERFACE CHANGES
* The internal representation of disease status as an individual-level attribute
in the stochastic ICM and network models has been changed from number
`(0, 1, 2)` to character `("s", "i", "r")`. This changes little when running
the integrated models, and has greater implications for the API when editing
modules. But one change for integrated models is that the status vector passed
into the initial conditions functions must now be in this new format. This also
impacts the expansion of EpiModel for original models.
* The `zeromarg` argument has been removed from `plot.netsim` for static network
plots (`type = "network"`) to reduce potential issues with setting default
margins on plots. Now they must explicitly be set with standard par options.
API CHANGES
* For ICMs and network models, the internal master data object has been renamed
from `all` to `dat` to prevent function name conflicts. Additionally, all
summary output is now stored within `dat$epi`, whereas the previous location
was `all$out`.
* The ordering of built-in modules within a time step for network simulations
has been changed such that the network resimulation module is run before the
infection module. There should be no substantive differences in model results,
but this provides a more logical consistency between edges toggled on at a
time step and the infections that may occur over those edges.
* In network models, two preset functions have been changed to replaceable
modules: `edges_correct` and `verbose.net`. The former performs the adjustment
to the edges coefficient for network models with population size changes, in
order to preserve the mean degree; for mass action epidemic models, for example,
one would not want this adjustment, so the module should be set to NULL in
`control.net`. The latter performs the printing of simulation results to the
console. Both functions are now listed in the modules help file accessed by:
`help(modules.net)`.
* Evaluation of parameters, initial conditions, and control settings in the
core parameterization functions is now more stable, and also more flexible.
Defaults for the fixed arguments are now included in the documentation.
* Users may now bypass the built-in `param`, `init`, and `control` functions
altogether for original ICM and network models, because the definition of new
and replacement modules occurs within the control functions themselves. The
existing control functions should be used as a template if one is considering
replacing these parameterization functions.
* Users may also bypass any of the built-in modules in network models (see the
list in `control.net`) by setting the argument for that module to `NULL`. This
may be replaced in the future by a user-defined ordered vector of modules.
* The `x` argument in netsim may now be a list of `netest` objects. This would be
used only if supplying new simulation modules that know how to process that
data structure. The motivation for this is to allow original models with
multiple networks simulated (e.g., a main partnership network and a casual
partnership network).
BUG FIXES
* Minor updates and bug fixes to the two built-in Shiny applications (accessed
via the `epiweb` function). These apps now benefit from the more stable
parameterization functions.
* Updated the `print` method for the `param.net` class to handle parameters that
are lists or data frames.
* `merge.netsim` now ignores any differences in the environment of the
`nwstats.formula` control, previously preventing proper merging of some network
model simulations.
OTHER
* Added new test cases for running new DCMs, ICMs, and network models, following
the vignette examples (see http://epimodel.org/).
Version 1.0.2
------------------------------------------------------------------------------
INTERFACE CHANGES
* The trans.rate and trans.rate.g2/m2 parameters have been renamed to inf.prob
and inf.prob.g2/m2 to better characterize that they are probabilities, rather
than rates, and towards infection of persons in that group/mode.
* Added new documentation for newly exported utility functions for network models,
mostly used in the birth/entry modules. Now users may directly edit these
modules and use the utility functions without explicitly adding them to the
global environment.
* Added warning message for network models in which there is a vertex attribute
for status added to the network but not referenced in the formation formula,
in which case the initial conditions for status will still be derived from the
input for init.net. This does not apply to "serosorting models", which reference
status in the formation formula, and which require setting status as a vertex
attribute on the network before calling netest.
BUG FIXES
* Network models with passed network attributes in the formation formula in open
populations now do not generate an error for persistent ID numbers in the latest
versions of the tergm and networkDynamic package.
* Fix bug in printing simulation progress in network and ICM class models when
verbose is not specified in the control settings.
* Running netdx diagnostics with offset terms in the formation no longer generates
an error.
* Simulating an SIR serosorting network epidemic model (status in the formation
formula) no longer stops due to missing r.num in init.net.
* Fix bug when calling netdx for one simulation only with a network model fit with
the full STERGM method (i.e., using the edapprox = FALSE in netest).
OTHER
* The dissolution_coefs function now stores and prints the death/exit rate.
* Removed explicit parameters for xlim, ylim, and main from plot.dcm and plot.icm
functions, although they still may be passed through the ... argument.
* Introduction vignette has been updated to list new EpiModel website.
Version 1.0.1
------------------------------------------------------------------------------
NEW FEATURES
* Added coef.form argument to netest for network model formation formulas with
offset terms.
* Allow edge duration of 1 in netest when using the edges dissolution approximation
(handles one-off partnerships in network models when using the approximation).
* Death modules for network models are now contained in one function, deaths.net,
to facilitate replacement death modules from users. This is also now consistent
with the death module for ICMs.
* Automated plotting of target statistic lines to plot.netsim formation plots,
matching the methods of plot.netdx formation plots.
BUG FIXES
* netdx now simulates from a different starting network at the begining of each
dynamic simulation, eliminating correlation at time 1 across simulations.
* Can now pass status.vector into init.net for bipartite simulations.
* Several plotting and printing bugs fixed.
* Fixed bug in network models for open populations in which an attribute was
passed to the network in the formation formula (e.g., serostatus mixing models).
OTHER
* Added internal test structure for build checking.
* Added a help file document for building ICM modules at ?modules.icm.
* Expanded and clarified tutorial documentation, available at:
http://statnet.github.io/EpiModel
Version 1.0
------------------------------------------------------------------------------
* Model parameterization for all model classes has been substantially revised
to improve organization and ability for expansion. Whereas previous models
required input of parameters directly into the main functions (now: dcm, icm,
and netsim), now the parameters are input into three parameter-processing
functions: param, init, and control. The param function sets the core
epidemic parameters, the init function sets the initial conditions, and the
control function specifies other model settings. These functions are
class-specific, so each function has a .dcm, .icm, or .net suffix.
* Modeling functions have been renamed for clarity and consistency:
- dcm is now used for deterministic compartmental models (replaces epiDCM)
- icm is now used for stochastic individual contact models (replaces epiICM)
- netest is now used for network model estimation (replaces epiNet.est)
- netsim is now used for network model simulation (replaces epiNet.simTrans)
* Network models with independence between epidemic/demographic processes and
network structures (independent models) were previously first simulated with
epiNet.simNet, and then those pre-simulated networks were input to
epiNet.simTrans. Now the network model simulation is all handled within the
simulation function, netsim.
* Network model diagnostics have been moved from within the network estimation
process (netest) to their own function: netdx. The parameter names for running,
printing, and plotting the results of these diagnostics have been updated for
consistency. See ?netdx and related functions.
* Internal model functions have been significantly revised to improve efficiency.
* The dcm function can handle model functions, parameter sets, and initial
conditions of arbitrary complexity. See the HTML vignette on this topic at:
http://statnet.org/EpiModel/vignette/NewDCMs.html
* Moved the package vignettes external to the package to reduce package size and
build time. They are now available at the EpiModel homepage at:
http://statnet.org/trac/wiki/EpiModel
Version 0.95
------------------------------------------------------------------------------
INITIAL RELEASE
* The EpiModel package provides functions for building, solving, and
plotting mathematical models of infectious disease.
* See the main package help function ?EpiModel-package, and the EpiModel tutorials
online at http://statnet.org/trac/wiki/EpiModel to get started.