mvgam development version
New functionalities
- Restructured summary.mvgam()to now return an object of
classmvgam_summarythat can be re-used for later purposes,
or that can be printed withprint.mvgam_summary()(#119)
- Added a new function ordinate.jsdgam()to plot
two-dimensional ordinations of site and species scores from latent
factor models estimated injsdgam()
- 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
adata.frameformat. This will make it easier for users to
create their own custom plots of hindcast and forecast distributions
(#108)
- Added a mvgam_use_caseshelp 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_dynamicsargument in theloo()andloo_compare()functions to ensure
better consistency in log-likelihood and resulting LOO estimates from
models with different observation families
- Changed default typeinconditional_effects()toexpectedto match
behaviour of ‘brms’
Bug fixes
- Bug fix to ensure forecast scores are properly computed when
plotting objects of class mvgam_forecastif only a single
out-of-sample observation was included innewdata(#111)
- Bug fix to ensure offsets supplied with offset(...)in
formulae are correctly incorporated when usinggp()terms
- Bug fix to ensure piecewise trends are correctly predicted when
using process_error = TRUEinpredict()
- 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_forecastso that thetrain_timesandtest_timesslots now contain lists of lengthn_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
ggplotobjects in place of base R plots for broader
customisation
- Added four new types to thepp_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 fromjsdgamobjects
- Added summary()functions to calculate useful posterior
summaries from objects of classmvgam_irfandmvgam_fevd(see?irfand?fevdfor 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 ggplotobjects in place of base plots (thanks to @mhollanders #38)
- Added the brier score (score = 'brier') as an option inscore.mvgam_forecast()for scoring forecasts of binary
variables when usingfamily = 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 functionresidual_cor()to compute
residual correlation, covariance and precision matrices fromjsdgammodels. See?mvgam::jsdgamand?mvgam::residual_corfor 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::ARfor 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::ZMVNfor 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_treedepthanddrifthave been removed from primary functions to
streamline documentation and reflect the package’s mission to deprecate
‘JAGS’ as a suitable backend. Bothadapt_deltaandmax_treedepthshould now be supplied in a namedlist()to the new argumentcontrol
Bug fixes
- Bug fix to ensure marginaleffects::comparisonsfunctions appropriately recognise internalrowidvariables
- Updates to ensure ensembleprovides 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_maprecognises
levels of theseriesfactor
- Bug fix to ensure lfo_cvrecognises the actual times intime, just in case the user supplies data that doesn’t
start att = 1. Also updated documentation to better
reflect this
- Bug fix to ensure update.mvgamcaptures anyknotsortrend_knotsarguments that were
passed to the original model call
mvgam 1.1.3
New functionalities
- Allow intercepts to be included in process models when
trend_formulais 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.mvgamandstancode.mvgam_prefitmethods 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 driftargument 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 silentargument if the user’s version of
‘cmdstanr’ is adequate
- Updated dependency for ‘brms’ to version >= ‘2.21.0’ so that
read_csv_as_stanfitcan be imported, which should
future-proof the conversion of ‘cmdstanr’ models tostanfitobjects (#70)
mvgam 1.1.2
New functionalities
- Added options for silencing some of the ‘Stan’ compiler and modeling
messages using the silentargument inmvgam()
- 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’ gamobject’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 mvgamto CRAN