From implementing a few distributions, some insights on potential improvements:
- the broadcasting logic could/should be abstracted to apply to a certain subset of parameters rather than be copy-pasted in every class
- there is repeated boilerplate, this could be resolved via split into public/private methods such as
pdf/_pdf, similar to sktime's fit/_fit
- we should add logical consistency tests, e.g.,
cdf being inverse to ppf, or pdf and log_pdf being compatible, or more sophisticated tests such as subtracting the mean shifting functions (or not affecting them) accordingly
- worth thinking about: logical consistency tests of MC approximations against exact implementation, although that can eat a lot of runtime (so perhaps not?)
- some distributions, such as empirical or composites, need careful thinking about the subsetting logic - so an extension contract for
iloc and loc indexing needs to be thought out so it can affect parameters
- row/column subsetting via
loc, iloc, should be tested
From implementing a few distributions, some insights on potential improvements:
pdf/_pdf, similar tosktime'sfit/_fitcdfbeing inverse toppf, orpdfandlog_pdfbeing compatible, or more sophisticated tests such as subtracting themeanshifting functions (or not affecting them) accordinglyilocandlocindexing needs to be thought out so it can affect parametersloc,iloc, should be tested