Como usar distribuição log-normal em python
Você pode usar a função lognorm() da biblioteca SciPy em Python para gerar uma variável aleatória que segue uma distribuição log-normal.
Os exemplos a seguir mostram como usar esta função na prática.
Como gerar uma distribuição lognormal
Você pode usar o código a seguir para gerar uma variável aleatória que segue uma distribuição log-normal com μ = 1 e σ = 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])
Observe que na função lognorm.rvs() , s é o desvio padrão e o valor em math.exp() é a média da distribuição lognormal que você deseja gerar.
Neste exemplo, definimos a média como 1 e o desvio padrão também como 1 .
Como traçar uma distribuição lognormal
Podemos usar o código a seguir para criar um histograma dos valores da variável aleatória com distribuição log-normal que criamos no exemplo anterior:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ')
O padrão do Matplotlib é 10 compartimentos em histogramas, mas podemos facilmente aumentar esse número usando o argumento bins .
Por exemplo, podemos aumentar o número de caixas para 20:
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
Quanto maior o número de caixas, mais estreitas serão as barras no histograma.
Relacionado: Três maneiras de ajustar o tamanho do compartimento em histogramas Matplotlib
Recursos adicionais
Os tutoriais a seguir explicam como usar outras distribuições de probabilidade em Python:
Como usar a distribuição Poisson em Python
Como usar distribuição exponencial em Python
Como usar distribuição uniforme em Python