This release adds support for pandas 2.0 and above. Additionally adds a functionality to find
version add-ons and renames covariance
to correlation
.
- Remove upper bound for pandas - Issue#349 by @pvk-developer
- Rename covariance to correlation - PR#346 by @frances-h
- Add functionality to find version add-on - Issue#349 by @frances-h
This release adds support for python 3.10 and 3.11. Additionally, it drops support for python 3.6.
- Support python 3.10 and above - PR#338 by @pvk-developer
- Copulas Package Maintenance Updates - Issue#336 by @pvk-developer
- Add support for python 3.10 - PR#329 by @katxiao
This release adds gaussian
as a fallback distribution in case the user specified one fails. It also improves the fit
of the beta
distribution by properly estimating the loc
and scale
parameters.
- Add gaussian as fallback - Issue#320 by @fealho
- Improve the fit of the Beta distribution: Use the new loc and scale - Issue#317 by @pvk-developer
This release improves the random_state
functionality by taking in RandomState objects in addition to
random seeds.
- Use random_state instead of random_seed - Issue#113 by @katxiao
This release makes Copulas compatible with Python 3.9! It also improves library maintenance by updating dependencies, reorganizing the CI workflows, adding pip check to the workflows and removing unused files.
- Add support for Python 3.9 - Issue#282 by @amontanez24
- Remove entry point in setup.py - Issue#280 by @amontanez24
- Update pandas dependency range - Issue#266 by @katxiao
- Fix repository language - Issue#272 by @pvk-developer
- Add pip check to CI workflows - Issue#274 by @pvk-developer
- Reorganize workflows and add codecov - PR#267 by @csala
- Constrain jinja2 versions - PR#269 by @fealho
This release improves performance by changing the way scipy stats is used, calling their methods directly without creating intermediate instances.
It also fixes a bug introduced by the scipy 1.7.0 release where some distributions fail to fit because scipy validates the learned parameters.
- Exception: Optimization converged to parameters that are outside the range allowed by the distribution. - Issue #264 by @csala
- Use scipy stats models directly without creating instances - Issue #261 by @csala
This release introduces conditional sampling for the GaussianMultivariate modeling. The new conditioning feature allows passing a dictionary with the values to use to condition the rest of the columns.
It also fixes a bug that prevented constant distributions to be restored from a dictionary and updates some dependencies.
- Conditional sampling from Gaussian copula - Issue #154 by @csala
- ScipyModel subclasses fail to restore constant values when using
from_dict
- Issue #212 by @csala
This release introduces a few changes to optimize processing speed by re-implementing the Gaussian KDE pdf to use vectorized root finding methods and also adding the option to subsample the data during univariate selection.
- Make
gaussian_kde
faster - Issue #200 by @k15z and @fealho - Use sub-sampling in
select_univariate
- Issue #183 by @csala
- Use
corr
instead ofcov
in the GaussianMultivariate - Issue #195 by @rollervan - Add arguments to GaussianKDE - Issue #181 by @rollervan
- Log Laplace Distribution - Issue #188 by @rollervan
- Add Uniform Univariate - Issue #179 by @rollervan
- Raise numpy version upper bound to 2 - Issue #178 by @csala
- Add Student T Univariate - Issue #172 by @gbonomib
- Error in Quickstarts : Unknown projection '3d' - Issue #174 by @csala
Important revamp of the internal implementation of the project, the testing infrastructure and the documentation by Kevin Alex Zhang @k15z, Carles Sala @csala and Kalyan Veeramachaneni @kveerama
- Reimplementation of the existing Univariate distributions.
- Addition of new Beta and Gamma Univariates.
- New Univariate API with automatic selection of the optimal distribution.
- Several improvements and fixes on the Bivariate and Multivariate Copulas implementation.
- New visualization module with simple plotting patterns to visualize probability distributions.
- New datasets module with toy datasets sampling functions.
- New testing infrastructure with end-to-end, numerical and large scale testing.
- Improved tutorials and documentation.
- Convert import_object to get_instance - Issue #114 by @JDTheRipperPC
- Allow creating copula classes directly - Issue #117 by @csala
- Remove
select_copula
fromBivariate
- Issue #118 by @csala - Rename TruncNorm to TruncGaussian and make it non standard - Issue #102 by @csala @JDTheRipperPC
- Error on Frank and Gumble sampling - Issue #112 by @csala
- Add support to Python 3.7 - Issue #53 by @JDTheRipperPC
- Document RELEASE workflow - Issue #105 by @JDTheRipperPC
- Improve serialization of univariate distributions - Issue #99 by @ManuelAlvarezC and @JDTheRipperPC
- The method 'select_copula' of Bivariate return wrong CopulaType - Issue #101 by @JDTheRipperPC
truncnorm
distribution and a generic wrapper forscipy.rv_continous
distributions - Issue #27 by @amontanez, @csala and @ManuelAlvarezCIndependence
bivariate copulas - Issue #46 by @aliciasun, @csala and @ManuelAlvarezC- Option to select seed on random number generator - Issue #63 by @echo66 and @ManuelAlvarezC
- Option on Vine copulas to select number of rows to sample - Issue #77 by @ManuelAlvarezC
- Make copulas accept both scalars and arrays as arguments - Issues #85 and #90 by @ManuelAlvarezC
- Ability to properly handle constant data - Issues #57 and #82 by @csala and @ManuelAlvarezC
- Tests for analytics properties of copulas - Issue #61 by @ManuelAlvarezC
- Improved documentation - Issue #96 by @ManuelAlvarezC
- Fix bug on Vine copulas, that made it crash during the bivariate copula selection - Issue #64 by @echo66 and @ManuelAlvarezC
- Add serialization to Vine copulas.
- Add
distribution
as argument for the Gaussian Copula. - Improve Bivariate Copulas code structure to remove code duplication.
- Fix bug in Vine Copulas sampling: 'Edge' object has no attribute 'index'
- Improve code documentation.
- Improve code style and linting tools configuration.
- New API for stats methods.
- Standarize input and output to
numpy.ndarray
. - Increase unittest coverage to 90%.
- Add methods to load/save copulas.
- Improve Gaussian copula sampling accuracy.
- Different Copula types separated in subclasses
- Extensive Unit Testing
- More pythonic names in the public API.
- Stop using third party elements that will be deprected soon.
- Add methods to sample new data on bivariate copulas.
- New KDE Univariate copula
- Improved examples with additional demo data.
- First release on PyPI.