This release is a major, but backwards-compatible refactoring that makes `calibr8` models more compatible with respect to independent variable dimensionality, and all kinds of continuous or discrete dependent variable distributions.
Calibration models should now inherit from `ContinuousUnivariateModel` or `ContinuousMultivariateModel` __and__ a "noise model" that inherits from `DistributionMixin`.
Further reading: https://calibr8.readthedocs.io/en/latest/calibr8_inheritance.html
For example:
python
class MyModel(calibr8.ContinuousUnivariateModel, calibr8.NormalNoise):
...
Changes in this version
* Class inheritance was changed & noise model mixins were added, enabling more generalization (also see https://github.com/JuBiotech/calibr8/pull/12)
* On assignment of `CalibrationModel.theta_fitted` the length of the vector is validated (see https://github.com/JuBiotech/calibr8/pull/17).
* `calibr8.HAS_PYMC` and `from calibr8.utils import pm` can be used to condition on the installation of PyMC versions 3 or 4.
* New property `CalibrationModel.ndim` was added.
* `NumericPosterior` was replaced by `UnivariateInferenceResult` and a corresponding hierarchy of more generalized `InferenceResult` types.