gemseo.uncertainty.distributions.scipy.distribution_fitter module#

Fitting a probability distribution to data using the SciPy library.

class SPDistributionFitter(variable, data)[source]#

Bases: BaseDistributionFitter[SPDistribution]

Fit a probability distribution to data using the SciPy library.

Initialize self. See help(type(self)) for accurate signature.

Parameters:
  • variable (str) -- The name of the variable.

  • data (RealArray) -- A data array.

class DistributionName(*values)#

Bases: StrEnum

alpha = 'alpha'#
anglit = 'anglit'#
arcsine = 'arcsine'#
argus = 'argus'#
beta = 'beta'#
betaprime = 'betaprime'#
bradford = 'bradford'#
burr = 'burr'#
burr12 = 'burr12'#
cauchy = 'cauchy'#
chi = 'chi'#
chi2 = 'chi2'#
cosine = 'cosine'#
crystalball = 'crystalball'#
dgamma = 'dgamma'#
dpareto_lognorm = 'dpareto_lognorm'#
dweibull = 'dweibull'#
expon = 'expon'#
exponnorm = 'exponnorm'#
exponpow = 'exponpow'#
exponweib = 'exponweib'#
f = 'f'#
fatiguelife = 'fatiguelife'#
foldcauchy = 'foldcauchy'#
foldnorm = 'foldnorm'#
gamma = 'gamma'#
gausshyper = 'gausshyper'#
genexpon = 'genexpon'#
genextreme = 'genextreme'#
gengamma = 'gengamma'#
genhalflogistic = 'genhalflogistic'#
genhyperbolic = 'genhyperbolic'#
geninvgauss = 'geninvgauss'#
genlogistic = 'genlogistic'#
gennorm = 'gennorm'#
genpareto = 'genpareto'#
gibrat = 'gibrat'#
gompertz = 'gompertz'#
gumbel_l = 'gumbel_l'#
gumbel_r = 'gumbel_r'#
halfcauchy = 'halfcauchy'#
halfgennorm = 'halfgennorm'#
halflogistic = 'halflogistic'#
halfnorm = 'halfnorm'#
hypsecant = 'hypsecant'#
invgamma = 'invgamma'#
invgauss = 'invgauss'#
invweibull = 'invweibull'#
irwinhall = 'irwinhall'#
jf_skew_t = 'jf_skew_t'#
johnsonsb = 'johnsonsb'#
johnsonsu = 'johnsonsu'#
kappa3 = 'kappa3'#
kappa4 = 'kappa4'#
ksone = 'ksone'#
kstwo = 'kstwo'#
kstwobign = 'kstwobign'#
landau = 'landau'#
laplace = 'laplace'#
laplace_asymmetric = 'laplace_asymmetric'#
levy = 'levy'#
levy_l = 'levy_l'#
levy_stable = 'levy_stable'#
loggamma = 'loggamma'#
logistic = 'logistic'#
loglaplace = 'loglaplace'#
lognorm = 'lognorm'#
lomax = 'lomax'#
maxwell = 'maxwell'#
mielke = 'mielke'#
moyal = 'moyal'#
nakagami = 'nakagami'#
ncf = 'ncf'#
nct = 'nct'#
ncx2 = 'ncx2'#
norm = 'norm'#
norminvgauss = 'norminvgauss'#
pareto = 'pareto'#
pearson3 = 'pearson3'#
powerlaw = 'powerlaw'#
powerlognorm = 'powerlognorm'#
powernorm = 'powernorm'#
rayleigh = 'rayleigh'#
rdist = 'rdist'#
recipinvgauss = 'recipinvgauss'#
reciprocal = 'reciprocal'#
rel_breitwigner = 'rel_breitwigner'#
rice = 'rice'#
rv_histogram = 'rv_histogram'#
semicircular = 'semicircular'#
skewcauchy = 'skewcauchy'#
skewnorm = 'skewnorm'#
studentized_range = 'studentized_range'#
t = 't'#
trapezoid = 'trapezoid'#
triang = 'triang'#
truncexpon = 'truncexpon'#
truncnorm = 'truncnorm'#
truncpareto = 'truncpareto'#
truncweibull_min = 'truncweibull_min'#
tukeylambda = 'tukeylambda'#
uniform = 'uniform'#
vonmises = 'vonmises'#
weibull_max = 'weibull_max'#
weibull_min = 'weibull_min'#
wrapcauchy = 'wrapcauchy'#
class FittingCriterion(*values)[source]#

Bases: StrEnum

ANDERSON_DARLING = 'AndersonDarling'#
CRAMER_VON_MISES = 'CramerVonMises'#
FILLIBEN = 'Filliben'#
KOLMOGOROV_SMIRNOV = 'KolmogorovSmirnov'#
SignificanceTest#

alias of FittingCriterion

fit(distribution)[source]#

Fit a probability distribution to the data.

Parameters:

distribution (DistributionName) -- The name of a probability distribution in the UQ library.

Returns:

The probability distribution fitted to the data.

Return type:

SPDistribution

default_fitting_criterion: ClassVar[FittingCriterion] = 'AndersonDarling'#

The names of the default fitting criterion.