|
| 1 | +# Changelog |
| 2 | + |
| 3 | +## Unreleased |
| 4 | + |
| 5 | +### Breaking changes |
| 6 | + |
| 7 | +* Renamed `stats_utils` module to `profiler` |
| 8 | +* Data must now be provided to kernels on creation, unbound kernels are |
| 9 | + no longer allowed |
| 10 | +* `Parameter`s are no longer subclasses of `float`, use `.value` to get |
| 11 | + their stored value |
| 12 | +* `ConditioningMethod`s were removed, their uses can be replaced with |
| 13 | + _score functions_ |
| 14 | +* The `biv` parameter to the `Profiler` was removed, confidence |
| 15 | + intervals are univariate only |
| 16 | + |
| 17 | +### Removed |
| 18 | + |
| 19 | +Many distributions and utilities which were created with a specific use |
| 20 | +case in mind and aren't generally useful have been removed: |
| 21 | + |
| 22 | +* `MixtureExponentialModel`, |
| 23 | +* `ExtendedGPD`, |
| 24 | +* `PointProcess`, |
| 25 | +* `CompositionDistribution`, |
| 26 | +* `DetrendedFluctuationAnalysis`, |
| 27 | +* `pettitt_test`, |
| 28 | +* `threshold_selection_GoF` and `threshold_selection_gpd_NorthorpColeman`, |
| 29 | +* extreme values visualisation routines, |
| 30 | +* process samplers (Poisson and Hawkes). |
| 31 | + |
| 32 | +### New features |
| 33 | + |
| 34 | +* Metrics: `{pp,qq}_l{1,2}_distance`, `likelihood`, `expo_ratio` |
| 35 | +* Log-normal distribution |
| 36 | +* Plotting functions now accept an `ax` argument to use instead of the |
| 37 | + global `plt` figure |
| 38 | +* Constant kernel (most useful for testing) |
| 39 | +* `Kernel`s have a `with_covariate` method that returns a new kernel |
| 40 | + with the provided data as covariate, but all parameters are kept the |
| 41 | + same |
| 42 | +* The `random_state` parameter to the `Distribution.rvs` method is now |
| 43 | + explicit and no longer hidden in the `**kwargs` |
| 44 | + |
| 45 | +### Bug fixes |
| 46 | + |
| 47 | +* Fixed `fit_instance` for nested kernels with fixed values |
| 48 | +* Fixed the `TruncatedDistribution` which forgot its bounds after fitting |
| 49 | +* A parameter which shows up in several places in a distribution will |
| 50 | + keep the same value when fitting instead of returning independent |
| 51 | + parameters |
| 52 | + |
| 53 | +### Other |
| 54 | + |
| 55 | +* Add section to README on fitting other score functions than the likelihood |
| 56 | + |
| 57 | +## 0.3.2 - 2021-03-26 |
| 58 | + |
| 59 | +Various bug fixes due to new names in version 0.3.0 |
| 60 | + |
| 61 | +## 0.3.1 - 2021-03-26 |
| 62 | + |
| 63 | +### New features |
| 64 | + |
| 65 | +* New trigonometric kernel |
| 66 | + |
| 67 | +## 0.3.0 - 2021-03-23 |
| 68 | + |
| 69 | +This release aims at making fitting even more generic by replacing |
| 70 | +penalized likelihoods with score functions |
| 71 | + |
| 72 | +### Breaking changes |
| 73 | + |
| 74 | +* Remove `log_likelihood` and `opposite_log_likelihood` methods from |
| 75 | + `Distribution`s |
| 76 | +* Remove `penalty` argument from `fit` |
| 77 | +* `ConditioningMethod`s take `distribution` as the first argument and |
| 78 | + `data` as the second |
| 79 | +* Rename `Likelihood` class to `Profiler` |
| 80 | +* Rename `mle` attribute to `optimum` in `Profiler` class |
| 81 | + |
| 82 | +### New features |
| 83 | + |
| 84 | +* `fit*` methods minimize a `score` function which takes a distribution |
| 85 | + and data as arguments. By default, they maximize the log likelihood. |
| 86 | +* New `metrics` module which contains scoring functions |
| 87 | +* The `Profiler` has a `score_function` argument |
| 88 | +* Add `threshold_selection` based on a multiple threshold penultimate model |
| 89 | +* New QQ-plot visualization methods |
| 90 | + |
| 91 | +### Bug fixes |
| 92 | +* `Distribution.rvs` now passes all parameters to `scipy`'s `rvs` methods. |
| 93 | + In particular, `random_state` is now propagated. |
| 94 | +* `TruncatedDistribution` now ignores data outside its range |
| 95 | + |
| 96 | +### Other |
| 97 | + |
| 98 | +* Improve overall typing of the library |
| 99 | + |
| 100 | +## 0.2.1 - 2021-02-21 |
| 101 | + |
| 102 | +### New features |
| 103 | + |
| 104 | +* Add `TruncatedDistribution` |
| 105 | + |
| 106 | +### Bug fixes |
| 107 | + |
| 108 | +* Avoid replacing non-constant parameters with `ConstantParameter`s |
| 109 | + inside `ParametrizedFunction`s |
| 110 | +* Fix nested kernel fitting |
| 111 | + |
| 112 | +## 0.2.0 - 2021-02-09 |
| 113 | + |
| 114 | +This release aims at making the fitting feature more generic by allowing |
| 115 | +other forms of likelihood conditioning and other metrics than the return |
| 116 | +level in the confidence interval computation. |
| 117 | + |
| 118 | +### Breaking changes |
| 119 | + |
| 120 | +* Remove `simulations` and `stopping_times` modules |
| 121 | +* Removed `Likelihood.return_level` |
| 122 | +* Move `visualisation_utils` to their own subpackage |
| 123 | +* Rename `conditioning_method` argument to `penalty` |
| 124 | +* Rename `profile_likelihood` method to `fit_instance` |
| 125 | + |
| 126 | +### New features |
| 127 | + |
| 128 | +* New method `Likelihood.confidence_interval` with the `metric` argument |
| 129 | + to control which value to estimate |
| 130 | + |
| 131 | +### Other |
| 132 | + |
| 133 | +* Add section to README.rst about parameter profiling |
| 134 | +* Add pre-commit hooks |
| 135 | +* Fix README.rst directives |
| 136 | + |
| 137 | + |
| 138 | +## 0.1.0 - 2021-02-04 |
| 139 | + |
| 140 | +Initial release |
| 141 | + |
| 142 | + |
0 commit comments