Hoe log-normale distributie in python te gebruiken
U kunt de functie lognorm() van de SciPy- bibliotheek in Python gebruiken om een willekeurige variabele te genereren die een lognormale verdeling volgt.
De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken.
Hoe een lognormale verdeling te genereren
U kunt de volgende code gebruiken om een willekeurige variabele te genereren die een lognormale verdeling volgt met μ = 1 en σ = 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])
Merk op dat in de functie lognorm.rvs() s de standaarddeviatie is en dat de waarde in math.exp() het gemiddelde is van de lognormale verdeling die u wilt genereren.
In dit voorbeeld stellen we het gemiddelde in op 1 en de standaardafwijking ook op 1 .
Hoe een lognormale verdeling te plotten
We kunnen de volgende code gebruiken om een histogram te maken van de waarden van de log-normaal verdeelde willekeurige variabele die we in het vorige voorbeeld hebben gemaakt:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ')
Matplotlib is standaard ingesteld op 10 bins in histogrammen, maar we kunnen dit aantal eenvoudig verhogen met behulp van het bins- argument.
We kunnen het aantal bakken bijvoorbeeld verhogen naar 20:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
Hoe groter het aantal vakjes, hoe smaller de balken in het histogram zullen zijn.
Gerelateerd: Drie manieren om de opslaggrootte in Matplotlib-histogrammen aan te passen
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere kansverdelingen in Python kunt gebruiken:
Hoe de Poisson-distributie in Python te gebruiken
Hoe exponentiële distributie in Python te gebruiken
Hoe uniforme distributie in Python te gebruiken