Releases: ropensci/dynamite
Releases · ropensci/dynamite
dynamite version 1.5.2
dynamite 1.5.2
- The main package vignette has been temporarily removed as it contained out-of-date information. Please see the arXiv preprint for up-to-date information instead: https://arxiv.org/abs/2302.01607
dynamite 1.5.1
- The
type
argument ofcoef()
andplot()
has been replaced bytypes
accepting multiple types simultaneously, similar toas.data.table()
andas.data.frame()
. - The functions
plot_betas()
,plot_deltas()
,plot_nus()
,plot_lambdas()
andplot_psis()
have been deprecated and are now provided via the default plot method by selecting the appropriatetypes
. - A new argument
plot_type
has been added to control what type of plot will be drawn by theplot()
method. The default value"default"
draws the posterior means and posterior intervals of all parameters. The old functionality of drawing posterior densities and traceplots is provided by the option"trace"
. - The
plot()
method has gained the argumentn_params
to limit the amount of parameters drawn at once (per parameter type). - Both time-varying and time-invariant parameters can now be plotted simultaneously.
- Fixed an issue with
predict()
andfitted()
for multinomial responses. - Priors of the cutpoint parameters of the
cumulative
family are now customizable. - Both
factor
andordered factor
responses are now supported forcategorical
andcumulative
families. In addition,ordered factor
columns ofdata
are no longer converted tofactor
columns. - Arguments that have the different names but the same functionality between
rstan
andcmdstanr
can now be used interchangeably for either backend, such asiter
anditer_samples
. - The latent factor component was reparametrized for additional robustness. User-visible changes are related to priors: Instead of prior on the standard deviations
sigma_lambda
andtau_psi
, prior is now defined onzeta
, the sum of these, as well as onkappa
, which is the proportion ofzeta
attributable tosigma_lambda
.
dynamite 1.5.0
- Estimation of dynamic multivariate panel models with multiple imputation is now available via the function
dynamice()
which uses themice
package. predict
andfitted
functions no longer permutes the posterior samples when all samples are used i.e. whenn_draws = NULL
(default). This also corrects the standard error estimates ofloo()
, which were not correct earlier due to the mixing of chains.- Added an argument
thin
forloo()
,predict()
andfitted()
methods. - Print method now only prints the run time for the fastest and the slowest chain instead of all chains.
- A new exported function
hmc_diagnostics()
is now available. - Added a vignette on
get_code()
andget_data()
functions and how they can be used to modify the generated Stan code and perform variational Bayes inference. - Contemporaneous dependencies are now allowed between different components of multivariate distributions, e.g.,
obs(c(y, x) ~ x | 1, family = "mvgaussian")
. - Ordered probit and logit regressions are now available via
obs(., family = "cumulative", link = "probit")
andobs(., family = "cumulative", link = "logit")
, respectively.
dynamite 1.4.11
- The package now depends on
data.table
version 1.15.0 or higher and theggforce
package. - Added a
plot
method fordynamiteformula
objects. This method draws a directed acyclic graph (DAG) of the model structure as a snapshot in time with timepoints from the past and the future equal to the highest-order lag dependency in the model as aggplot
object. Alternatively, setting the argumenttikz = TRUE
returns the DAG as acharacter
string in TikZ format. See the documentation for more details.
dynamite 1.4.10
- The formula interface now prohibits additional invalid
fixed()
,varying()
, andrandom()
definitions inobs()
. - Fixed an error in Stan code generation if an offset term was included in the model formula.
- Fixed an issue when using
character
typegroup
variables.
dynamite 1.4.9
- Added option to input a custom model code for
dynamite
which can be used to tweak some aspects of the model (no checks on the compatibility with the post processing are made). - Changed the default optimization level for
cmdstanr
backend toO0
, as theO1
is not necessarily stable in all cases. - Added a new argument
full_diagnostics
to theprint()
method which can be used to control the computation of the ESS and Rhat values. By default, these are now computed only for the time- and group-invariant parameters (which are also printed). - The
print()
method now also warns about possible divergences, treedepth saturation, and low E-BMFI. - Fixed an error related to
predict()
code generation.
dynamite 1.4.8
- Made several performance improvements to data parsing.
dynamite()
will now retain the original column order ofdata
in all circumstances.
dynamite 1.4.7
- Added a note on priors vignette regarding default priors for
tau
parameters. - Fixed
mcmc_diagnostics()
function so that HMC diagnostics are checked also for models run with thecmdstanr
backend.
dynamite 1.4.6
- Fixed the construction of latent factors for categorical responses.
dynamite 1.4.5
- The
get_data()
method fordynamitefit
objects now correctly uses the previously defined priors instead of the default ones. - Fixed a bug in indexing of random effect terms.
- Limited the number of parallel threads used by the
data.table
package to 1 in examples, tests, and vignettes for CRAN.
dynamite 1.4.4
- Example of the
lfo()
method now uses a single chain and core to avoid a compatibility issue with CRAN. - Fixed
plot_nus()
for categorical responses. - Fixed an issue which caused an error in error message of
predict()
andfitted()
methods whennewdata
contained duplicate time points within group. - Fixed an issue (#72) which caused NA ELPD value in
lfo()
in case of missing data.
dynamite 1.4.3
- Fixed an issue with
formula.dynamitefit()
with models defined usinglags()
with a vectork
argument with more than one value. - Fixed an issue in the
lfo()
method which resulted wrong ELPD estimates in panel data setting. - Fixed an issue in the
lfo()
method which in case of lagged responses caused the ELPD computations to skip last time points.
dynamite 1.4.2
- Added further checks and fixes for backwards compatibility with Stan.
- Fixed code generation for intercept-only categorical model.
- Fixed code generation in the transformed data block to be backwards compatible with Stan.
dynamite 1.4.1
- Fixed an issue in
dynamite()
data parsing that caused substantial memory usage in some instances. - Fixed an issue with Stan code generation for categorical responses.
- Fixed an issue with
formula.dynamitefit()
with models that had multinomial channels. - Fixed an issue with
formula.dynamitefit()
when thedf
argument ofsplines()
wasNULL
. - Formulas with
trials()
andoffset()
terms are now properly parsed when usinglags()
. - Removed experimental shrinkage feature.
dynamite 1.4.0
dynamite()
now supports parallel computation via the reduce-sum functionality of Stan.- Fixed an issue in
predict()
that resulted in redundantNAs produced
warnings. - Fixed an issue with
formula.dynamitefit()
with models that had multivariate channels.
dynamite 1.3.3
- Fixed a partial argument name issue in the internal
update()
method used bylfo()
.
dynamite version 1.3.2
dynamite 1.3.2
- Fixed the regularization of the default priors so that they match with the priors vignette.
- Fixed an issue with the
update()
method for model fit objects without a group variable. - Fixed an issue with the
update()
method inlfo()
. - Fixed an issue with
"tau"
and"tau_alpha"
type parameters with theas_draws()
method for categorical responses. - Fixed an issue with Stan code generation for models with time-varying covariates for categorical responses.
- Fixed an issue with
formula.dynamitefit()
when the model contained asplines
component.
dynamite 1.3.1
- Fixed an incorrect URL in the main vignette.
"dynamitefit"
objects no longer contain the data used for Stan sampling by default. This data can still be retrieved viaget_data()
.- Added a new package data
gaussian_simulation_fit
that includes the model fit of thedynamite_simulation
vignette for the example with time-varying effects. - The package data
latent_factor_example
andlatent_factor_example_fit
have been removed to accommodate CRAN package size requirements. The code to generate these data is still available in thedata_raw
directory. - Fixed an issue with
formula.dynamitefit()
when the model formula contained alags
component or alfactor
component.
dynamite version 1.3.0
- Added support for Student's t-distribution via
"student"
family inobs()
. - Added support for the multinomial distribution via
"multinomial"
family inobs()
. Atrials()
term is now mandatory for multinomial channels. - The generated Stan code now automatically switches between the array keyword syntax and the deprecated syntax based on the backend Stan version (see https://mc-stan.org/docs/reference-manual/brackets-array-syntax.html for details).
- The presence of variables used in
trials()
andoffset()
is now properly checked in the data. - The model components
trials()
andoffset()
now function correctly inpredict()
when they contain response variables of the model. - Fixed the calculation of the number of observations in
nobs()
for models that have multivariate channels. - Fixed an issue in
predict()
with models that contained multivariate channels with random effects. - Scenarios that have zero non-missing observations at specific time indices are now handled properly in the Stan code generation.
- The names of additional arguments passed to
rstan::sampling()
and thesample()
method of thecmdstanr
Stan model via...
in the call todynamite
are now checked and unrecognized arguments will be ignored. - Added a new function
get_parameter_dims()
that returns the parameter dimensions of the Stan model for"dynamitefit"
and"dynamiteformula"
objects. - Group-level random effects are now supported also for categorical and multinomial channels.
- Added a new vignette that describes how the package can be used to simulate data from a dynamic multivariate panel model.
- Added a new vignette that describes how the default priors of the model parameters are defined.
dynamite version 1.2.0
- Added support for the multivariate gaussian distribution via
"mvgaussian"
family inobs
. See the documentation ofdynamiteformula
for details on how to define multivariate channels. - Latent factors were not previously used in predict by error, this is now fixed. However, due to identifiability constraints no new group levels are allowed with models using latent factors.
- Response variable names of the channels are now processed to avoid invalid variable names in the generated Stan code. Note that these variables names should be used when defining priors and when using methods of the
dynamitefit
class. You can use the functionsget_priors
andget_parameter_names
to see the names that are available, as before. - Optimized prediction code by removing redundant expressions and using better indexing.