2012-10-17 2 views
2

numpy/scipy를 사용하여 로그 정규 분포에서 난수를 만들려고합니다.높은 수치를 중심으로하는 로그 정규 난수

평균은 800

내가 numpy.random.lognormal를 사용하여 내 임의 valus을 만드는 경우 2000 시그마로 제공됩니다 (= 2,000 의미, 시그마 = 800, 크기 = 10000) 내가 얻을 모두 매우이다 높은 또는 inf 번호.

이 문제를 해결할 방법이 있습니까?

답변

5

주의 : meansigma 인수는 lognormal 배포판의 로그 배포에 해당합니다. 분포의 실제 산술 평균은 exp(mean + sigma**2/2)이고 mean=2000sigma=800 일 때 표준 배정도 부동 소수점에서 inf으로 평가됩니다.

http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.lognormal.html#numpy.random.lognormal 및 자세한 내용은 http://en.wikipedia.org/wiki/Log-normal_distribution 를 참조하십시오.

+0

내 평균과 시그마를 필요한 값으로 변환하는 쉬운 방법은 무엇입니까? –

+0

분포의 logmean은 알려져 있지만 근본적인 정규 분포의 평균이 필요합니다. –

+2

위키피디아 기사에는 전환 수가 있습니다 (http://en.wikipedia.org/wiki/Log-normal_distribution#Arithmetic_moments). 또한보십시오 : www.stanford.edu/~bkravitz/research/lognormal.pdf (수식 (3) - (6) 변환하기). –