Poisson distribution in python

  import numpy as np from scipy.stats import poisson import matplotlib.pyplot as plt import seaborn as sns

Example 1 generate Poisson-Distributed Random Variables Numpy

  lambda_value = 5 # mean number of occurrences (λ)
  size = 10 # number of samples to generate
  poisson_samples = np.random.poisson(lam=lambda_value, size=size)
  print(poisson_samples)

Example 2 generate Poisson-Distributed Random Variables Scipy

  poisson_samples_2 = poisson.rvs(mu=lambda_value, size=size, random_state=11)
  print(poisson_samples_2)
  poisson_samples_2.mean()
  poisson_samples_2.std()

Example 3 Calculating Poisson Probability Mass Function (PMF) Part 1

# is a function that gives the probability that a discrete random variable is exactly
#equal to a particular value. In other words, the PMF describes the distribution of a
#discrete random variable by mapping each possible outcome to its corresponding probability
  lambda_value = 5 # mean number of occurrences (λ)
  k = 3 # number of events
  # Calculate the probability of exactly k events given an average per year probability = poisson.pmf(k, lambda_value)
  print(probability)

#Example 4 Calculating Poisson Probability Mass Function (PMF) Part 2 #lam and mu are the same #array of values

  probability2 = poisson.pmf(poisson_samples, mu=lambda_value)
  print(probability2)

Example 5 Calculating Cumulative Distribution Function (CDF) - single point

  lambda_value = 5 # mean number of occurrences (λ)
  k = 3 # number of events
  cumulative_probability = poisson.cdf(k, lambda_value)
  print(cumulative_probability)

Example 6 Calculating Cumulative Distribution Function (CDF) - multiple

  cumulative_probability2 = poisson.cdf(poisson_samples, lambda_value)
  print(cumulative_probability2)

Example 7 Plotting a Poisson Distribution

  lambda_value = 5 # mean number of occurrences (λ)
  k_values = np.arange(0, 15) # range of k values
  pmf_values = poisson.pmf(k_values, lambda_value)
  plt.stem(k_values, pmf_values) plt.title(f"Poisson Distribution (λ = {lambda_value})") plt.xlabel('Number of Events (k)') plt.ylabel('Probability') plt.show()

Example 8 Histogram

lambda_value = 5 # mean number of occurrences (λ)
sample_size = 1000 # number of samples to generate
data = np.random.poisson(lambda_value, sample_size)

Â

# Create the histogram of counts
plt.hist(data, bins=np.arange(0, 16) – 0.5, edgecolor=’black’, alpha=0.7)
plt.title(f”Poisson Distribution (λ = {lambda_value}, Sample Size = {sample_size})”)
plt.xlabel(‘Number of Events (k)’)
plt.ylabel(‘Count’)
plt.xticks(np.arange(0, 15))
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 *