2015-01-21 5 views
0

통계 나 numpy/scipy에 중요한 요점이 빠져 있습니다. 예상 값이 a decimal less than 1 인 포이 손 통계를 사용하여 임의의 숫자를 생성하려고합니다 (예 : lambda = 0.6). 나는이 pythonize 경우 :난수를 그리는 것은 정수만을 반환합니다

>>> from scipy.stats import poisson 
>>> import numpy as np 
>>> lambda = 0.6 
>>> poisson.rvs(lambda, size=10) 
>>> print r 
[2 2 0 0 0 2 1 0 0 2 ] 

>>> r = np.real(poisson.rvs(lambda, size=10)) 

을 시도하면 동일한 결과를 제공합니다.

왜 0과 1 사이의 십진수가 없습니까?

+1

입니다 @ Ffisegydd는 Poisson 분포에 대해 정확합니다. 제쳐두고, 당신은 이미'numpy'를 가져 왔기 때문에,'scipy.stats'도 필요 없습니다. 그냥'np.random.poisson (lambda, 10)'을 사용할 수 있습니다. 또한'lambda'를 변수 이름으로 사용하지 마십시오. 이것은 파이썬에서 키워드입니다. – CoryKramer

답변

5

포아송 분포는 discrete probability distribution입니다. 즉, 십진수가 아닌 정수 변형 만 얻을 수 있습니다.

참고 : 이것은 특정 변량과 관련된 확률 P가 정수 (소수 일 수 있음)를 의미하지 않으며, 개별 변량 자체는 정수 여야합니다.

+0

감사합니다. Poissonian (또는 Poissonian과 같은) 분포로 소수 변형을 구하는 대안을 알고 있습니까? –

+0

내가 아는 것은 아닙니다. [이 pdf] (http://ac.inf.elte.hu/Vol_039_2013/137_39.pdf)는 당신에게 흥미 있을지 모르지만, 수학은 꽤 무겁습니다. – Ffisegydd