Jak korzystać z rozkładu logarytmiczno-normalnego w pythonie
Możesz użyć funkcji lognorm() biblioteki SciPy w Pythonie, aby wygenerować zmienną losową o rozkładzie logarytmiczno-normalnym.
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję.
Jak wygenerować rozkład lognormalny
Możesz użyć poniższego kodu, aby wygenerować zmienną losową o rozkładzie logarytmiczno-normalnym z μ = 1 i σ = 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])
Należy zauważyć, że w funkcji lognorm.rvs() s jest odchyleniem standardowym, a wartość w funkcji math.exp() jest średnią rozkładu lognormalnego, który chcesz wygenerować.
W tym przykładzie ustaliliśmy, że średnia wynosi 1 , a odchylenie standardowe również wynosi 1 .
Jak wykreślić rozkład lognormalny
Możemy użyć poniższego kodu, aby utworzyć histogram wartości zmiennej losowej o rozkładzie logarytmiczno-normalnym, którą utworzyliśmy w poprzednim przykładzie:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ')
Matplotlib domyślnie ustawia w histogramach 10 pojemników, ale możemy łatwo zwiększyć tę liczbę za pomocą argumentu bins .
Przykładowo możemy zwiększyć liczbę pojemników do 20:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
Im większa liczba prostokątów, tym węższe będą słupki na histogramie.
Powiązane: Trzy sposoby dostosowywania rozmiaru pojemnika w histogramach Matplotlib
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak używać innych rozkładów prawdopodobieństwa w Pythonie:
Jak korzystać z rozkładu Poissona w Pythonie
Jak korzystać z rozkładu wykładniczego w Pythonie
Jak korzystać z jednolitej dystrybucji w Pythonie