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 ) 

dystrybucja lognormalna w Pythonie

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *