Python에서 로그 정규 분포를 사용하는 방법
Python에서 SciPy 라이브러리의 lognorm() 함수를 사용하여 로그 정규 분포를 따르는 무작위 변수를 생성할 수 있습니다.
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
로그 정규 분포를 생성하는 방법
다음 코드를 사용하여 μ = 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개의 bin이지만 bins 인수를 사용하면 이 숫자를 쉽게 늘릴 수 있습니다.
예를 들어, Bin 수를 20개로 늘릴 수 있습니다.
import matplotlib. pyplot as plt #create histogram plt. hist (lognorm_values, density= True , edgecolor=' black ', bins= 20 )
상자 수가 많을수록 히스토그램의 막대가 더 좁아집니다.
관련 항목: Matplotlib 히스토그램에서 Bin 크기를 조정하는 세 가지 방법
추가 리소스
다음 튜토리얼에서는 Python에서 다른 확률 분포를 사용하는 방법을 설명합니다.
Python에서 포아송 분포를 사용하는 방법
Python에서 지수 분포를 사용하는 방법
Python에서 균일 분포를 사용하는 방법