Source code for climb.tool.impl.data_suite.third_party.copulas.univariate.gamma

import numpy as np
from climb.tool.impl.data_suite.third_party.copulas.univariate.base import BoundedType, ParametricType, ScipyModel
from scipy.stats import gamma


[docs] class GammaUnivariate(ScipyModel): """Wrapper around scipy.stats.gamma. Documentation: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.gamma.html """ PARAMETRIC = ParametricType.PARAMETRIC BOUNDED = BoundedType.SEMI_BOUNDED MODEL_CLASS = gamma def _fit_constant(self, X): self._params = { "a": 0.0, "loc": np.unique(X)[0], "scale": 0.0, } def _fit(self, X): a, loc, scale = gamma.fit(X) self._params = { "a": a, "loc": loc, "scale": scale, } def _is_constant(self): return self._params["scale"] == 0 def _extract_constant(self): return self._params["loc"]