def __init__(self, r, p): DiscreteDistribution.__init__(self, lambda k: Combinatorics.c(k - 1, r - 1) * p ** r * (1 - p) ** (k - r), r / p, r * (1 - p) / (p ** 2)) self.r = r self.p = p self.q = 1 - p
def __init__(self, N, M, n): DiscreteDistribution.__init__(self, lambda k: Combinatorics.c(M, k) * Combinatorics.c(N - M, n - k) / Combinatorics.c(N, n), n * M / N, n * M * (N - M) * (N - n) / (N ** 2 * (N - 1))) self.N = N self.M = M self.n = n
def __init__(self, n, p): DiscreteDistribution.__init__(self, lambda k: Combinatorics.c(n, k) * p ** k * (1 - p) ** (n - k), n * p, n * p * (1 - p)) self.n = n self.p = p self.q = 1 - p