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 ) 

Python의 로그 정규 분포

상자 수가 많을수록 히스토그램의 막대가 더 좁아집니다.

관련 항목: Matplotlib 히스토그램에서 Bin 크기를 조정하는 세 가지 방법

추가 리소스

다음 튜토리얼에서는 Python에서 다른 확률 분포를 사용하는 방법을 설명합니다.

Python에서 포아송 분포를 사용하는 방법
Python에서 지수 분포를 사용하는 방법
Python에서 균일 분포를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다