Skip to content

Releases: paul-buerkner/brms

brms 0.7.0

18 Jan 12:52
Compare
Choose a tag to compare

new features

  • allow to use variational inference algorithms
    as alternative to the NUTS sampler by specifying
    argument algorithm in the brm function
  • implement beta regression models through family
    Beta
  • implement zero-inflated binomial models through family
    zero_inflated_binomial
  • implement multiplicative effects for family
    bernoulli to fit (among others) 2PL IRT models
  • allow to combine fixed and random effects estimates using
    the new coef method
  • allow to call the residuals method with newdata
  • allow new levels of random effects grouping
    factors in the predict, fitted, and residuals
    methods using argument allow_new_levels
  • allow to selectively exclude random effects
    in the predict, fitted, and residuals
    methods using argument re_formula
  • add a plot method for objects returned by
    method hypothesis to visualize prior and posterior
    distributions of the hypotheses being tested

other changes

  • improve evaluation of the response
    part of the formula argument to
    reliably allow terms with more than one variable
    (e.g., y/x ~ 1)
  • improve sampling efficiency of models containing
    many fixed effects through centering the fixed effects
    design matrix
  • improve sampling efficiency of models containing
    uncorrelated random effects specified by means
    of (random || group) terms in formula
  • utilize user-defined functions in the Stan code
    of ordinal models to improve readability as well as
    sampling efficiency
  • make sure that model comparisons using LOO
    or WAIC are only performed when models are
    based on the same responses
  • use some generic functions of the lme4
    package to avoid unnecessary function masking. This
    leads to a change in the argument order of
    method VarCorr
  • allow to change the ggplot theme in the
    plot method through argument theme
  • remove the n. prefix in arguments
    n.iter, n.warmup, n.thin, n.chains,
    and n.cluster of the brm function.
    The old argument names remain usable as deprecated aliases
  • amend names of random effects parameters to simplify
    matching with their respective grouping factor levels

bug fixes

  • fix a bug in the hypothesis method
    that could cause valid model parameters to be falsely
    reported as invalid
  • fix a bug in the prior_samples method
    that could cause prior samples of parameters
    of the same class to be artifically correlated
  • fix Stan code of linear models with
    moving-average effects and non-identity link functions
    so that they no longer contain code related solely
    to autoregressive effects
  • fix a bug in the evaluation of formula that
    could cause complicated random effects terms to be
    falsely treated as fixed effects
  • fix several bugs when calling the fitted
    and predict methods with newdata

brms 0.6.0

14 Nov 10:34
Compare
Choose a tag to compare

new features

  • add support for zero-inflated and hurdle models
  • implement inverse gaussian models through family inverse.gaussian
  • allow to specify truncation boundaries of the response variable
  • add support for autoregressive (AR) effects of residuals, which can
    be modeled using the cor_ar and cor_arma functions
  • stationary autoregressive-moving-average (ARMA) effects
    of order one can now also be fitted using special covariance matrices
  • implement multivariate student-t models
  • binomial and ordinal families now support the cauchit link function
  • allow family functions to be used in the family argument
  • easy access to various rstan plotting functions
    using the stanplot method
  • implement horseshoe priors to model sparsity in
    fixed effects coefficients
  • automatically scale default standard deviation priors so that
    they remain only weakly informative independent on the response scale
  • report model weights computed by the loo package when comparing
    multiple fitted models

other changes

  • separate the fixed effects Intercept from other fixed effects
    in the Stan code to slightly improve sampling efficiency
  • move autoregressive (AR) effects of the response from the cor_ar
    to the cor_arr function as the result of implementing
    AR effects of residuals
  • improve checks on argument newdata used in the
    fitted and predict method
  • method standata is now the only way to extract data
    that was passed to Stan from a brmsfit object
  • slightly improve Stan code for models containing no random effects
  • change the default prior of the degrees of freedom of the
    student family to gamma(2,0.1)
  • improve readability of the output of method VarCorr
  • export the make_stancode function to give users
    direct access to Stan code generated by brms
  • rename the brmdata function to make_standata.
    The former remains usable as a deprecated alias
  • improve documenation to better explain differences in
    autoregressive effects across R packages

bug fixes

  • fix a bug that could cause an unexpected error
    when predict is called with new data
  • avoid side effects of the rstan compilation routines that could
    occasionally cause R to crash
  • make brms work correctly with loo version 0.1.3
  • fix a bug that could cause WAIC and LOO estimates to be slightly
    incorrect for gaussian models with log link

brms 0.5.0

13 Sep 09:42
Compare
Choose a tag to compare

new features

  • compute the Watanabe-Akaike information criterion (WAIC) and leave-one-out cross-validation (LOO) using the loo package.
  • provide an interface to shinystan with S3 method 'launch_shiny'.
  • new functions 'get_prior' and 'set_prior' to make prior specifications easier.
  • log-likelihood values and posterior predictive samples can now be calculated within R after the model has been fitted.
  • make predictions based on new data using S3 method 'predict'.
  • allow for customized covariance structures of grouping factors with multiple random effects.
  • new S3 methods 'fitted' and 'residuals' to compute fitted values and residuals, respectively.

other changes

  • arguments 'WAIC' and 'predict' are removed from function 'brm' as they are no longer necessary.
  • new argument 'cluster_type' in function 'brm' allowing to choose the cluster type created by the parallel package
  • remove chains that fail to initialize while sampling in parallel leaving the other chains untouched.
  • redesign trace and density plots to be faster and more stable.
  • S3 method 'VarCorr' now always returns covariance matrices regardless of whether correlations were estimated.

bug fixes

  • fix a bug in S3 method 'hypothesis' related to the calculation of Bayes factors for point hypotheses.
  • user defined covariance matrices that are not strictly positive definite for numerical reasons should now be handled correctly.
  • fix minor issues with internal parameter naming.
  • perform additional checking on user defined priors.

brms 0.4.1

09 Aug 20:18
Compare
Choose a tag to compare
  • allow for sampling from all specified proper priors in the model
  • calculate Bayes factors for point hypotheses in S3 method 'hypothesis'
  • fix a bug that could cause an error for models with multiple grouping factors
  • fix a bug that could cause an error for weighted poisson and exponential models

brms 0.4.0

23 Jul 13:43
Compare
Choose a tag to compare

new features

  • implement the Wakanabe-Akaike Information Criterion (WAIC)
  • implement the ||-syntax for random effects allowing for the estimation of random effects standard deviations without the estimation of correlations.
  • allow to combine multiple grouping factors within one random effects argument using the interaction symbol ':'
  • generalize S3 method 'hypothesis' to be used with all parameter classes not just fixed effects. In addition, one-sided hypothesis testing is now possible.
  • introduce new family 'multigaussian' allowing for multivariate normal regression.
  • introduce new family 'bernoulli' for dichotomous response variables as a more efficient alternative to families 'binomial' or 'categorical' in this special case.

other changes

  • slightly change the internal structure of brms to reflect that rstan is finally on CRAN.
  • thoroughly check validity of the response variable before the data is passed to Stan.
  • prohibit variable names containing double underscores '__' to avoid naming conflicts.
  • allow function calls with several arguments (e.g. poly(x,3)) in the formula argument of function 'brm'.
  • always center random effects estimates returned by S3 method 'ranef' around zero.
  • prevent the use of customized covariance matrices for grouping factors with multiple random effects for now.
  • remove any experimental JAGS code from the package.

bug fixes

  • fix a bug in S3 method 'hypothesis' leading to an error when numbers with decimal places were used in the formulation of the hypotheses.
  • fix a bug in S3 method 'ranef' that caused an error for grouping factors with only one random effect.
  • fix a bug that could cause the fixed intercept to be wrongly estimated in the presence of multiple random intercepts.

brms 0.3.0

29 Jun 17:41
Compare
Choose a tag to compare
  • introduced new methods 'par.names' and 'posterior.samples' for class 'brmsfit' to extract parameter names and posterior samples for given parameters, respectively.
  • introduced new method 'hypothesis' for class 'brmsfit' allowing to test non-linear hypotheses concerning fixed effects
  • introduced new argument 'addition' in function brm to get a more flexible approach in specifying additional information on the response variable (e.g., standard errors for meta-analysis). Alternatively, this information can also be passed to the formula argument directly.
  • introduced weighted and censored regressions through argument 'addition' of function brm
  • introduced new argument 'cov.ranef' in function brm allowing for customized covariance structures of random effects
  • introduced new argument 'autocor' in function brm allowing for autocorrelation of the response variable.
  • introduced new functions 'cor.ar', 'cor.ma', and 'cor.arma', to be used with argument 'autocor' for modeling autoregressive, moving-average, and autoregressive-moving-average models.
  • amended parametrization of random effects to increase efficiency of the sampling algorithms
  • improved vectorization of sampling statements
  • fixed a bug that could cause an error when fitting poisson models while predict = TRUE
  • fixed a bug that caused an error when sampling only one chain while silent = TRUE