Как использовать логнормальное распределение в Python

Как использовать логнормальное распределение в Python

Вы можете использовать функцию lognorm() из библиотеки SciPy в Python, чтобы сгенерировать случайную переменную, которая следует логарифмически нормальному распределению.

В следующих примерах показано, как использовать эту функцию на практике.

Как сгенерировать логнормальное распределение

Вы можете использовать следующий код для генерации случайной величины, которая соответствует логарифмически нормальному распределению с μ = 1 и σ = 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])

Обратите внимание, что в функции lognorm.rvs() s — это стандартное отклонение, а значение внутри math.exp() — это среднее значение логарифмически нормального распределения, которое вы хотите сгенерировать.

В этом примере мы определили среднее значение равным 1 , а стандартное отклонение также равно 1 .

Как построить логнормальное распределение

Мы можем использовать следующий код для создания гистограммы значений логарифмически нормально распределенной случайной величины, которую мы создали в предыдущем примере:

import matplotlib.pyplot as plt

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

Matplotlib по умолчанию использует 10 бинов в гистограммах, но мы можем легко увеличить это число, используя аргумент bins .

Например, мы можем увеличить количество бинов до 20:

import matplotlib.pyplot as plt

#create histogram
plt.hist (lognorm_values, density= True , edgecolor='black', bins= 20 ) 
логнормальное распределение в Python

Чем больше количество интервалов, тем более узкими будут столбцы на гистограмме.

Связанный: Три способа настроить размер интервала в гистограммах Matplotlib

Дополнительные ресурсы

В следующих руководствах объясняется, как работать с другими распределениями вероятностей в Python:

Как использовать распределение Пуассона в Python
Как использовать экспоненциальное распределение в Python
Как использовать равномерное распределение в Python

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.