Come utilizzare la distribuzione log-normale in python
È possibile utilizzare la funzione lognorm() della libreria SciPy in Python per generare una variabile casuale che segue una distribuzione lognormale.
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Come generare una distribuzione lognormale
È possibile utilizzare il codice seguente per generare una variabile casuale che segue una distribuzione lognormale con μ = 1 e σ = 1:
import math
import numpy as np
from scipy. stats import lognorm
#make this example reproducible
n.p. 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])
Tieni presente che nella funzione lognorm.rvs() , s è la deviazione standard e il valore in math.exp() è la media della distribuzione lognormale che desideri generare.
In questo esempio, impostiamo la media su 1 e anche la deviazione standard su 1 .
Come tracciare una distribuzione lognormale
Possiamo utilizzare il seguente codice per creare un istogramma dei valori della variabile casuale con distribuzione lognormale che abbiamo creato nell’esempio precedente:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ')
Matplotlib ha per impostazione predefinita 10 contenitori negli istogrammi, ma possiamo facilmente aumentare questo numero utilizzando l’argomento bin .
Ad esempio, possiamo aumentare il numero di contenitori a 20:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
Maggiore è il numero di riquadri, più strette saranno le barre nell’istogramma.
Correlato: Tre modi per regolare la dimensione del contenitore negli istogrammi Matplotlib
Risorse addizionali
I seguenti tutorial spiegano come utilizzare altre distribuzioni di probabilità in Python:
Come utilizzare la distribuzione di Poisson in Python
Come utilizzare la distribuzione esponenziale in Python
Come utilizzare la distribuzione uniforme in Python