Skip to content

Roadmap

Tomás Capretto edited this page Dec 16, 2020 · 30 revisions

Short term (next one or two releases)

  • Consolidate ArviZ integration

    • Document new functionality
    • Support new functionality (including loo-related diagnostics)
  • Revisit default priors see #230

  • Improve documentation

  • Clean and update code, specially to remove inconsistencies or incomplete code

  • Revisit tests.

  • Work on porting code from books

    • Regression and other stories
    • Statistical Rethinking

Long term (~ next year)

  • Think about long-term features
    • INLA support?
    • Splines
    • Gaussian processes
    • PyMC4 support
    • ?

Ideas for next release

1. New features

  1. Allow "R-side" covariance structures (#110) and covariance priors in general (for varying effects too)
  2. Implement scikit-learn compatibility (#105) -> a .predict() method.
  3. Add support for splines (#214)
  4. Add support for Gaussian processes (#215)
  5. save_model and load_model (#259)
  6. Fromula in priors (#174)
  7. Add option to plot model specification (#287)

2. Fixes

  1. Bambi fails when p > n (#278)
  2. Raise exception if custom priors on fixed variables include hyperpriors (implying random effects) (#133)
  3. Any solvable problem that we found while working on this relase.

3. Documentation

  1. Add example of posterior predictive sampling (and or check) (#252)
  2. Add example of prior predictive sampling (and or check) (#251)

4. Tests

We added tests during the last release, but we haven't revisited existing tests.

  1. Revisit and expand tests in general.

5. Some things I think will give us more power and ease things in the long-term.

  1. Revisit NA handling implementation (#243)
  2. Write custom parser for model formula. This will give us more control on how users write model formula.
  3. Allow specification of non-builtin backend (#201)
  4. Decrease our dependency on statsmodels.

Some personal notes (by @tomicapretto)

I would like to work on 5.1. and 5.2. This will result in dropping Patsy and all its solid classes and methods. However in my experience I felt it added extra complexity when trying to extend and maintain things in Bambi. If I achieve something clearer and more specific to our needs, it will have been worth in the future. For example, we can immediately get a unique formula for model specification instead of having common and group_specific.

I'm not sure we should drop statsmodels completely (at least for now). Maybe we can start by re-implementing things that limit our capacity to extend Bambi.

Clone this wiki locally