mvgam development version
New functionalities
- Restructured
summary.mvgam() to now return an object of
class mvgam_summary that can be re-used for later purposes,
or that can be printed with print.mvgam_summary()
(#119)
- Added a new function
ordinate.jsdgam() to plot
two-dimensional ordinations of site and species scores from latent
factor models estimated in jsdgam()
residual_cor() now supports models fitted with
mvgam() in which latent factors were used or in which
correlated dynamic processes were used
- Added a
summary.mvgam_forecast() function to compute
and return prediction intervals of posterior hindcasts and forecasts in
a data.frame format. This will make it easier for users to
create their own custom plots of hindcast and forecast distributions
(#108)
- Added a
mvgam_use_cases help file to provide links to
online resources that discuss how to use ‘mvgam’ in practice
Changing defaults
- The
forecast() method is now imported from ‘generics’
to help avoid conflict issues with other forecasting packages
- Deprecated the
incl_dynamics argument in the
loo() and loo_compare() functions to ensure
better consistency in log-likelihood and resulting LOO estimates from
models with different observation families
- Changed default
type in
conditional_effects() to expected to match
behaviour of ‘brms’
Bug fixes
- Bug fix to ensure forecast scores are properly computed when
plotting objects of class
mvgam_forecast if only a single
out-of-sample observation was included in newdata
(#111)
- Bug fix to ensure offsets supplied with
offset(...) in
formulae are correctly incorporated when using gp()
terms
- Bug fix to ensure piecewise trends are correctly predicted when
using
process_error = TRUE in predict()
- Bug fix to ensure variance of continuous time autoregressive
processes (using
CAR()) scales appropriately with time lags
(#107)
Deprecations
- Altered the structure of objects of class
mvgam_forecast so that the train_times and
test_times slots now contain lists of length
n_series. This allows for continuous time data to be better
handled, where some series may have been sampled at different
timepoints
mvgam 1.1.51
New functionalities
- Changed default priors for scale parameters (i.e. process errors
"sigma" and observation errors "sigma_obs") to
inverse gammas to provide more sensible prior regularisation away from
zero
- Improved messaging in
summary() for better guidance on
how to investigate poor HMC sampler behaviours
- Converted several more plotting functions to return
ggplot objects in place of base R plots for broader
customisation
- Added four new
types to the pp_check()
function to allow more targeted investigations of randomized quantile
residual distributions
- Added a
plot.mvgam_residcor() function for nicer
plotting of estimated residual correlations from jsdgam
objects
- Added
summary() functions to calculate useful posterior
summaries from objects of class mvgam_irf and
mvgam_fevd (see ?irf and ?fevd
for examples)
- Improved efficiency of
nmix() models with some slight
restructuring of the model objects (#102)
Bug fixes
- Bug fix to ensure piecewise trends are extrapolated the correct
number of timepoints when forecasting using the
forecast()
function
mvgam 1.1.4
New functionalities
- Added the
how_to_cite.mvgam() function to generate a
scaffold methods description of fitted models, which can hopefully make
it easier for users to fully describe their programming environment
- Improved various plotting functions by returning
ggplot
objects in place of base plots (thanks to @mhollanders #38)
- Added the brier score (
score = 'brier') as an option in
score.mvgam_forecast() for scoring forecasts of binary
variables when using family = bernoulli() (#80)
- Added
augment() function to add residuals and fitted
values to an mvgam object’s observed data (thanks to @swpease #83)
- Added support for approximate
gp() effects with more
than one covariate and with different kernel functions (#79)
- Added function
jsdgam() to estimate Joint Species
Distribution Models in which both the latent factors and the observation
model components can include any of mvgam’s complex linear predictor
effects. Also added a function residual_cor() to compute
residual correlation, covariance and precision matrices from
jsdgam models. See ?mvgam::jsdgam and
?mvgam::residual_cor for details
- Added a
stability.mvgam() method to compute stability
metrics from models fit with Vector Autoregressive dynamics (#21 and
#76)
- Added functionality to estimate hierarchical error correlations when
using multivariate latent process models and when the data are nested
among levels of a relevant grouping factor (#75); see
?mvgam::AR for an example
- Added
ZMVN() error models for estimating Zero-Mean
Multivariate Normal errors; convenient for working with non time-series
data where latent residuals are expected to be correlated (such as when
fitting Joint Species Distribution Models); see
?mvgam::ZMVN for examples
- Added a
fevd.mvgam() method to compute forecast error
variance decompositions from models fit with Vector Autoregressive
dynamics (#21 and #76)
Deprecations
- Arguments
use_stan, jags_path,
data_train, data_test,
adapt_delta, max_treedepth and
drift have been removed from primary functions to
streamline documentation and reflect the package’s mission to deprecate
‘JAGS’ as a suitable backend. Both adapt_delta and
max_treedepth should now be supplied in a named
list() to the new argument control
Bug fixes
- Bug fix to ensure
marginaleffects::comparisons
functions appropriately recognise internal rowid
variables
- Updates to ensure
ensemble provides appropriate
weighting of forecast draws (#98)
- Not necessarily a “bug fix”, but this update removes several
dependencies to lighten installation and improve efficiency of the
workflow (#93)
- Fixed a minor bug in the way
trend_map recognises
levels of the series factor
- Bug fix to ensure
lfo_cv recognises the actual times in
time, just in case the user supplies data that doesn’t
start at t = 1. Also updated documentation to better
reflect this
- Bug fix to ensure
update.mvgam captures any
knots or trend_knots arguments that were
passed to the original model call
mvgam 1.1.3
New functionalities
- Allow intercepts to be included in process models when
trend_formula is supplied. This breaks the assumption that
the process has to be zero-centred, adding more modelling flexibility
but also potentially inducing nonidentifiabilities with respect to any
observation model intercepts. Thoughtful priors are a must for these
models
- Added
standata.mvgam_prefit,
stancode.mvgam and stancode.mvgam_prefit
methods for better alignment with ‘brms’ workflows
- Added ‘gratia’ to Enhancements to allow popular methods
such as
draw() to be used for ‘mvgam’ models if ‘gratia’ is
already installed
- Added an
ensemble.mvgam_forecast() method to generate
evenly weighted combinations of probabilistic forecast
distributions
- Added an
irf.mvgam() method to compute Generalized and
Orthogonalized Impulse Response Functions (IRFs) from models fit with
Vector Autoregressive dynamics
Deprecations
- The
drift argument has been deprecated. It is now
recommended for users to include parametric fixed effects of “time” in
their respective GAM formulae to capture any expected drift effects
Bug fixes
- Added a new check to ensure that exception messages are only
suppressed by the
silent argument if the user’s version of
‘cmdstanr’ is adequate
- Updated dependency for ‘brms’ to version >= ‘2.21.0’ so that
read_csv_as_stanfit can be imported, which should
future-proof the conversion of ‘cmdstanr’ models to stanfit
objects (#70)
mvgam 1.1.2
New functionalities
- Added options for silencing some of the ‘Stan’ compiler and modeling
messages using the
silent argument in
mvgam()
- Moved a number of packages from ‘Depends’ to ‘Imports’ for simpler
package loading and fewer potential masking conflicts
- Improved efficiency of the model initialisation by tweaking
parameters of the underlying ‘mgcv’
gam object’s
convergence criteria, resulting in much faster model setups
- Added an option to use
trend_model = 'None' in
State-Space models, increasing flexibility by ensuring the process error
evolves as white noise (#51)
- Added an option to use the non-centred parameterisation for some
autoregressive trend models, which speeds up mixing most of the
time
- Updated support for multithreading so that all observation families
(apart from
nmix()) can now be modeled with multiple
threads
- Changed default priors on autoregressive coefficients (AR1, AR2,
AR3) to enforce stationarity, which is a much more sensible prior in the
majority of contexts
Bug fixes
- Fixed a small bug that prevented
conditional_effects.mvgam() from handling effects with
three-way interactions
mvgam 1.1.1
New functionalities
- Changed indexing of an internal c++ function after Prof Brian
Ripley’s
email: Dear maintainer, Please see the problems shown on
https://cran.r-project.org/web/checks/check_results_mvgam.html. Please
correct before 2024-05-22 to safely retain your package on CRAN. The
CRAN Team
mvgam 1.1.0
- First release of
mvgam to CRAN