Precise examples will help make clear the different visions for Distributions.jl
.
MLJ.jl is an interface to many ML models.
Some of their models are wrapped by MLJ maintainers, some models are wrapped by the original package authors using MLJModelInterface.jl.
Currently they have models from 14 packages w/ more on the way.
It is nice that the MLJ maintainers don’t have to maintain 14+ packages.
@Tamas_Papp is this the type vision you have in mind for Distributions.jl
?
Distributions.jl
will be the interface to various distributions in the Julia ecosystem w/ the main distributions inside the original package?
Then authors of private repos (such as SkewDist.jl) can make their stuff available via the Distributions.jl
interface?
I prefer the current structure of Distributions.jl
unless I misunderstood your point.
@tlienart @cscherrer I’m curious to hear your views (if you have anything to add)
@dlakelan you bring up a great point which is discussed here.
PERT (3 param) is a special case of Beta (4 param), which is a special case of GeneralizedBeta (5 param).
Actually 15+ distributions are a special case of GeneralizedBeta.
This could save A LOT of code bc we know the closed form for the n-th moment of the GeneralizedBeta & thus for it’s 17 sub-distributions:
This field-guide claims over 100 named continuous-uni distributions can be written as special cases of only 5 generalized families: Pearson, GeneralizedBeta, GeneralizedBetaPrime…