Comment utiliser la distribution log-normale en Python



Vous pouvez utiliser la fonction lognorm() de la bibliothèque SciPy en Python pour générer une variable aléatoire qui suit une distribution log-normale.

Les exemples suivants montrent comment utiliser cette fonction dans la pratique.

Comment générer une distribution log-normale

Vous pouvez utiliser le code suivant pour générer une variable aléatoire qui suit une distribution log-normale avec μ = 1 et σ = 1 :

import math
import numpy as np
from scipy.stats import lognorm

#make this example reproducible
np.random.seed(1)

#generate log-normal distributed random variable with 1000 values
lognorm_values = lognorm.rvs(s=1, scale=math.exp(1), size=1000)

#view first five values
lognorm_values[:5]

array([13.79554017,  1.47438888,  1.60292205,  0.92963   ,  6.45856805])

Notez que dans la fonction lognorm.rvs() , s est l’écart type et la valeur dans math.exp() est la moyenne de la distribution log-normale que vous souhaitez générer.

Dans cet exemple, nous avons défini la moyenne comme étant 1 et l’écart type comme étant également 1 .

Comment tracer une distribution log-normale

Nous pouvons utiliser le code suivant pour créer un histogramme des valeurs de la variable aléatoire log-normalement distribuée que nous avons créée dans l’exemple précédent :

import matplotlib.pyplot as plt

#create histogram
plt.hist(lognorm_values, density=True, edgecolor='black')

Matplotlib utilise par défaut 10 bacs dans les histogrammes, mais nous pouvons facilement augmenter ce nombre en utilisant l’argument bins .

Par exemple, on peut augmenter le nombre de bacs à 20 :

import matplotlib.pyplot as plt

#create histogram
plt.hist(lognorm_values, density=True, edgecolor='black', bins=20)

distribution lognormale en Python

Plus le nombre de cases est grand, plus les barres seront étroites dans l’histogramme.

Connexe : Trois façons d’ajuster la taille du bac dans les histogrammes Matplotlib

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres distributions de probabilité en Python :

Comment utiliser la distribution de Poisson en Python
Comment utiliser la distribution exponentielle en Python
Comment utiliser la distribution uniforme en Python

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *