1.4.0 release
This release contains some bug fixes, minor new features, and the initial stages of some broader improvement to future handling of delay distributions.
Breaking changes
- The external distribution interface has been updated to use the
dist_spec()
function. This comes with a range of benefits, including optimising model fitting when static delays are used (by convolving when first defined vs in stan), easy printing (usingprint()
), and easy plotting (usingplot()
). It also makes it possible to use all supported distributions everywhere (i.e, as a generation time or reporting delay). However, while for now backwards compatibility has been ensured this update will break most users' code eventually as the interface has changed. See the documentation fordist_spec()
for more details. By @sbfnk in #363 and reviewed by @seabbs.
Package
- Model description has been expanded to include more detail. By @sbfnk in #373 and reviewed by @seabbs.
- Moved to a GitHub Action to only lint changed files. By @seabbs in #378.
- Linted the package with a wider range of default linters. By @seabbs in #378.
- Added a GitHub Action to build the README when it is altered. By @seabbs.
- Added handling of edge case where we sample from the negative binomial with mean close or equal to 0. By @sbfnk in #366 and reviewed by @seabbs.
- Replaced use of nested
ifelse()
anddata.table::fifelse()
in the code base withdata.table::fcase()
. By @jamesmbaazam in #383 and reviewed by @seabbs. - Reviewed the example in
calc_backcalc_data()
to callcalc_backcalc_data()
instead ofcreate_gp_data()
. By @jamesmbaazam in #388 and reviewed by @seabbs. - Improved compilation times by reducing the number of distinct stan models and deprecated
tune_inv_gamma()
. By @sbfnk in #394 and reviewed by @seabbs. - Changed touchstone settings so that benchmarks are only performed if the stan model is changed. By @sbfnk in #400 and reviewed by @seabbs.
- pak is now suggested for installing the developmental version of the package. By @jamesmbaazam in #407 and reviewed by @seabbs. This has been successfully tested on MacOS Ventura, Ubuntu 20.04, and Windows 10. Users are advised to use
remotes::install_github("epiforecasts/EpiNow2")
ifpak
fails and if both fail, raise an issue. dist_fit()
'ssamples
argument now takes a default value of 1000 instead of NULL. If a suppliedsamples
is less than 1000, it is changed to 1000 and a warning is thrown to indicate the change. By @jamesmbazam in #389 and reviewed by @seabbs.- The internal distribution interface has been streamlined to reduce code duplication. By @sbfnk in #363 and reviewed by @seabbs.
- A small bug has been fixed where the seeding time was too long. When a single delay is used this shortens the seeding time by one day and when more delays are used it shortens the seeding time by n days where n is the number of delays used e.g. for two parametric delays it's two days. By @sbfnk in #413 and reviewed by @seabbs.
- Some tuning was done to speed up the renewal model. By @sbfnk in #416 and reviewed by @seabbs.
- An approximation of the negative binomial by the Poisson at low levels of overdispersion was disabled as it led to parameter identification issues. By @sbfnk in #432 and reviewed by @seabbs.
- Reduced verbosity of tests. By @sbfnk in #433 and reviewed by @seabbs.
- Updated code style in response to lintr warnings. By @sbfnk in #437 and reviewed by @seabbs.
- Fixed an edge case breaking summary output. Reported by @jrcpulliam, fixed by @sbfnk in #436 and reviewed by @seabbs.
- Added content to the vignette for the estimate_truncation model. By @sbfnk in #439 and reviewed by @seabbs.
- Added a feature to the
estimate_truncation
to allow it to be applied to time series that are shorter than the truncation max. By @sbfnk in #438 and reviewed by @seabbs. - Changed the
estimate_truncation
to use thedist_spec
interface, deprecating existing optionsmax_trunc
andtrunc_dist
. By @sbfnk in #448 and #452 and reviewed by @seabbs. - Added a
weigh_delay_priors
argument to the main functions, allowing the users to choose whether to weigh delay priors by the number of data points or not. By @sbfnk in #450 and reviewed by @seabbs.
Documentation
- Added a link to the recent CSTE workshop on using
EpiNow2
to the case studies vignette. By @seabbs in #441 and reviewed by @sbfnk.
Pull requests associated with this release
- Expand model description. by @sbfnk in #373
- Linting by @seabbs in #378
- fix errors introduced in #378 by @sbfnk in #380
- allow edge case of negative binomial with 0 mean by @sbfnk in #366
- add Seb orcid by @sbfnk in #386
- Substitute nested
ifelse
withdata.table::fcase()
by @jamesmbaazam in #383 - Revise the examples for
create_backcalc_data()
by @jamesmbaazam in #388 - reduce the number of stan models by @sbfnk in #394
- Amend contribution guide by @jamesmbaazam in #406
- limit touchstone to stan model changes by @sbfnk in #400
- change the default value of sample in
dist_fit()
by @jamesmbaazam in #389 - Update install info by @jamesmbaazam in #407
- implement
dist_spec
interface by @sbfnk in #363 - shorten seeding time by @sbfnk in #413
- speed up generation of infections by @sbfnk in #416
- update R CMD check action by @sbfnk in #425
- qualify internal functions in tests by @sbfnk in #426
- don't defer negative binomial to Poisson at low levels of overdispersion by @sbfnk in #432
- disable verbosity for failing chains by @sbfnk in #433
- fix logmean bound by @sbfnk in #435
- style change in response to lintr warnings by @sbfnk in #437
- fix regional summary in case of 0/0 by @sbfnk in #436
- update estimate truncation vignette by @sbfnk in #439
- allow snapshots shorter than trunc_max by @sbfnk in #438
- Issue 440: Added CSTE workshop as a case study by @seabbs in #441
- bug fix: make simulated delay mean unbounded by @sbfnk in #446
- move synthetic validation to macos by @sbfnk in #445
- Fix 442 by @sbfnk in #443
- use
delay_lp
inestimate_truncation
by @sbfnk in #448 - move prior weights to model arguments by @sbfnk in #450
- make estimate_truncation return a dist_spec by @sbfnk in #452
- avoid very narrow initial truncation distributions by @sbfnk in #454
- Improve deprecation by @sbfnk in #455
- Update deprecated syntax for future rstan compatibility by @andrjohns in #453
- Prepare 1.4.0 CRAN release by @sbfnk in #456
New Contributors
- @jamesmbaazam made their first contribution in #383
- @andrjohns made their first contribution in #453
Full Changelog: v1.3.5...v1.4.0