Loi de Poisson

Lynxoria · December 04, 2023
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson

###1###

# données

lmbda = 2  
Nmc = 10000  
a, b = 0, 10 
delta = 0.1  
Nx = 100  
poisson_data = np.random.poisson(lmbda, Nmc)

# fonction densité

x_cdf = np.arange(a, b + delta, delta)
y_cdf = np.array([np.sum(poisson_data <= xi) / Nmc for xi in x_cdf])

plt.figure(figsize=(10, 6))
plt.plot(x_cdf, y_cdf, label='CDF de Poisson')
plt.title('Fonction de Répartition de Poisson')
plt.xlabel('Valeur')
plt.ylabel('Probabilité')
plt.legend()
plt.grid(True)
plt.show()

# fonction densité

x_pdf = np.arange(a, b + delta, delta)
y_pdf = poisson.pmf(x_pdf, lmbda)

plt.figure(figsize=(10, 6))
plt.bar(x_pdf, y_pdf, width=delta, label='PDF de Poisson', alpha=0.7)
plt.title('Fonction de Densité de Poisson')
plt.xlabel('Valeur')
plt.ylabel('Probabilité')
plt.legend()
plt.grid(True)
plt.show()

###2###

# données

lmbda = 4  
Nmc = 10000 
a, b = 0, 15  
delta_cdf = 0.15  
Nx_cdf = 100  
delta_pdf = 1 
Nx_pdf = 15 

# Simulation de la variable aléatoire de Poisson

poisson_data = np.random.poisson(lmbda, Nmc)

# fonction de répartition 
x_cdf = np.arange(a, b + delta_cdf, delta_cdf)
y_cdf = np.array([np.sum(poisson_data <= xi) / Nmc for xi in x_cdf])

plt.figure(figsize=(10, 6))
plt.step(x_cdf, y_cdf, where='post', label='CDF de Poisson')
plt.title('Fonction de Répartition de Poisson')
plt.xlabel('Valeur')
plt.ylabel('Probabilité')
plt.legend()
plt.grid(True)
plt.show()

# fonction de densité 
x_pdf = np.arange(a, b + delta_pdf, delta_pdf)
y_pdf = poisson.pmf(x_pdf, lmbda)

plt.figure(figsize=(10, 6))
plt.bar(x_pdf, y_pdf, width=delta_pdf, label='PDF de Poisson', alpha=0.7)
plt.title('Fonction de Densité de Poisson')
plt.xlabel('Valeur')
plt.ylabel('Probabilité')
plt.legend()
plt.grid(True)

###3###

# données
lmbda_poisson = 50
Nmc_poisson = 10000
a_poisson, b_poisson = 0, 200
delta_cdf_poisson = 2
Nx_cdf_poisson = 100
delta_pdf_poisson = 1
Nx_pdf_poisson = 200

# Simulation de la variable aléatoire de Poisson
poisson_data = np.random.poisson(lmbda_poisson, Nmc_poisson)

# fonction de répartition 
x_cdf_poisson = np.arange(a_poisson, b_poisson + delta_cdf_poisson, delta_cdf_poisson)
y_cdf_poisson = np.array([np.sum(poisson_data <= xi) / Nmc_poisson for xi in x_cdf_poisson])

plt.figure(figsize=(10, 6))
plt.step(x_cdf_poisson, y_cdf_poisson, where='post', label='CDF de Poisson')
plt.title('Fonction de Répartition de Poisson')
plt.xlabel('Valeur')
plt.ylabel('Probabilité')
plt.legend()
plt.grid(True)
plt.show()

# fonction de densité
x_pdf_poisson = np.arange(a_poisson, b_poisson + delta_pdf_poisson, delta_pdf_poisson)
y_pdf_poisson = poisson.pmf(x_pdf_poisson, lmbda_poisson)

plt.figure(figsize=(10, 6))
plt.bar(x_pdf_poisson, y_pdf_poisson, width=delta_pdf_poisson, label='PDF de Poisson', alpha=0.7)
plt.title('Fonction de Densité de Poisson')
plt.xlabel('Valeur')
plt.ylabel('Probabilité')
plt.legend()
plt.grid(True)
plt.show()
Output

Comments

Please sign up or log in to contribute to the discussion.