Як використовувати лог-нормальний розподіл у python
Ви можете використовувати функцію lognorm() бібліотеки SciPy у Python для генерації випадкової змінної, яка відповідає логарифмічному нормальному розподілу.
Наступні приклади показують, як використовувати цю функцію на практиці.
Як створити логнормальний розподіл
Ви можете використовувати наступний код для генерації випадкової змінної, яка відповідає логарифмічному нормальному розподілу з μ = 1 і σ = 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])
Зауважте, що у функції 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 )
Чим більше квадратів, тим вужчими будуть стовпчики на гістограмі.
Пов’язане: три способи налаштування розміру ящика в гістограмах Matplotlib
Додаткові ресурси
У наступних посібниках пояснюється, як використовувати інші розподіли ймовірностей у Python:
Як використовувати розподіл Пуассона в Python
Як використовувати експоненціальний розподіл у Python
Як використовувати рівномірний розподіл у Python