fitters

pysatl_core.distributions.fitters.fit_pdf_to_cdf_1C(distribution, /, **kwargs)[source]

Fit cdf from an analytical or resolvable pdf via numerical integration.

Parameters:
  • distribution (Distribution)

  • kwargs (Any)

Returns:

Fitted pdf -> cdf conversion.

Return type:

FittedComputationMethod[float, float]

pysatl_core.distributions.fitters.fit_cdf_to_pdf_1C(distribution, /, **kwargs)[source]

Fit pdf as a clipped numerical derivative of cdf.

Parameters:
  • distribution (Distribution)

  • kwargs (Any)

Returns:

Fitted cdf -> pdf conversion.

Return type:

FittedComputationMethod[float, float]

pysatl_core.distributions.fitters.fit_cdf_to_ppf_1C(distribution, /, **options)[source]

Fit ppf from a resolvable cdf using a robust bracketing procedure.

Parameters:
  • distribution (Distribution)

  • options (Any)

Returns:

Fitted cdf -> ppf conversion.

Return type:

FittedComputationMethod[float, float]

pysatl_core.distributions.fitters.fit_ppf_to_cdf_1C(distribution, /, **_)[source]

Fit cdf by numerically inverting a resolvable ppf with a root solver.

Parameters:
  • distribution (Distribution)

  • _ (Any)

Returns:

Fitted ppf -> cdf conversion.

Return type:

FittedComputationMethod[float, float]

pysatl_core.distributions.fitters.fit_pmf_to_cdf_1D(distribution, /, **_)[source]

Build Characteristic.CDF from Characteristic.PMF on a discrete support by partial summation.

The behaviour depends on the kind of discrete support: :rtype: FittedComputationMethod[float, float]

  • For table-like supports and left-bounded integer lattices, the Characteristic.CDF is constructed as a prefix sum over all support points k <= x.

  • For right-bounded integer lattices (support extends to -inf), the Characteristic.CDF is computed via a tail sum:

    Characteristic.CDF(x) = 1 - sum_{k > x} pmf(k),

    which only involves finitely many points.

  • Two-sided infinite integer lattices are not supported by this fitter — a numerically truncated algorithm would require additional configuration and is left for future work.

Parameters:
Return type:

FittedComputationMethod[float, float]

pysatl_core.distributions.fitters.fit_cdf_to_pmf_1D(distribution, /, **_)[source]

Extract Characteristic.PMF from Characteristic.CDF on a discrete support as jump sizes.

Parameters:
  • distribution (Distribution) – Distribution exposing a discrete support on .support and a scalar cdf via the computation strategy.

  • _ (Any)

Returns:

Fitted cdf -> pmf conversion.

Return type:

FittedComputationMethod[float, float]

Raises:

RuntimeError – If the distribution does not expose a discrete support.

Notes

pmf(x) = cdf(x) - cdf(prev(x)), where prev(x) is the predecessor on the support (with cdf(prev) := 0 if no predecessor exists).

pysatl_core.distributions.fitters.fit_cdf_to_ppf_1D(distribution, /, **options)[source]

Fit discrete Characteristic.PPF from a resolvable Characteristic.CDF and explicit discrete support.

Semantics

For a given q [0, 1] returns the leftmost support point x such that Characteristic.CDF(x) q (step-quantile).

Requires

distribution.support : discrete support container (iterable or cursor-like).

type distribution:

pysatl_core.distributions.distribution.Distribution

param distribution:

type distribution:

Distribution

type **options:

Any

param **options:

Unused (kept for a uniform API with continuous fitters).

type **options:

Any

returns:

Fitted cdf -> ppf conversion for discrete 1D distributions.

rtype:

FittedComputationMethod[float, float]

Parameters:
Return type:

FittedComputationMethod[float, float]

pysatl_core.distributions.fitters.fit_ppf_to_cdf_1D(distribution, /, **options)[source]

Fit discrete Characteristic.CDF using only a resolvable Characteristic.PPF via bisection on q.

Semantics

Characteristic.CDF(x) = sup { q [0,1] : Characteristic.PPF(q) x }

We implement this as a monotone predicate on q:

f(q) := (Characteristic.PPF(q) x), and find the largest q with f(q) = True.

type distribution:

pysatl_core.distributions.distribution.Distribution

param distribution:

type distribution:

Distribution

type **options:

Any

param **options:

Optional tuning: - q_tol : float, default 1e-12 - max_iter : int, default 100

type **options:

Any

returns:

Fitted ppf -> cdf conversion for discrete 1D distributions.

rtype:

FittedComputationMethod[float, float]

Parameters:
Return type:

FittedComputationMethod[float, float]