def _logpdf(self, x, mu, sigma): # if has_theano: # r = tlogpmf(x, mu, sigma) # return r _sigma = 1 / sigma coeff = gamln(x + _sigma) - gamln(_sigma) - gamln(x + 1) return coeff - _sigma * np.log1p(mu * sigma) + x * np.log( mu) + x * np.log(sigma) - x * np.log1p(mu * sigma)
def _logpmf(self, k, M, n, N): tot, good = M, n bad = tot - good return ( gamln(good + 1) - gamln(good - k + 1) - gamln(k + 1) + gamln(bad + 1) - gamln(bad - N + k + 1) - gamln(N - k + 1) - gamln(tot + 1) + gamln(tot - N + 1) + gamln(N + 1) )
def poisson(self, x, mu): """ Poisson function taken from: https://github.com/scipy/scipy/blob/master/scipy/stats/_discrete_distns.py For license see documentation/BSDLicense_scipy.md Author: Travis Oliphant 2002-2011 with contributions from SciPy Developers 2004-2011 """ return np.exp(special.xlogy(x, mu) - gamln(x + 1) - mu)
def _logpmf(self, x, n, p): coeff = gamln(n + x) - gamln(x + 1) - gamln(n) return coeff + n * log(p) + special.xlog1py(x, -p)
def _logpmf(self, k, M, n, N): tot, good = M, n bad = tot - good return gamln(good+1) - gamln(good-k+1) - gamln(k+1) + gamln(bad+1) \ - gamln(bad-N+k+1) - gamln(N-k+1) - gamln(tot+1) + gamln(tot-N+1) \ + gamln(N+1)
def _logpmf(self, k, mu): Pk = k * log(mu) - gamln(k + 1) - mu return Pk
def _logpmf(self, x, n, p): coeff = gamln(n + x) - gamln(x + 1) - gamln(n) return coeff + n * log(p) + x * log(1 - p)
def _logpmf(self, x, n, p): k = floor(x) combiln = (gamln(n+1) - (gamln(k+1) + gamln(n-k+1))) return combiln + special.xlogy(k, p) + special.xlog1py(n-k, -p)
def _logpmf(self, k, mu): Pk = special.xlogy(k, mu) - gamln(k + 1) - mu return Pk
def trihypergeometric_logpmf(w, l, n, N_w, N_l, N): return gamln(N_w+1) - gamln(N_w-w+1) - gamln(w+1) \ + gamln(N_l+1) - gamln(N_l-l+1) - gamln(l+1) \ + gamln(N-N_w-N_l+1) - gamln(N-N_w-N_l-n+w+l+1) - gamln(n-w-l+1) \ - gamln(N+1) + gamln(N-n+1) + gamln(n+1)
def _logpdf(self, x, df): r = df * 1.0 lPx = gamln((r + 1) / 2) - gamln(r / 2) lPx -= 0.5 * log(r * pi) + (r + 1) / 2 * log(1 + (x ** 2) / r) return lPx
def _logpmf(self, k, mu): Pk = k*log(mu)-gamln(k+1) - mu return Pk
def _logpmf(self, x, n, p): coeff = gamln(n+x) - gamln(x+1) - gamln(n) return coeff + n*log(p) + x*log(1-p)
def chi2_pdf(x, df): return np.exp((df/2.-1)*np.log(x+1e-300) - x/2. - gamln(df/2.) - (np.log(2)*df)/2.)
def _logpmf(self, x, n, p): k = floor(x) combiln = (gamln(n + 1) - (gamln(k + 1) + gamln(n - k + 1))) return combiln + special.xlogy(k, p) + special.xlog1py(n - k, -p)
def _logpmf(self, x, n, p): coeff = gamln(n+x) - gamln(x+1) - gamln(n) return coeff + n*log(p) + special.xlog1py(x, -p)