Binomial distribution python

#sns.distplot hist=True
#To do Mean, Variance, STD
#probabiliy of less or equal to K Occurences
				
					import numpy as np
from scipy.stats import binom
import matplotlib.pyplot as plt
import seaborn as sns
				
			
				
					np.random.seed(12)
				
			

#Exmaple 1 Creation in Numpy (YouTube Subscribers)

				
					# Parameters for Bernoulli distribution
p_success_subs = 0.025  # Probability of success
				
			
				
					size_videos = 100  # Number of individual trials (videos)
				
			
				
					# Use np.random.binomial with n=1 to simulate Bernoulli trials
numpy_samples = np.random.binomial(n=1, p=p_success_subs, size=size_videos)
				
			
				
					print(numpy_samples)
				
			

Example 2 Creation in Scipy Coin Flip

				
					p_success_coin = 0.5  # Probability of success
				
			
				
					size_coin_flips = 25  # Number of experiments
				
			
				
					scipy_samples = bernoulli.rvs(p=p_success_coin, size=size_coin_flips)
				
			
				
					print(scipy_samples)
				
			

Example 3 Calculate PMF

#Probability of Exaxtyl K Occurences
#n= sample size
#k = number of SUCCESS
#p = probability

				
					#25 Heads
binom.pmf(n=n_trials_coin, k=25, p=p_success_coin)
				
			

Example 4 Calculate CDF

#Probability of less of equal than k occurences

				
					#30 Subs or less
binom.cdf(n=n_trials_subs, k=30, p=p_success_subs)
				
			
				
					#25 Heads or less
#half of the distribution lies below 25, and the exact probability of getting exactly
#25 successes adds slightly more to reach about 55%
binom.cdf(n=n_trials_coin, k=25, p=p_success_coin)
				
			

Example 5 Plotting Coin Histogram

				
					# Plotting the histogram of the sampled data
plt.figure(figsize=(8, 6))
plt.hist(scipy_samples, bins=10, color='skyblue', edgecolor='black')
plt.title('Histogram of Sampled Data')
plt.xlabel('Number of Successes')
plt.ylabel('Frequency')
plt.show()
				
			

Example 6 Plotting Coin PMF

				
					# Plotting the Probability Mass Function (PMF)
x = np.arange(0, n_trials_coin + 1)
pmf = binom.pmf(x, n=n_trials_coin, p=p_success_coin)

plt.figure(figsize=(8, 6))
plt.stem(x, pmf, use_line_collection=True)
plt.title('Probability Mass Function (PMF)')
plt.xlabel('Number of Successes')
plt.ylabel('Probability')
plt.show()
				
			

Example 7 Plotting Coin CDF

				
					p_success_coin = 0.5  # Probability of success
n_trials_coin = 50  # Number of trials

# Plotting the Cumulative Distribution Function (CDF)
x = np.arange(0, n_trials_coin + 1)
cdf = binom.cdf(x, n=n_trials_coin, p=p_success_coin)

plt.figure(figsize=(8, 6))
plt.plot(x, cdf, 'b-', lw=2)
plt.title('Cumulative Distribution Function (CDF)')
plt.xlabel('Number of Successes')
plt.ylabel('Cumulative Probability')
plt.show()
				
			

Ryan is a Data Scientist at a fintech company, where he focuses on fraud prevention in underwriting and risk. Before that, he worked as a Data Analyst at a tax software company. He holds a degree in Electrical Engineering from UCF.

Leave a Reply

Your email address will not be published. Required fields are marked *