한계 A, 모드 B 및 상한 C가있는 삼각형 확률 분포에서 생성 된 값을 매개 변수로 사용하는 시뮬레이션을 실행하고 싶습니다. 어떻게이 값을 파이썬에서 생성 할 수 있습니까? 이 배포판에 대한 expovariate (람다) (무작위로부터)와 같은 간단한 것이 있습니까, 아니면이 것을 코딩해야합니까?Python, SimPy : 삼각형 확률 분포에서 값을 생성하는 방법은 무엇입니까?
6
A
답변
6
NumPy 패키지를 다운로드하면 찾고자하는 것을 정확히 수행하는 numpy.random.triangular (left, mode, right [, size]) 함수가 있습니다.
4
나는이 놓친 내가 파이썬 2.4에서의 임의 문서를 확인하고, 이후 : 반환 ¶ 임의의 부동 소수점 수 (N) 등이 낮은 < = N을
random.triangular (저, 고, 모드)를 < = 높음이고 해당 범위 사이에 지정된 모드가 있습니다. 상한 및 하한은 기본적으로 0과 1입니다. 모드 인수의 기본값은 경계 사이의 중간 점이며 대칭 분포를 제공합니다. 버전 2.6의 새로운 기능.
2
배포판이 NumPy 또는 Python 표준 라이브러리에서 처리되지 않았다고 가정 해 보겠습니다.
성능이 그다지 중요하지 않은 상황에서 거절 샘플링은 자신이 가지고 있지 않은 배포판에서 가져 오는 데 유용한 해킹입니다. 당신의 삼각 분포를 들어
, 당신은 당신이 모든 것이 좋아 보인다 있는지 확인하려면 몇 가지 샘플
pylab.hist([random_triangular(1, 6, 5) for t in range(10000)])
을 플롯 할 수 있습니다
from random import random, uniform
def random_triangular(low, high, mode):
while True:
proposal = uniform(low, high)
if proposal < mode:
acceptance_prob = (proposal - low)/(mode - low)
else:
acceptance_prob = (high - proposal)/(high - mode)
if random() < acceptance_prob: break
return proposal
처럼 뭔가를 할 수 있습니다.
+0
좋은 범용 힌트! OP에있어서, 여기서의 아이디어는 균일 분포를 원하는 분포의 밀도와 연관시키는 것이다. –
관련 문제
- 1. C# : 이항 분포에서 수를 생성하는 수치 알고리즘
- 2. 무작위로 제로 팽창 분포에서 값을 선택 R
- 3. 확대 그래프의 X 값을 생성하는 방법은 무엇입니까?
- 4. 확률
- 5. 비 균일 확률 분포를 구현하는 방법은 무엇입니까?
- 6. 확률 견적서의 품질을 테스트하는 방법은 무엇입니까?
- 7. CUDA의 가우시안 분포에서 난수 생성하기
- 8. 주어진 분포에서 항목 선택
- 9. ZedGraph를 사용하여 삼각형 파를 그리는 방법은 무엇입니까?
- 10. Java로지도를 생성하는 방법은 무엇입니까?
- 11. PDF를 생성하는 방법은 무엇입니까?
- 12. 파이썬의 확률 적 미적분 라이브러리
- 13. Python 프로젝트를 문서화하는 방법은 무엇입니까?
- 14. 삼각형 경로의 곡선면?
- 15. 8 바이트 16 진수 값을 생성하는 방법은 무엇입니까?
- 16. 개체의 현재 값을 기반으로 생성자를 만드는 코드를 생성하는 방법은 무엇입니까?
- 17. ASP.NET 요청/초 성능 카운터의 값을 다시 생성하는 방법은 무엇입니까?
- 18. 여러 다른 값을 기반으로 문자열을 생성하는 방법은 무엇입니까?
- 19. Ruby : 동적 값을 사용하여 HTML을 생성하는 방법은 무엇입니까?
- 20. 앱 엔진에서 GUID를 생성하는 좋은 방법은 무엇입니까?
- 21. 분할 확률
- 22. SQLAlchemy 테이블에서 그래프와 통계를 생성하는 방법은 무엇입니까?
- 23. python for 루프에 대한 값을 전달하는 방법은 무엇입니까? ++ C/C에서
- 24. Python : 브라우저에서 계산 된 MD5 값을 표시하는 방법은 무엇입니까?
- 25. 코코아 삼각형
- 26. 다음되는 삼각형
- 27. VNC 암호를 생성하는 방법은 무엇입니까?
- 28. 사전에 색인을 생성하는 방법은 무엇입니까?
- 29. 동영상 초록을 생성하는 방법은 무엇입니까?
- 30. URL을 생성하는 표준 방법은 무엇입니까?
대부분의 사용 사례에서 허용되는 답변보다 나은 답변 일 수 있습니다. API가 NumPy와는 다른 순서를 갖는 것은 짜증나는 일입니다! –