예제 #1
0
def binomial_plot(p, n):

    x_ax = [k for k in range(n)]
    y_ax = [dist.binomial_pdf(p, k, n) for k in range(n)]  # poisson distribution

    mp = pu.PlotUtilities("Binomial Distribution for p={0}".format(p), "# Successes", "Probability")
    mp.multiPlot(x_ax, [y_ax], 'o')
    def pdf(self, z):

        p_z = conditional_default_prob(self.rho, self.p, z)
        if self.usePoissonApprox:
            return dist.poisson_pdf(self.N * p_z, self.k)
        else:
            return dist.binomial_pdf(p_z, self.k, self.N)
예제 #3
0
def comparison_poi_binom(lam, upper_bound):

    n = upper_bound + 1
    x_ax = [k for k in range(n)]
    n_plots = 2  # plotting both poisson and binomial distribution
    y_ax = [0.] * n_plots
    y_ax[0] = [dist.poisson_pdf(lam, k) for k in range(n)]  # poisson distribution
    y_ax[1] = [dist.binomial_pdf(lam / n, k, n) for k in range(n)]

    mp = pu.PlotUtilities("Poisson Vs Binomial distribution for lambda={0}".format(lam), "# Successes", "Probability")
    mp.multiPlot(x_ax, y_ax, '*')
def conditional_binomial_prob(k, N, rho, p, z):

    p_z = conditional_default_prob(rho, p, z)
    return (dist.binomial_pdf(p_z, k, N))