Poisson distribution
Probability Mass Function
The probability mass function (PMF) of the Poisson distribution is given by:
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# Possible number of occurrences
k = np.arange(0, 20)
# We will calculate probabilities for different lambda values
lamb_list = [1,2,4,10]
# Calculate the probability mass function for each lambda
pmf_dict = {}
for lamb in lamb_list:
pmf_dict[lamb] = [stats.poisson.pmf(k_, lamb) for k_ in k]
fig, ax = plt.subplots(1,1, figsize=(4,3))
cmap = cmap_cbfp1
for i, lamb in enumerate(lamb_list):
ax.plot(k, pmf_dict[lamb], "o-", markersize=3, label=fr"$\lambda$={lamb}", color=cmap(i))
ax.set_title("", loc='left')
ax.set_xlabel("$k$")
ax.set_ylabel("Probability Mass")
ax.legend(loc='upper right', frameon=True)
fig.tight_layout()
plt.close()
Cumulative Distribution Function
The cumulative distribution function (CDF) of a random variable that follows Poisson distribution is:
# Calculate the cumulative distribution function for each lambda
cdf_dict = {}
for lamb in lamb_list:
cdf_dict[lamb] = [stats.poisson.cdf(k_, lamb) for k_ in k]
fig, ax = plt.subplots(1,1, figsize=(4,3))
cmap = cmap_cbfp1
for i, lamb in enumerate(lamb_list):
ax.plot(k, cdf_dict[lamb], "o-", markersize=3, label=fr"$\lambda$={lamb}", color=cmap(i))
ax.set_title("", loc='left')
ax.set_xlabel("$k$")
ax.set_ylabel("CDF")
ax.legend(loc='lower right', frameon=True)
fig.tight_layout()
plt.close()
Mean and Variance
The mean of a random variable that follows Poisson distribution is: