def cdf(self, value): k = jnp.floor(value) + 1 return gammaincc(k, self.rate)
def cdf(k, mu, loc=0): k, mu, loc = jnp._promote_args_inexact("poisson.logpmf", k, mu, loc) zero = jnp._constant_like(k, 0) x = lax.sub(k, loc) p = gammaincc(jnp.floor(1 + x), mu) return jnp.where(lax.lt(x, zero), zero, p)
def nLL_sep(x, uncens_obs, uncens_gammas, cens_obs, cens_gammas): a, scale = x uncens = jnp.dot(uncens_gammas, gamma.logpdf(uncens_obs, a=a, scale=scale)) cens = jnp.dot(cens_gammas, gammaincc(a, cens_obs / scale)) return -1 * (uncens + cens)