Bambi Versions Save

BAyesian Model-Building Interface (Bambi) in Python.

0.13.0

6 months ago

This is the first version of Bambi that is released with a Governance structure. Added in #709. The highlights are the shiny interpret subpackage and the implementation of support for censored models.

New features

  • Bambi now supports censored responses (#697)
  • Implement "exponential" and "weibull" families (#697)
  • Add "kidney" dataset (#697)
  • Add interpret submodule (#684, #695, #699, #701, #732, #736)
    • Implements comparisons, predictions, slopes, plot_comparisons, plot_predictions, and plot_slopes
  • Support censored families

Maintenance and fixes

  • Replace univariate_ordered with ordered (#724)
  • Add missing docstring for center_predictors (#726)
  • Fix bugs in plot_comparison (#731)

Documentation

  • Add docstrings to utility functions (#696)
  • Migrate documentation to Quarto (#712)
  • Add case study for MRP (#716)
  • Add example about ordinal regression (#719)
  • Add example about zero inflated models (#725)
  • Add example about predictions for new groups (#734)

Deprecation

  • Drop official suport for Python 3.8 (#720)
  • Change plots submodule name to interpret (#705)

0.12.0

10 months ago

0.12.0

New features

  • Implement new families "ordinal" and "sratio" for modeling of ordinal responses (#678)
  • Allow families to implement a custom create_extra_pps_coord() (#688)
  • Allow predictions on new groups (#693)

Maintenance and fixes

  • Robustify how Bambi handles dims (#682)
  • Fix links in FAQ (#686)
  • Update additional dependencies install command (#689)
  • Update predict pps docstring (#690)
  • Add warning for aliases athat aren't used (#691)

Documentation

  • Add families to the Getting Started guide (#683)

0.11.0

11 months ago

0.11.0

New features

  • Add support for Gaussian Processes via the HSGP approximation (#632)
  • Add new families: "zero_inflated_poisson", "zero_inflated_binomial", and "zero_inflated_negativebinomial" (#654)
  • Add new families: "beta_binomial" and "dirichlet_multinomial" (#659)
  • Allow plot_cap() to show predictions at the observation level (#668)
  • Add new families: "hurdle_gamma", "hurdle_lognormal", "hurdle_negativebinomial", and "hurdle_poisson" (#676)

Maintenance and fixes

  • Modify how HSGP is built in PyMC when there are groups (#661)
  • Modify how Bambi is imported in the tests (#662)
  • Prevent underscores from being removed in dim names (#664)
  • Bump sphinx dependency to a version greater than 7 (#672)

Documentation

  • Document how to use custom priors (#656)
  • Fix name of arviz traceplot function in the docs (#666)
  • Add example that shows how plot_cap() works (#670)

0.10.0

1 year ago

New features

  • Refactored the codebase to support distributional models (#607)
  • Added a default method to handle posterior predictive sampling for custom families (#625)
  • plot_cap() gains a new argument target that allows to plot different parameters of the response distribution (#627)

Maintenance and fixes

  • Moved the tests directory to the root of the repository (#607)
  • Don't pass dims to the response of the likelihood distribution anymore (#629)
  • Remove requirements.txt and replace with pyproject.toml config file to distribute the package (#631)

Documentation

  • Update examples to work with the new internals (#607)
  • Fixed figure in the Sleepstudy example (#607)
  • Add example using distributional models (#641)

Deprecation

  • Removed versioned documentation webpage (#616)
  • Removed correlated priors for group-specific terms (#607)
  • Dictionary with tuple keys are not allowed for priors anymore (#607)

0.9.3

1 year ago

Maintenance and fixes

  • Update to PyMC >= 5, which means we use PyTensor instead of Aesara now (#613, #614)

0.9.2

1 year ago

New features

  • Implement censored() (#581)
  • Add Formula class (#585)
  • Add common numpy transforms to extra_namespace (#589)
  • Add AsymmetricLaplace family for Quantile Regression (#591)
  • Add 'transforms' argument to plot_cap() (#594)
  • Add panel covariates to plot_cap() and make it more flexible (#596)

Maintenance and fixes

  • Reimplemented predictions to make better usage of xarray data structures (#573)
  • Keep 0 dimensional parameters as 0 dimensional instead of 1 dimensional (#575)
  • Refactor terms for modularity and extensibility (#582)
  • Remove seed argument from model.initial_point() (#592)
  • Add build check function on prior predictive and plot prior (#605)

Documentation

  • Add quantile regression example (#608)

Deprecation

  • Remove automatic_priors argument from Model (#603)
  • Remove string option for data input in Model (#604)

0.9.1

1 year ago

Bambi 0.9.1

New features

  • Add support for jax sampling via numpyro and blackjax samplers (#526)
  • Add Laplace family (#524)
  • Improve Laplace computation and integration (#555 and #563)

Maintenance and fixes

  • Ensure order variable is preserved when ploting priors (#529)
  • Treat offset accordingly (#534)
  • Refactor tests to share data generation code (#531)

Documentation

  • Update documentation following good inferencedata practices (#537)
  • Add logos to repo and docs (#542)

Deprecation

  • Deprecate method argument in favor of inference_method (#554)

0.9.0

1 year ago

New features

  • Bambi now uses PyMC 4.0 as it's backend. Most if not all your previous model should run the same, without the need of any change.
  • Add Plot Conditional Adjusted Predictions plot_cap (#517)

Maintenance and fixes

  • Group specific terms now work with numeric of multiple columns (#516)

0.8.0

2 years ago

Bambi 0.8.0

New features

  • Add VonMises ("vonmises") built-in family (#453)
  • Model.predict() gains a new argument include_group_specific to determine if group-specific effects are considered when making predictions (#470)
  • Add Multinomial ("multinomial") built-in family (#490)

Maintenance and fixes

  • Add posterior predictive sampling method to "categorical" family (#458)
  • Require Python >= 3.7.2 to fix NoReturn type bug in Python (#463)
  • Fixed the wrong builtin link given by link="inverse" was wrong. It returned the same result as link="cloglog" (#472)
  • Replaced plain dictionaries with namedtuples when same dictionary structure was repeated many times (#472)
  • The function check_full_rank() in utils.py now checks the array is 2 dimensional (#472)
  • Removed _extract_family_prior() from bambi/families as it was unnecesary (#472)
  • Removed bambi/families/utils.py as it was unnecessary (#472)
  • Removed external links and unused datasets (#483)
  • Replaced "_coord_group_factor" with "__factor_dim" and "_coord_group_expr" with "__expr_dim" in dimension/coord names (#499)
  • Fixed a bug related to modifying the types of the columns in the original data frame (#502)

Documentation

  • Add circular regression example (#465)
  • Add Categorical regression example (#457)
  • Add Beta regression example (#442)
  • Add Radon Example (#440)
  • Fix typos and clear up writing in some docs (#462)
  • Documented the module bambi/defaults (#472)
  • Improved documentation and made it more consistent (#472)
  • Cleaned Strack RRR example (#479)

Deprecation

  • Removed old default priors (#474)
  • Removed draws parameter from Model.predict() method (#504)

0.7.1

2 years ago

This is a patch release where we fix a bug related to the shape of 2 level categorical group-specific effects (#441)