- The
Distribution.fit
method accepts ascipy_args
dictionary which is passed toscipy
'sminimize
function. - The confidence interval computed by the profiler now uses root finding to find the bounds where the likelihood ratio test starts failing. This means confidence intervals can only be computed for the distribution's parameters.
- Upper bounds on dependencies were removed, improving compatibility with recent versions.
- Renamed
stats_utils
module toprofiler
- Data must now be provided to kernels on creation, unbound kernels are no longer allowed
Parameter
s are no longer subclasses offloat
, use.value
to get their stored valueConditioningMethod
s were removed, their uses can be replaced with score functions- The
biv
parameter to theProfiler
was removed, confidence intervals are univariate only
Many distributions and utilities which were created with a specific use case in mind and aren't generally useful have been removed:
MixtureExponentialModel
,ExtendedGPD
,PointProcess
,CompositionDistribution
,DetrendedFluctuationAnalysis
,pettitt_test
,threshold_selection_GoF
andthreshold_selection_gpd_NorthorpColeman
,- extreme values visualisation routines,
- process samplers (Poisson and Hawkes).
- Metrics:
{pp,qq}_l{1,2}_distance
,likelihood
,expo_ratio
- Log-normal distribution
- Plotting functions now accept an
ax
argument to use instead of the globalplt
figure - Constant kernel (most useful for testing)
Kernel
s have awith_covariate
method that returns a new kernel with the provided data as covariate, but all parameters are kept the same- The
random_state
parameter to theDistribution.rvs
method is now explicit and no longer hidden in the**kwargs
- Fixed
fit_instance
for nested kernels with fixed values - Fixed the
TruncatedDistribution
which forgot its bounds after fitting - A parameter which shows up in several places in a distribution will keep the same value when fitting instead of returning independent parameters
- Add section to README on fitting other score functions than the likelihood
- Add changelog with all version changes up to this one
Various bug fixes due to new names in version 0.3.0
- New trigonometric kernel
This release aims at making fitting even more generic by replacing penalized likelihoods with score functions
- Remove
log_likelihood
andopposite_log_likelihood
methods fromDistribution
s - Remove
penalty
argument fromfit
ConditioningMethod
s takedistribution
as the first argument anddata
as the second- Rename
Likelihood
class toProfiler
- Rename
mle
attribute tooptimum
inProfiler
class
fit*
methods minimize ascore
function which takes a distribution and data as arguments. By default, they maximize the log likelihood.- New
metrics
module which contains scoring functions - The
Profiler
has ascore_function
argument - Add
threshold_selection
based on a multiple threshold penultimate model - New QQ-plot visualization methods
Distribution.rvs
now passes all parameters toscipy
'srvs
methods. In particular,random_state
is now propagated.TruncatedDistribution
now ignores data outside its range
- Improve overall typing of the library
- Add
TruncatedDistribution
- Avoid replacing non-constant parameters with
ConstantParameter
s insideParametrizedFunction
s - Fix nested kernel fitting
This release aims at making the fitting feature more generic by allowing other forms of likelihood conditioning and other metrics than the return level in the confidence interval computation.
- Remove
simulations
andstopping_times
modules - Removed
Likelihood.return_level
- Move
visualisation_utils
to their own subpackage - Rename
conditioning_method
argument topenalty
- Rename
profile_likelihood
method tofit_instance
- New method
Likelihood.confidence_interval
with themetric
argument to control which value to estimate
- Add section to README.rst about parameter profiling
- Add pre-commit hooks
- Fix README.rst directives
Initial release