주어진 확률에 따라 이벤트가 발생하거나 발생하지 않는 포아송 테스트 함수를 사용하고자합니다. p. 파이썬의 임의 모듈이 같은 뭔가를하지 않는 것, 따라서 나는 전원을 켜고 확률 페이지 일부 무작위로 Python의 무작위 테스트 모델
- 을 알아 냈어.
- 성공은 분모와 같은 정수 범위의 분자보다 작거나 같습니다.
하지만이 작업이 주어진 작업에 가장 효율적인 코드가 아니라고 생각합니다. 나는 또한 그것의 정확성에 대해서는 의문 스럽지만 그럼에도 불구하고 나는 random.randrange (int)이 균일 한 분포에 따라 작동한다고 생각한다.
def poisson_test(p):
'''Poisson test with two possible outcomes, where p is success probability'''
import fractions
import random
from decimal import Decimal
p = Decimal('{0}'.format(p))
p = fractions.Fraction(p)
if random.randrange(p.denominator) <= p.numerator :
return True
else:
return False
제안 사항 ???
감사합니다.
나는 당신이하려고하는 것을 재고 할 필요가 있다고 생각합니다. 푸 아송 분포는 프로세스에 지정된 발생 비율이있는 경우 고정 간격으로 0, 1, 2, ... 발생을 관찰 할 확률을 나타냅니다. 당신이 묘사 한 것은 포아송이 아닙니다. 고정 된 성공 확률로 두 가지 결과, 성공 또는 실패가있는 경우 Bernoulli 확률 변수가 있습니다. – pjs